apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roy T. Fielding" <field...@ebuilt.com>
Subject Re: build blues
Date Tue, 13 Feb 2001 07:30:47 GMT
Just a heads-up.  I am still working on simplifying the build scripts.
More changes are required for httpd than anything else, though I'd also
like to streamline, name-protect, and make consistent the apr stuff.

This is taking a lot longer than expected because the current setup
has coupling among 50 or so different files and I have to backtrace
each of the macros just to figure out what is safe to change.

This is what I have already done in my local copy:

   * removed the need for httpd build.mk, build2.mk, bsd_makefile, ...
     using the same technique as apr (i.e., rules.mk.in)

   * created apr/build (to eventually replace apr/helpers) and
     moved all the hard checks into apr.

   * standardized on ./buildconf.sh and ./build/

   * merged apr-conf.m4 and apr_common.m4 into build/acinclude.m4
     and name-protected all of the macro names
     -- have not yet name-protected the variables within the macros

   * removed some unused macros

   * moved the REENTRANCY_FLAGS settings into hints.m4
     -- this is actually a bug in the current process
     -- we need to define these flags even if apr is --disable-pthreads,
        since they affect how errno is interpreted and the current
        library relies on apr being consistent with apr's clients.
        httpd always defines these flags for the same reason.

   * added MKEXPORT, MKDEP, and SCANDOC substitutions to rules.mk.in
     so that the Makefile.in files never need to know the paths.

   * libtoolize --automake --copy --force
     [the only way we ever want to call libtoolize]

All of the above is done for apr and it is building fine.  What I still
need to do is

   * make each "top-most" buildconf.sh set up the subdirectory configures
     directly with autoheader and autoconf, rather than running each of
     their buildconf.sh scripts.  This will remove most of the redundant
     libtool and configure checks, force the whole tree to be built with a
     consistent set of flags, and allow each independent tree's buildconf.sh
     to be specialized for standalone builds of that tree.

   * make apr-util build upon what was generated by apr configure
     -- easy, since Greg mostly set it up like this already

   * make httpd build upon what was generated by apr-util + apr

   * modify all of the Makefile.in files to use the new @VARS@

And, after the rest is done and committed, maybe

   * make it possible to build static without libtool

   * fix dependencies so that they are created by configure


View raw message