Folks,

Trying to scratch a personal itch tonight. I'd like to build my checked out tree against a checkout of {apr,apu}, which sit somewhere else on my system. As far as I can tell, this is currently not possible. I tried to point buildconf to my working copies: it borks. The following patch to buildconf (also attached) unborks:

Index: buildconf
===================================================================
--- buildconf    (revision 280240)
+++ buildconf    (working copy)
@@ -128,22 +128,22 @@
cross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
-if [ -d srclib/apr ]; then
+if [ -d ${apr_src_dir} ]; then
     echo rebuilding $apr_configure
-    (cd srclib/apr && ./buildconf) || {
+    (cd ${apr_src_dir} && ./buildconf) || {
         echo "./buildconf failed for apr"
         exit 1
     }
-    rm -f srclib/apr/apr.spec
+    rm -f ${apr_src_dir}/apr.spec
fi
-if [ -d srclib/apr-util ]; then
+if [ -d ${apu_src_dir} ]; then
     echo rebuilding $aprutil_configure
-    (cd srclib/apr-util && ./buildconf) || {
+    (cd ${apu_src_dir} && ./buildconf --with-apr=${apr_src_dir}) || {
         echo "./buildconf failed for apr-util"
         exit 1
     }
-    rm -f srclib/apr-util/apr-util.spec
+    rm -f ${apu_src_dir}/apr-util.spec
fi
echo copying build files

I'm simply removing the hardcoded references to srclib/ap{r,u}. However, this is only part of the fix: httpd's configure also needs to know where to find apr and apu. Perhaps there's more, deeper down. I have to meditate on my m4-fu before I attempt this, but first I'd like to run the use cases by the community. Yes, that's you.

Where could APR and APR-Util be?

1) In-tree. This is the case for released tarballs.
   srclib/apr
   srclib/apr-util
   Builder may still want to override.

2) Installed on the system. Httpd should not depend on in-tree APR or
   APR-Util at any level. The buildconf script of httpd should
   gracefully deal with absence of in-tree APR and APR-Util. Httpd's
   ./configure has to point to APR and APR-Util, or find in
   usual location (/usr/local/apr, /usr/local, /usr, ...)

3) Unbuilt source tree in arbitrary directory. These have valid
   ./configure scripts. Httpd's ./configure has to point to APR and
   APR-Util and roll with it.

4) Checked out tree in arbitary directory. Httpd's buildconf script
   should point to APR and APR-Util source trees and run their
   buildconf scripts. Resulting httpd ./configure should inherit APR
   and APR-Util locations.

5) ...

Please comment/embellish.

Thanks,

S.

--
[EMAIL PROTECTED]              http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF

Attachment: buildconf.patch
Description: Binary data


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to