You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Greg Stein <gs...@lyra.org> on 2001/11/08 08:52:02 UTC

Re: cvs commit: httpd-2.0/modules/ssl config.m4

On Wed, Nov 07, 2001 at 07:42:07PM -0000, aaron@apache.org wrote:
> aaron       01/11/07 11:42:07
> 
>   Modified:    modules/ssl config.m4
>   Log:
>   Gets mod_ssl building/loading as a DSO on some platforms (like HPUX).
>...
>   --- config.m4	2001/05/10 01:47:47	1.5
>   +++ config.m4	2001/11/07 19:42:07	1.6
>   @@ -77,7 +77,7 @@
>    ssl_util_table.lo dnl
>    "
>    dnl #  hook module into the Autoconf mechanism (--enable-ssl option)
>   -APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , no, [
>   +APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], [$ssl_objs \$(EXTRA_LIBS)], , no, [

Huh?? Why aren't the libraries linked into the module? Why does it need to
be specified explicitly?

To me, it seems like the correct fix is to put the EXTRA_LIBS on the link
line... not on each of the modules that might *happen* to require libraries.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: cvs commit: httpd-2.0/modules/ssl config.m4

Posted by Aaron Bannert <aa...@clove.org>.
On Wed, Nov 07, 2001 at 11:52:02PM -0800, Greg Stein wrote:
> >   -APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], $ssl_objs, , no, [
> >   +APACHE_MODULE(ssl, [SSL/TLS support (mod_ssl)], [$ssl_objs \$(EXTRA_LIBS)], , no, [
> 
> Huh?? Why aren't the libraries linked into the module? Why does it need to
> be specified explicitly?

If we don't explicitly the libs we can't use mod_ssl as a DSO. (It'll
link, but it will be unable to find symbols at loadtime.)

> To me, it seems like the correct fix is to put the EXTRA_LIBS on the link
> line... not on each of the modules that might *happen* to require libraries.

We could do that, but I don't think the way it is now is complete either.
It seems to me that we need to revamp APACHE_CHECK_SSL_TOOLKIT to deal
with the various cases here:

a) has libcrypto.so and libssl.so
b) has libcrypto.a and libssl.a only

1) linking statically with httpd
2) linking dynamically (creating a DSO)

We could add this to the SH_LINK macro as you suggested, or we could just
add -L/path/to/ssl -R/path/to/ssl -lssl and the same set for crypto directly
into the link phase for mod_ssl. I'm not sure at this point which was
is the right way to go.

Is the prefered way to check for libraries that a module depends on
to put those checks into the last paramter of APACHE_MODULE?

-aaron