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 <stdlib.h> in win32/os.h before creating exit() macro
a few other tiny bits of code and svn:ignore entries
Submitted by: John Vandenberg <jayvdb gmail.com>, 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
-*- coding: utf-8 -*-
Changes with Apache 2.2.18
+ *) MinGW build improvements. PR 49535. [John Vandenberg
+ <jayvdb gmail.com>, Jeff Trawick]
+
*) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support.
[Stefan Fritsch]
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 <stdlib.h> 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 ]
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
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
--- /dev/null
+\r
+LTLIBRARY_NAME = libos.la\r
+LTLIBRARY_SOURCES = util_win32.c ap_regkey.c modules.c\r
+\r
+include $(top_srcdir)/build/ltlib.mk\r
#define APACHE_MPM_DIR "server/mpm/winnt" /* generated on unix */
#include <stddef.h>
+#include <stdlib.h> /* for exit() */
#ifdef __cplusplus
extern "C" {
#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; }; \
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)
--- /dev/null
+\r
+LTLIBRARY_NAME = libwinnt.la\r
+LTLIBRARY_SOURCES = mpm_winnt.c child.c nt_eventlog.c service.c\r
+\r
+include $(top_srcdir)/build/ltlib.mk\r
--- /dev/null
+if test "$MPM_NAME" = "winnt" ; then\r
+ APACHE_FAST_OUTPUT(server/mpm/$MPM_NAME/Makefile)\r
+fi\r
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;
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)
])
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