Re: svn commit: r730717 - /httpd/httpd/trunk/modules/session/config.m4

2009-01-03 Thread Graham Leggett

rj...@apache.org wrote:


URL: http://svn.apache.org/viewvc?rev=730717view=rev
Log:
Add a header check for apr_ssl.h to mod_session_crypto.

The modules needs the header which is at the moment
only part of the ssl-evp branch of APR.


I have just finished updating session_crypto to depend on the 
apr_crypto.h API instead of the deprecated apr_ssl.h API, however the 
check below, once changed to apr_crypto.h, doesn't seem to detect the 
header properly.


Can you verify whether this works for you against apr_crypto.h?

Regards,
Graham
--


smime.p7s
Description: S/MIME Cryptographic Signature


Re: svn commit: r730717 - /httpd/httpd/trunk/modules/session/config.m4

2009-01-03 Thread Rainer Jung

On 03.01.2009 16:02, Graham Leggett wrote:

rj...@apache.org wrote:


URL: http://svn.apache.org/viewvc?rev=730717view=rev
Log:
Add a header check for apr_ssl.h to mod_session_crypto.

The modules needs the header which is at the moment
only part of the ssl-evp branch of APR.


I have just finished updating session_crypto to depend on the
apr_crypto.h API instead of the deprecated apr_ssl.h API, however the
check below, once changed to apr_crypto.h, doesn't seem to detect the
header properly.

Can you verify whether this works for you against apr_crypto.h?


I see, I forgot to add the APR and APU include paths to CPPFLAGS before 
testing the header. Autoconf does not only look for the file, it also 
processes it via CPP and compiles it.


I tested it now with apr_ssl.h and apr_crypto.h. The following change 
should do it for you:


1) Cleanup of apu_errno.h
-

--- apu_errno.h 2009-01-03 16:52:53.0 +0100
+++ apu_errno.h 2009-01-03 16:49:53.0 +0100
@@ -22,8 +22,8 @@
  * @brief APR-Util Error Codes
  */

-#include apr.h
-#include apr_errno.h
+#include apr.h
+#include apr_errno.h

 #ifdef __cplusplus
 extern C {

2) Changing the feature test


--- modules/session/config.m4   (revision 730878)
+++ modules/session/config.m4   (working copy)
@@ -18,8 +18,11 @@
 APACHE_MODULE(session, session module, , , most)
 APACHE_MODULE(session_cookie, session cookie module, , , 
$session_mods_enable)

 APACHE_MODULE(session_crypto, session crypto module, , , no, [
-  AC_CHECK_HEADERS(apr_ssl.h, [ap_HAVE_APR_SSL_H=yes], 
[ap_HAVE_APR_SSL_H=no])

-  if test $ap_HAVE_APR_SSL_H = no; then
+  saved_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS=$CPPFLAGS -I$APR_INCLUDEDIR -I$APU_INCLUDEDIR
+  AC_CHECK_HEADERS(apr_crypto.h, [ap_HAVE_APR_CRYPTO=yes], 
[ap_HAVE_APR_CRYPTO=no])

+  CPPFLAGS=$saved_CPPFLAGS
+  if test $ap_HAVE_APR_CRYPTO = no; then
 AC_MSG_WARN([Your APR does not include SSL/EVP support.])
 enable_session_crypto=no
   fi

As you can see I switched to apr_crypto.h, but also added paths 
temporarily to CPPFLAGS.


3) Resulting changes to configure
-

The resulting changes to configure are:

--- configure.kpdt_orig 2009-01-03 13:59:32.0 +0100
+++ configure   2009-01-03 16:58:24.0 +0100
@@ -18946,8 +18946,10 @@
 { echo $as_me:$LINENO: result: checking dependencies 5
 echo ${ECHO_T}checking dependencies 6; }

+  saved_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS=$CPPFLAGS -I$APR_INCLUDEDIR -I$APU_INCLUDEDIR

-for ac_header in apr_ssl.h
+for ac_header in apr_crypto.h
 do
 as_ac_Header=`echo ac_cv_header_$ac_header | $as_tr_sh`
 if { as_var=$as_ac_Header; eval test \\${$as_var+set}\ = set; }; then
@@ -19081,14 +19083,15 @@
   cat confdefs.h _ACEOF
 #define `echo HAVE_$ac_header | $as_tr_cpp` 1
 _ACEOF
- ap_HAVE_APR_SSL_H=yes
+ ap_HAVE_APR_CRYPTO=yes
 else
-  ap_HAVE_APR_SSL_H=no
+  ap_HAVE_APR_CRYPTO=no
 fi

 done

-  if test $ap_HAVE_APR_SSL_H = no; then
+  CPPFLAGS=$saved_CPPFLAGS
+  if test $ap_HAVE_APR_CRYPTO = no; then
 { echo $as_me:$LINENO: WARNING: Your APR does not include SSL/EVP 
support. 5

 echo $as_me: WARNING: Your APR does not include SSL/EVP support. 2;}
 enable_session_crypto=no


If the feature test worked for your with apr_ssl.h, then it's possible, 
that you can fix it with 1). I will apply 2), because that's cleaner, 
but you might nevertheless add 1) to apr-util.


If it doesn't work for you, look inside config.log. You'll find some 
more info there, which part of the test failed, and why.


Regards,

Rainer