>No, the standard apache 1.3.xx build process doesn't build libhttpd.dll by >default. >It only builds it with the --enable-rule=SHARED_CORE configuration option. >With this I manage to build MP 1.xx. >Now about MP2 - as I said I currently can not build Apache 2 with >enable-rule=SHARED_CORE, that's why I asked if anyone knows whether this >option is still valid for Apache 2.0.xx. >I'll test your patch when I manage to make Apache2 to build libhttpd.dll under >cygwin. I see that apache2's win32 binary distribution has libhttpd.dll in the >bin dir, so there must be a way for cygwin. >>Also, is there a libhttpd.lib installed, perhaps under >>$APACHE2/lib/, created either with a "standard" or >>"non-standard" build? If not, is there a library there >>with the same name but a different extension?
>No, there is no .a or .dll.a with both builds (we are talking about Apache >1.3.xx here). >Under cygwin it's .a or .dll.a and not .lib. But you are not required to link >against .a or .dll.a - if you have the dll you can link directly to it like >it's a static lib. No luck guys :( Seems there is no way to build libhttpd.dll and no way to link against it. Even when I try to compile apache 2 with --enable-shared=most it can not build it's own modules. I suggest to disable or warn that currently the dynamic build under cygwin doesn't work. Maybe better days will come with apache 2.2. I decided to dig more into the static build. Here mod_perl.a links fine in the httpd, but the problem comes with the dllexport in APR/Base64 issue. (gcc 3.3.3 binary is not released yet). The problematic lines lay in xs/APR/Base64/APR__Base64.h: static XS(MPXS_apr_base64_encode) { and static XS(MPXS_apr_base64_decode) { When I change 'static' to 'const' (I don't know how good this is, but it works for now). With some warnings like 'Base64.xs: warning: passing arg 3 of `Perl_newXS' from incompatible pointer type' the file gets compiled, but there is another problem again when linking:) The same undefined symbol errors like when linking mod_perl.so. But MP_STATIC_EXTS=1 comes to help. (Suggest that this option becomes a default when building static mp2 under cygwin or at least warn that it should be set). BTW, I had to edit some more files in xs/ dir, find every appearance of static XS(MPXS_* and change it to const XS(MPXS_* The first problem I see when creating mod_perl.a is this: ar: 'Apache_URI_URI.o': No such file Apache_URI_URI.o is not built. Is this a bug? The process continues and tries to create the httpd executable, but dies with this error: /usr/src/mp2/src/modules/perl/mod_perl.a(modperl_xsinit.o)(.text+0x486):modperl_ xsinit.c: undefined reference to `_boot_Apache__URI' Info: resolving _PL_vtbl_env by linking to __imp__PL_vtbl_env (auto-import) Info: resolving _PL_vtbl_envelem by linking to __imp__PL_vtbl_envelem (auto-impo rt) Info: resolving _PL_ppaddr by linking to __imp__PL_ppaddr (auto-import) collect2: ld returned 1 exit status make[2]: *** [httpd] Error 1 make[2]: Leaving directory `/usr/src/httpd' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/httpd' make: *** [ap_build] Error 2 I think it's related to the missing Apache_URI_URI.o P.S. this is RC3 ----------------------------------------------------------------- Активирайте SMS известяване за получено писмо - http://promo.abv.bg/new_sms.html