From: Jeff Trawick Date: Thu, 14 Apr 2011 16:37:58 +0000 (+0000) Subject: Grab these trunk fixes: X-Git-Tag: 2.2.18~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d99e797f6f40c276f9f1ccc65fb97cb81c983b9;p=thirdparty%2Fapache%2Fhttpd.git Grab these trunk fixes: r422306: gen_test_char doesn't need util_debug r1089950: don't build checkgid on MinGW r1089951: rework choice of CGI implementation r1089954: gcc compatibility of win32/os.h r1090417: include in win32/os.h before creating exit() macro a few other tiny bits of code and svn:ignore entries Submitted by: John Vandenberg , others Reviewed by: trawick, fuangk, wrowe git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1092390 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 81e439a11cc..75a7df87178 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.2.18 + *) MinGW build improvements. PR 49535. [John Vandenberg + , Jeff Trawick] + *) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support. [Stefan Fritsch] diff --git a/STATUS b/STATUS index 87256455516..f09a4f73505 100644 --- a/STATUS +++ b/STATUS @@ -96,18 +96,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: 2.2.x patch: Trunk version of patch works with fuzz +1: sf, trawick, wrowe - * Critical MinGW build issues, svn:ignore - This serves pages and doesn't have junk in "svn status" output ;) - Trunk: - r422306: gen_test_char doesn't need util_debug - r1089950: don't build checkgid on MinGW - r1089951: rework choice of CGI implementation - r1089954: gcc compatibility of win32/os.h - r1090417: include in win32/os.h before creating exit() macro - a few other tiny bits of code and svn:ignore entries - 2.2.x patch: http://people.apache.org/~trawick/mingw_april_10.txt - +1: trawick, wrowe, fuankg - PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] diff --git a/include/ap_config.h b/include/ap_config.h index f729adc0245..dd977a6ca03 100644 --- a/include/ap_config.h +++ b/include/ap_config.h @@ -230,7 +230,7 @@ APR_OPTIONAL_HOOK(ap,name,fn,pre,succ,order) #include "os.h" -#if !defined(WIN32) && !defined(NETWARE) +#if (!defined(WIN32) && !defined(NETWARE)) || defined(__MINGW32__) #include "ap_config_auto.h" #include "ap_config_layout.h" #endif diff --git a/modules/generators/config5.m4 b/modules/generators/config5.m4 index d4f6282194f..feb7120e95c 100644 --- a/modules/generators/config5.m4 +++ b/modules/generators/config5.m4 @@ -11,15 +11,30 @@ APACHE_MODULE(info, server information, , , most) APACHE_MODULE(suexec, set uid and gid for spawned processes, , , no, [ other_targets=suexec ] ) -if ap_mpm_is_threaded; then -# if we are using a threaded MPM, we will get better performance with -# mod_cgid, so make it the default. +# Is mod_cgid needed? +case $host in + *mingw*) + dnl No fork+thread+fd issues, and cgid doesn't work anyway. + cgid_needed="no" + ;; + *) + if ap_mpm_is_threaded; then + dnl if we are using a threaded MPM on Unix, we can get better + dnl performance with mod_cgid, and also avoid potential issues + dnl with forking from a threaded process. + cgid_needed="yes" + else + dnl if we are using a non-threaded MPM, it makes little sense to + dnl use mod_cgid, and it just opens up holes we don't need. + cgid_needed="no" + fi + ;; +esac + +if test $cgid_needed = "yes"; then APACHE_MODULE(cgid, CGI scripts, , , yes) APACHE_MODULE(cgi, CGI scripts, , , no) else -# if we are using a non-threaded MPM, it makes little sense to use -# mod_cgid, and it just opens up holes we don't need. Make mod_cgi the -# default APACHE_MODULE(cgi, CGI scripts, , , yes) APACHE_MODULE(cgid, CGI scripts, , , no) fi diff --git a/os/win32/Makefile.in b/os/win32/Makefile.in new file mode 100644 index 00000000000..d2437475e31 --- /dev/null +++ b/os/win32/Makefile.in @@ -0,0 +1,5 @@ + +LTLIBRARY_NAME = libos.la +LTLIBRARY_SOURCES = util_win32.c ap_regkey.c modules.c + +include $(top_srcdir)/build/ltlib.mk diff --git a/os/win32/os.h b/os/win32/os.h index 8b9f8acb032..0583e422994 100644 --- a/os/win32/os.h +++ b/os/win32/os.h @@ -48,6 +48,7 @@ #define APACHE_MPM_DIR "server/mpm/winnt" /* generated on unix */ #include +#include /* for exit() */ #ifdef __cplusplus extern "C" { @@ -93,7 +94,7 @@ int set_listeners_noninheritable(apr_pool_t *p); #define AP_DECLARE_LATE_DLL_FUNC(lib, rettype, calltype, fn, ord, args, names) \ typedef rettype (calltype *ap_winapi_fpt_##fn) args; \ static ap_winapi_fpt_##fn ap_winapi_pfn_##fn = NULL; \ - __inline rettype ap_winapi_##fn args \ + static APR_INLINE rettype ap_winapi_##fn args \ { if (!ap_winapi_pfn_##fn) \ ap_winapi_pfn_##fn = (ap_winapi_fpt_##fn) ap_load_dll_func(lib, #fn, ord); \ return (*(ap_winapi_pfn_##fn)) names; }; \ diff --git a/server/Makefile.in b/server/Makefile.in index 89498dd46ea..db2caa0d529 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -21,7 +21,7 @@ TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h htt include $(top_builddir)/build/rules.mk include $(top_srcdir)/build/library.mk -gen_test_char_OBJECTS = gen_test_char.lo util_debug.lo +gen_test_char_OBJECTS = gen_test_char.lo gen_test_char: $(gen_test_char_OBJECTS) $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS) diff --git a/server/mpm/winnt/Makefile.in b/server/mpm/winnt/Makefile.in new file mode 100644 index 00000000000..22a78085802 --- /dev/null +++ b/server/mpm/winnt/Makefile.in @@ -0,0 +1,5 @@ + +LTLIBRARY_NAME = libwinnt.la +LTLIBRARY_SOURCES = mpm_winnt.c child.c nt_eventlog.c service.c + +include $(top_srcdir)/build/ltlib.mk diff --git a/server/mpm/winnt/config.m4 b/server/mpm/winnt/config.m4 new file mode 100644 index 00000000000..9320958824b --- /dev/null +++ b/server/mpm/winnt/config.m4 @@ -0,0 +1,3 @@ +if test "$MPM_NAME" = "winnt" ; then + APACHE_FAST_OUTPUT(server/mpm/$MPM_NAME/Makefile) +fi diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 90f9232e0f9..f0dfc8fb493 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -59,7 +59,7 @@ server_rec *ap_server_conf; static HANDLE shutdown_event; /* used to signal the parent to shutdown */ static HANDLE restart_event; /* used to signal the parent to restart */ -static char ap_coredump_dir[MAX_STRING_LEN]; +char ap_coredump_dir[MAX_STRING_LEN]; static int one_process = 0; static char const* signal_arg = NULL; diff --git a/support/Makefile.in b/support/Makefile.in index 53672e2583a..aaaf6f4ab47 100644 --- a/support/Makefile.in +++ b/support/Makefile.in @@ -3,7 +3,7 @@ DISTCLEAN_TARGETS = apxs apachectl dbmmanage log_server_status \ CLEAN_TARGETS = suexec -PROGRAMS = htpasswd htdigest rotatelogs logresolve ab checkgid htdbm htcacheclean httxt2dbm +PROGRAMS = htpasswd htdigest rotatelogs logresolve ab htdbm htcacheclean httxt2dbm $(NONPORTABLE_SUPPORT) TARGETS = $(PROGRAMS) PROGRAM_LDADD = $(UTIL_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) $(AP_LIBS) diff --git a/support/config.m4 b/support/config.m4 index f91103753b7..c0ea8f91dcc 100644 --- a/support/config.m4 +++ b/support/config.m4 @@ -103,6 +103,20 @@ fi ]) APACHE_SUBST(httxt2dbm_LTFLAGS) +# Configure or check which of the non-portable support programs can be enabled. + +NONPORTABLE_SUPPORT="" +case $host in + *mingw*) + ;; + *) + NONPORTABLE_SUPPORT="checkgid" + ;; +esac +APACHE_SUBST(NONPORTABLE_SUPPORT) + +# Configure the ulimit -n command used by apachectl. + case $host in *aix*) # this works in any locale, unlike the default command below, which