PATCH: Fix recent make-compatibility regression in libstdc++-v3
Loren James Rittle
rittle@latour.rsch.comm.mot.com
Wed Jun 5 19:30:00 GMT 2002
Hi Phil,
Recently, a change in the generated libstdc++-v3/src/Makefile.in and
libstdc++-v3/testsuite/Makefile.in crept in. (This is directed at you
since you accidentally allowed the actual creep and since you do most
of the libstdc++-v3 Makefile hacking and thus also care about it. ;-)
In particular, it was a GNU make-ism regarding the include keyword.
Now, if I regenerate Makefile.in on my local system; sure enough, it
continues to include that line.
It appears that we changed the option in this rule from --cygnus to
--gnits during the -r1.150 checkin:
$(srcdir)/Makefile.in: # Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile
Was this intended? (FYI, if we intend to keep this change, then we
need to inform the SC that libstdc++-v3 will no longer build with BSD
make. I make no value judgment on this change, just that we need to
avoid the situation where we swear it works even when it doesn't.)
I assume not and I see how this could have happened. In Makefile.am
(within src, include and testsuite only), we had gnits or foreign in
AUTOMAKE_OPTIONS. It is cygnus in all other Makefile.am files within
libstdc++-v3. Until a few days ago, --cygnus was in all rules in
Makefile.in files no matter what was in the related Makefile.am file.
To avoid this issue in the future, I propose that they should all be
the same. Oddly enough, the --gnits option has never crept into
include/Makefile.in even though it has the same AUTOMAKE_OPTIONS
setting in its related Makefile.am.
Agreed?
Regards,
Loren
* src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
* include/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
* src/Makefile.in: Regenerate (explicitly with --cygnus option).
* testsuite/Makefile.in: Likewise.
Index: include/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/Makefile.am,v
retrieving revision 1.35
diff -c -r1.35 Makefile.am
*** include/Makefile.am 30 Apr 2002 19:04:36 -0000 1.35
--- include/Makefile.am 6 Jun 2002 01:51:37 -0000
***************
*** 21,27 ****
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
--- 21,27 ----
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.107
diff -c -r1.107 Makefile.am
*** src/Makefile.am 3 Jun 2002 04:45:03 -0000 1.107
--- src/Makefile.am 6 Jun 2002 01:51:37 -0000
***************
*** 22,28 ****
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = 1.3 gnits
MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
--- 22,28 ----
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
Index: testsuite/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/Makefile.am,v
retrieving revision 1.5
diff -c -r1.5 Makefile.am
*** testsuite/Makefile.am 28 May 2002 23:15:12 -0000 1.5
--- testsuite/Makefile.am 6 Jun 2002 02:18:31 -0000
***************
*** 21,27 ****
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = foreign dejagnu
DEJATOOL = libstdc++-v3
--- 21,27 ----
## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
## USA.
! AUTOMAKE_OPTIONS = cygnus dejagnu
DEJATOOL = libstdc++-v3
More information about the Libstdc++
mailing list