then strangely the -lcrypto and -lssl checks report success *yet* they do not find their way into the linker flags (so apache fails to link after compiling). I can only imagine 2 reasons for this; either my restoring of LIBS to its original form obliterates the result of the AC_CHECK_LIB() macros, or the fact the linker flags that -lcrypto and -lssl depend have disappeared (and didn't occur in AC_CHECK_LIB() form) mean that autoconf does away with -lcrypto and -lssl some point later. I suspect the former as the latter seems just too weird a possibility.
Yes, the former is what I would expect as well. I would add a third clause to your AC_CHECK_LIB which appends -lLIBRARY to saved_LIBS. Hmm. I wonder where saved_LIBS will end up in relationship to AP_LIBS. Ah, it seems that EXTRA_LIBS will be before AP_LIBS - Solaris and other one-pass linkers should be happy.
weren't being used. Can I assume then that I'm right to parrot the existing code's production of the additional LDFLAGS entry if that flag is set?
Yup.
selective familiarity with. :-) Anyway, following your comments, I noticed that declaring the symbols in the top-level acconfig.h and running "./buildconf" eventually propogating those values into ap_config_auto.h.in and everything works. I'm happy with that, is it what you had in mind?
Yup.
Yeah, but I'm leaving it like this while hashing out the patch details because it makes the diff readable (if you remove the old version and produce a diff, you'll see what I mean).
True. But, when it gets time to submit a final version of your patch, we need the real version. =)
I'm all for it, but would rather not guess as to the preferred mechanism for slurping that text out of the header file (especially as we're not supposed to assume anything about its location). I imagine the proper way is to have a compile test spit the string out and then capture it somehow. No doubt an autoconf-guru knows the relevant macro trick, but on my own I'm more likely to wildly overcomplicate this code and bring in portability problems. Unless someone tells me the Apache-Approved(tm) way to do this, I'd rather just leave the comment there to guide someone else if they feel so moved afterwards.
ap_ssltk_version="`$p/openssl version`"
I kinda like that approach (i.e. what we're currently doing...).
If you want to be cute, you could do something with AC_EGREP_HEADER, but I'm not totally clear what the syntax would be.
- Seeing as CPPFLAGS seems ideal for header *and* compilation checks, is INCLUDES still the appropriate place to APR_ADDTO() any required include path once the tests are done?
Yeah, I thought about that after I sent my original message. We really should be adding the -I's to INCLUDES. But, autoconf will only temporarily use CPPFLAGS, so we should add to CPPFLAGS for the header checks, then if it works, add it to INCLUDES (which gets morphed to EXTRA_INCLUDES later on). Our build system should use INCLUDES properly. -- justin