This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[libstdc++] new autotools and cleanup: cutover


The ChangeLog entry is below, the patch is attached.  It's probably easier
to just read the new files directly, though.


Changes made by me during the conversion:

If --enable-clocale wasn't given, we went with generic (and reported "yes"
as the model) directly, without ever going through the OS probe.  Now we do.

DEBUG_FLAGS is ignored if we aren't building a debug library.  So there's
no reason to especially test for debug and set DEBUG_FLAGS to empty.
Just take the "none" case, pass those flags as the default.  They'll get set
in the makefile, and if we aren't building a debug lib, *shrug* who cares?
The debug stuff will likely all get reworked by Doug and Benjamin in a
few days anyhow.

The build dir's include tree (including PCH if active) is built as part of
running configure (a request from aoliva).  So, C++ programs elsewhere in
the tree should be able to simply -I the build tree's include directory,
and successfully use standard entities which exist completely in headers.

toplevel_srcdir will be an absolute path.

We no longer use "cygnus" mode for automake.  This is slowly being deprecated
by automake (basically, it relaxes a lot of restrictions, which opens up
problems).  There are only two actual differences between "cygnus" and the
new combination of settings:

  1)  We generate useless rules for rolling our own distribution package.
      1.7.7 will let us turn this off.

  2)  testsuite/Makefile used to search for 'expect' and 'runtest' in the
      source tree (up and over).  Since DejaGNU no longer lives in the gcc
      nor src repos, there's not much point to this.

      If you had tcl in the build tree (which I do, but not for dejagnu),
      then it would be used in preference to the system Tcl.  The version
      of Tcl required by DG is quite common, and the GCC instructions
      already mention the Tcl requirement.  Not searching in the build tree
      will not be a problem.

(Vendors who actually build a combined tree containing both libstdc++ and
tcl/expect/dejagnu can use "automake --cygnus" to regen the old way.)


Other changes brought about simply from the new tools, i.e., not made by me:

- We now prefer gawk over mawk.  This is unfortunate, as gawk is usually
  slower than mawk.  We use little awk, though.

- "checking for <tool>" has become "checking for <target>-<tool>", just FYI.

- no more "checking for dlfcn.h",
          "whether a program can dlopen itself"

- cross builds to mips-elf uses generic cpu and os.  Is this actually a
  change?  I don't recall.

- we're checking for more things during "clocale" tests.  Just FYI.

- "checking for egrep... (cached) grep -E", and we have an @EGREP@ in all
  the makefiles now.  No idea what's adding that, but hey, grep is good.



2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	Convert to new autotools.
	* acconfig.h:  Update with correct names.
	* configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
	(qnx6.[12]*):  'q' comes before 's', not after 'w'.
	* configure.in:  Update.  Split hardcoded cross-configury settings
	out to...
	* crossconfig.m4:  ...here.  New file.  Contents untouched.
	* acinclude.m4:  Reorganize and rewrite as needed.  Split large
	chunks out to...
	* linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
	Contents untouched.
	* scripts/testsuite_flags.in:  Update.

	* Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
	variables (already generated by automake).
	* include/Makefile.am:  Ditto.
	* libmath/Makefile.am:  Ditto.
	* libsupc++/Makefile.am:  Ditto.
	* po/Makefile.am:  Ditto.
	* src/Makefile.am:  Ditto.

	* aclocal.m4:  Regenerate using new versions.
	* config.h.in:  Ditto.
	* configure:  Ditto.
	* Makefile.in:  Ditto.
	* include/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* po/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.
	* testsuite/Makefile.in:  Ditto.

Attachment: autotools.patch.bz2
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]