From 1d53fe68e23896bf2886475bb5f60ff1e82fe84a Mon Sep 17 00:00:00 2001 From: Guenter Knauf Date: Mon, 12 Sep 2011 16:01:17 +0000 Subject: [PATCH] Some netWare build tweaks. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@1169809 13f79535-47bb-0310-9956-ffa450edef68 --- NWGNUmakefile | 96 +++++------ build/NWGNUenvironment.inc | 63 ++++--- build/NWGNUtail.inc | 5 +- build/mkconfNW.awk | 44 +++-- build/nw_ver.awk | 18 +- modules/NWGNUmakefile | 19 ++- modules/ssl/NWGNUmakefile | 338 +++++++++++++++++++++++++++++++++++++ 7 files changed, 489 insertions(+), 94 deletions(-) create mode 100644 modules/ssl/NWGNUmakefile diff --git a/NWGNUmakefile b/NWGNUmakefile index a30d89735ac..db76e7eb63c 100644 --- a/NWGNUmakefile +++ b/NWGNUmakefile @@ -62,12 +62,12 @@ XINCDIRS += \ $(APR)/include \ $(APRUTIL)/include \ $(AP_WORK)/include \ - $(AP_WORK)/modules/filters/ \ - $(AP_WORK)/modules/generators/ \ - $(AP_WORK)/modules/http/ \ - $(AP_WORK)/modules/loggers/ \ - $(AP_WORK)/modules/mappers/ \ - $(AP_WORK)/modules/proxy/ \ + $(AP_WORK)/modules/filters \ + $(AP_WORK)/modules/generators \ + $(AP_WORK)/modules/http \ + $(AP_WORK)/modules/loggers \ + $(AP_WORK)/modules/mappers \ + $(AP_WORK)/modules/proxy \ $(AP_WORK)/server/mpm/NetWare \ $(PCRE) \ $(NWOS) \ @@ -106,7 +106,7 @@ XDEFINES += \ $(EOLIST) XLFLAGS += \ - $(EOLIST) + $(EOLIST) endif ifeq "$(RELEASE)" "noopt" @@ -142,13 +142,13 @@ endif # This is used by the link 'name' directive to name the nlm. If left blank # TARGET_nlm (see below) will be used. # -NLM_NAME = Apache2 +NLM_NAME = Apache2 # # This is used by the link '-desc ' directive. # If left blank, NLM_NAME will be used. # -NLM_DESCRIPTION = Apache Web Server $(VERSION_STR) +NLM_DESCRIPTION = Apache Web Server $(VERSION_STR) # # This is used by the '-threadname' directive. If left blank, @@ -166,7 +166,7 @@ NLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare # If this is specified, it will override VERSION value in # $(AP_WORK)\build\NWGNUenvironment.inc # -NLM_VERSION = +NLM_VERSION = # # If this is specified, it will override the default of 64K @@ -192,14 +192,14 @@ NLM_CHECK_SYM = _LibCCheckUnload # # If these are specified it will be used by the link '-flags' directive # -NLM_FLAGS = PSEUDOPREEMPTION +NLM_FLAGS = PSEUDOPREEMPTION # # If this is specified it will be linked in with the XDCData option in the def # file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled # by setting APACHE_UNIPROC in the environment # -XDCDATA = +XDCDATA = # # If there is an NLM target, put it here @@ -278,7 +278,7 @@ FILES_nlm_objs = \ # These will be added as a library command in the link.opt file. # FILES_nlm_libs = \ - libcpre.o \ + libcpre.o \ $(EOLIST) # @@ -322,13 +322,13 @@ FILES_nlm_Ximports = \ FILES_nlm_exports = \ @$(NWOS)/httpd.imp \ $(EOLIST) - + # # These are the OBJ files needed to create the LIB target above. # Paths must all use the '/' character # FILES_lib_objs = \ - $(EOLIST) + $(EOLIST) # # implement targets and dependancies (leave this section alone) @@ -343,39 +343,41 @@ nlms :: libs $(TARGET_nlm) # correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples) # install :: nlms FORCE - -copy $(OBJDIR)\Apache2.nlm $(INSTALL)\Apache2\*.* - -copy ABOUT_APACHE $(INSTALL)\Apache2\*.* - -copy README $(INSTALL)\Apache2\*.* - -copy STATUS $(INSTALL)\Apache2\*.* - -copy LICENSE $(INSTALL)\Apache2\*.* - -copy CHANGES $(INSTALL)\Apache2\*.* - -copy support\dbmmanage.in $(INSTALL)\Apache2\bin\dbmmanage.pl - -copy support\logresolve.pl.in $(INSTALL)\Apache2\bin\logresolve.pl - -copy support\check_forensic $(INSTALL)\Apache2\bin\check_forensic - -awk -f build\mkconfnw.awk docs\conf\httpd-std.conf.in >$(INSTALL)\Apache2\conf\httpd.conf - -copy docs\conf\magic $(INSTALL)\Apache2\conf\magic - -copy docs\conf\mime.types $(INSTALL)\Apache2\conf\mime.types - -copy docs\cgi-examples\printenv $(INSTALL)\Apache2\cgi-bin\printenv.pl - @echo rem copying the docs directories > xc.bat - @echo xcopy docs\error $(INSTALL)\Apache2\error $(XCOPYSW) >> xc.bat - @echo xcopy docs\docroot $(INSTALL)\Apache2\htdocs $(XCOPYSW) >> xc.bat - @echo xcopy docs\icons $(INSTALL)\Apache2\icons $(XCOPYSW) >> xc.bat - @echo xcopy docs\man $(INSTALL)\Apache2\man $(XCOPYSW) >> xc.bat - @echo xcopy docs\manual $(INSTALL)\Apache2\manual $(XCOPYSW) >> xc.bat - $(CMD) xc.bat - $(DEL) xc.bat - - - + -copy $(OBJDIR)\$(NLM_NAME).nlm $(INSTALL)\$(BASEDIR)\*.* + -copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.* + -copy CHANGES $(INSTALL)\$(BASEDIR)\*.* + -copy LICENSE $(INSTALL)\$(BASEDIR)\*.* + -copy README $(INSTALL)\$(BASEDIR)\*.* + -copy VERSIONING $(INSTALL)\$(BASEDIR)\*.* +# $(CHK) STATUS copy STATUS $(INSTALL)\$(BASEDIR)\*.* + -copy STATUS $(INSTALL)\$(BASEDIR)\*.* + -copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl + -copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl + -copy support\split-logfile.in $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl + -copy support\check_forensic $(INSTALL)\$(BASEDIR)\bin\check_forensic.sh + -copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic + -copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types + -copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv + -copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl + -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -f build\mkconfnw.awk docs\conf\httpd-std.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf +ifeq "$(WITH_MOD_SSL)" "1" + -$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -f build\mkconfnw.awk docs\conf\ssl-std.conf.in >$(INSTALL)\$(BASEDIR)\conf\ssl.conf +endif + @xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error + @xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs + @xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons + @xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man + @xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual + installdev :: FORCE - -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\Apache2\include\*.* - -copy $(subst /,\,$(AP_WORK))\os\netware\*.h $(INSTALL)\Apache2\include\*.* - -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\Apache2\lib\*.* - -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\Apache2\include\*.* - -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\Apache2\include\*.* - -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\Apache2\lib\*.* - -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\Apache2\lib\*.* - + -copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* + -copy $(subst /,\,$(NWOS))\*.h $(INSTALL)\$(BASEDIR)\include\*.* + -copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* + -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.* + -copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.* + -copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.* + -copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.* + # # Any specialized rules here # diff --git a/build/NWGNUenvironment.inc b/build/NWGNUenvironment.inc index e89bbf22767..12ecd1350ac 100644 --- a/build/NWGNUenvironment.inc +++ b/build/NWGNUenvironment.inc @@ -117,9 +117,12 @@ LINK = mwldnlm LIB = mwldnlm -type library -w nocmdline WIN_CC = mwcc +# Setup build tools +AWK = awk + NOVI = $(NOVELLLIBC)\imports -INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock; +INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock; ifneq "$(LDAPSDK)" "" INCDIRS := $(INCDIRS);$(LDAPSDK)/inc endif @@ -127,7 +130,7 @@ ifneq "$(ZLIBSDK)" "" INCDIRS := $(INCDIRS);$(ZLIBSDK) endif -DEFINES = -DNETWARE +DEFINES = -DNETWARE ifndef DEBUG DEFINES += -DNDEBUG endif @@ -202,6 +205,19 @@ INSTALL = $(AP_WORK)\Dist INSTDIRS = $(AP_WORK)\Dist endif +ifndef BASEDIR +BASEDIR = Apache2 +export BASEDIR +endif + +ifndef PORT +PORT = 80 +endif + +ifndef SSLPORT +SSLPORT = 443 +endif + # Add support for building IPV6 alongside ifneq "$(IPV6)" "" DEFINES += -DNW_BUILD_IPV6 @@ -222,22 +238,22 @@ endif endif INSTDEVDIRS := \ - $(INSTDIRS) \ - $(INSTALL)\Apache2\include \ - $(INSTALL)\Apache2\lib \ + $(INSTDIRS) \ + $(INSTALL)\$(BASEDIR)\include \ + $(INSTALL)\$(BASEDIR)\lib \ INSTDIRS += \ - $(INSTALL)\Apache2 \ - $(INSTALL)\Apache2\bin \ - $(INSTALL)\Apache2\cgi-bin \ - $(INSTALL)\Apache2\conf \ - $(INSTALL)\Apache2\error \ - $(INSTALL)\Apache2\htdocs \ - $(INSTALL)\Apache2\icons \ - $(INSTALL)\Apache2\logs \ - $(INSTALL)\Apache2\man \ - $(INSTALL)\Apache2\manual \ - $(INSTALL)\Apache2\modules \ + $(INSTALL)\$(BASEDIR) \ + $(INSTALL)\$(BASEDIR)\bin \ + $(INSTALL)\$(BASEDIR)\cgi-bin \ + $(INSTALL)\$(BASEDIR)\conf \ + $(INSTALL)\$(BASEDIR)\error \ + $(INSTALL)\$(BASEDIR)\htdocs \ + $(INSTALL)\$(BASEDIR)\icons \ + $(INSTALL)\$(BASEDIR)\logs \ + $(INSTALL)\$(BASEDIR)\man \ + $(INSTALL)\$(BASEDIR)\manual \ + $(INSTALL)\$(BASEDIR)\modules \ # # Declare Command and tool macros here @@ -249,22 +265,21 @@ OS = Windows_NT endif ifeq "$(OS)" "Windows_NT" -CMD=cmd /C -CHK=cmd /C if exist -CHKNOT=cmd /C if not exist +CMD = cmd /C DEL = del /F -DELTREE = cmd /C rd /s/q -WINNT=1 +DELTREE = rd /s/q +WINNT = 1 XCOPYSW = /E else -CMD=command /C -CHK=command /C if exist -CHKNOT=command /C if not exist +CMD = command /C DEL = del DELTREE = deltree /y XCOPYSW = /E /Y endif +CHK = $(CMD) if exist +CHKNOT = $(CMD) if not exist + # # Setup base C compiler flags diff --git a/build/NWGNUtail.inc b/build/NWGNUtail.inc index 63cc20f28dd..24b9968b32d 100644 --- a/build/NWGNUtail.inc +++ b/build/NWGNUtail.inc @@ -25,7 +25,7 @@ NLM_SCREEN_NAME = DEFAULT endif ifndef NLM_COPYRIGHT -NLM_COPYRIGHT = Copyright 2006 The Apache Software Foundation. Licensed under the Apache License Version 2.0. +NLM_COPYRIGHT = Licensed under the Apache License Version 2.0. endif # @@ -58,7 +58,7 @@ $(NLM_NAME)_LINKOPT_DEPENDS = \ $(EOLIST) ifeq "$(words $(strip $(TARGET_lib)))" "1" -LIB_NAME = $(basename $(notdir $(TARGET_lib))) +LIB_NAME = $(basename $(notdir $(TARGET_lib))) $(LIB_NAME)_LIBLST_DEPENDS = \ $(FILES_lib_objs) \ $(AP_WORK)\build\NWGNUenvironment.inc \ @@ -226,6 +226,7 @@ endif @echo -l $(NWOS) >> $@ @echo -l $(AP)/$(OBJDIR) >> $@ @echo -l $(APR)/$(OBJDIR) >> $@ + @echo -l $(APR) >> $@ @echo -l $(APRUTIL)/$(OBJDIR) >> $@ @echo -l $(PCRE)/$(OBJDIR) >> $@ @echo -l $(HTTPD)/$(OBJDIR) >> $@ diff --git a/build/mkconfNW.awk b/build/mkconfNW.awk index dcfd93d6ebe..c80517990da 100644 --- a/build/mkconfNW.awk +++ b/build/mkconfNW.awk @@ -15,8 +15,9 @@ BEGIN { - A["ServerRoot"] = "SYS:/APACHE2" - A["Port"] = "80" + A["ServerRoot"] = "SYS:/"BDIR + A["Port"] = PORT + A["SSLPort"] = SSLPORT A["cgidir"] = "cgi-bin" A["logfiledir"] = "logs" A["htdocsdir"] = "htdocs" @@ -33,6 +34,9 @@ BEGIN { B["errordir"] = A["ServerRoot"]"/"A["errordir"] B["proxycachedir"] = A["ServerRoot"]"/"A["proxycachedir"] B["cgidir"] = A["ServerRoot"]"/"A["cgidir"] + B["logfiledir"] = A["logfiledir"] + B["sysconfdir"] = A["sysconfdir"] + B["runtimedir"] = A["runtimedir"] B["listen_stmt_1"] = "Listen "A["Port"] B["listen_stmt_2"] = "" } @@ -63,10 +67,25 @@ BEGIN { print "#LoadModule usertrack_module modules/usertrk.nlm" print "#LoadModule version_module modules/modversion.nlm" print "#LoadModule vhost_alias_module modules/vhost.nlm" + if (MODSSL) { + print "#LoadModule ssl_module modules/mod_ssl.nlm" + } print "" next } +match ($0,/^#SSLSessionCache +"dbm:/) { + sub(/^#/, "") +} + +match ($0,/^SSLSessionCache +"shmcb:/) { + sub(/^SSLSessionCache/, "#SSLSessionCache") +} + +match ($0,/^SSLMutex +file:@exp_runtimedir@\/ssl_mutex/) { + sub(/file:@exp_runtimedir@\/ssl_mutex/, "default") +} + match ($0,/@@.*@@/) { s=substr($0,RSTART+2,RLENGTH-4) sub(/@@.*@@/,A[s],$0) @@ -93,13 +112,16 @@ match ($0,/@nonssl_.*@/) { END { - print - print "#" - print "# SecureListen: Allows you to securely bind Apache to specific IP addresses " - print "# and/or ports." - print "#" - print "# Change this to SecureListen on specific IP addresses as shown below to " - print "# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)" - print "#" - print "#SecureListen 443 \"SSL CertificateDNS\"" + if ((ARGV[1] ~ /httpd-std.conf.in/) && !BSDSKT) { + print "" + print "#" + print "# SecureListen: Allows you to securely bind Apache to specific IP addresses " + print "# and/or ports." + print "#" + print "# Change this to SecureListen on specific IP addresses as shown below to " + print "# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)" + print "#" + print "#SecureListen "SSLPORT" \"SSL CertificateDNS\"" + print "" + } } diff --git a/build/nw_ver.awk b/build/nw_ver.awk index f908fe34af8..09443461b58 100644 --- a/build/nw_ver.awk +++ b/build/nw_ver.awk @@ -14,11 +14,15 @@ # limitations under the License. BEGIN { - - # fetch Apache version numbers from input file and writes them to STDOUT + # fetch Apache version numbers from input file and write them to STDOUT while ((getline < ARGV[1]) > 0) { - if (match ($0, /^#define AP_SERVER_MAJORVERSION_NUMBER /)) { + if (match ($0, /^#define AP_SERVER_COPYRIGHT \\/)) { + if (((getline < ARGV[1]) > 0) && (split($0, c, "\"") == 3)) { + copyright_str = c[2]; + } + } + else if (match ($0, /^#define AP_SERVER_MAJORVERSION_NUMBER /)) { ver_major = $3; } else if (match ($0, /^#define AP_SERVER_MINORVERSION_NUMBER /)) { @@ -31,10 +35,14 @@ BEGIN { ver_str_release = substr($3, 2, length($3) - 2); } } - ver = ver_major "," ver_minor "," ver_patch; + ver_nlm = ver_major "," ver_minor "," ver_patch; ver_str = ver_major "." ver_minor "." ver_patch ver_str_release; - print "VERSION = " ver ""; + print "VERSION = " ver_nlm ""; print "VERSION_STR = " ver_str ""; + print "VERSION_MAJMIN = " ver_major ver_minor ""; + print "COPYRIGHT_STR = " copyright_str ""; } + + diff --git a/modules/NWGNUmakefile b/modules/NWGNUmakefile index fd795a4b29d..c3f4ac73d54 100644 --- a/modules/NWGNUmakefile +++ b/modules/NWGNUmakefile @@ -3,6 +3,8 @@ # # To build with exerimental modules set the environment # variable EXPERIMENTAL=1 +# To build with the mod_ssl module set the environment +# variable WITH_MOD_SSL=1 SUBDIRS = \ aaa \ @@ -17,19 +19,26 @@ SUBDIRS = \ filters \ $(EOLIST) +# If WITH_MOD_SSL and OSSLSDK have been defined then build the mod_ssl module +ifeq "$(WITH_MOD_SSL)" "1" +ifneq "$(OSSLSDK)" "" +SUBDIRS += ssl \ + $(EOLIST) +endif +endif + #If the mod_edir directory exists then build the mod_edir module ifeq "$(wildcard $(AP_WORK)\modules\mod_edir)" "$(AP_WORK)\modules\mod_edir" SUBDIRS += mod_edir \ - $(EOLIST) + $(EOLIST) endif # Allow the experimental modules to be built if EXPERIMENTAL is defined -ifdef EXPERIMENTAL +ifeq "$(EXPERIMENTAL)" "1" SUBDIRS += experimental \ - $(EOLIST) + $(EOLIST) endif - # # Get the 'head' of the build environment. This includes default targets and # paths to tools @@ -49,4 +58,4 @@ endif # installation area # install :: nlms FORCE - + diff --git a/modules/ssl/NWGNUmakefile b/modules/ssl/NWGNUmakefile new file mode 100644 index 00000000000..9afb0d1785e --- /dev/null +++ b/modules/ssl/NWGNUmakefile @@ -0,0 +1,338 @@ +# +# This Makefile requires the environment var OSSLSDK +# pointing to the base directory of your OpenSSL SDK. +# If you want to use the Novell NTLS SDK instead then +# define NTLSSDK pointing to the base directory of the +# SDK, and also set USE_NTLS=1 +# + +# +# Declare the sub-directories to be built here +# + +SUBDIRS = \ + $(EOLIST) + +# +# Get the 'head' of the build environment. This includes default targets and +# paths to tools +# + +include $(AP_WORK)\build\NWGNUhead.inc + +# +# build this level's files +# +# Make sure all needed macro's are defined +# + +ifeq "$(USE_NTLS)" "1" +SSL_INC = $(NTLSSDK)/inc +SSL_LIB = $(NTLSSDK)/imp +SSL_BIN = $(NTLSSDK)/bin +SSL_APP = $(NTLSSDK)/apps +ifneq "$(wildcard $(SSL_INC)/openssl/opensslv.h)" "$(SSL_INC)/openssl/opensslv.h" +$(error '$(NTLSSDK)' does NOT point to a valid NTLS SDK!) +endif +else +SSL_INC = $(OSSLSDK)/outinc_nw_libc +SSL_LIB = $(OSSLSDK)/out_nw_libc +SSL_BIN = $(OSSLSDK)/out_nw_libc +SSL_APP = $(OSSLSDK)/apps +ifneq "$(wildcard $(SSL_INC)/openssl/opensslv.h)" "$(SSL_INC)/openssl/opensslv.h" +$(error '$(OSSLSDK)' does NOT point to a valid OpenSSL SDK!) +endif +endif + +# +# These directories will be at the beginning of the include list, followed by +# INCDIRS +# +XINCDIRS += \ + $(SSL_INC) \ + $(SSL_INC)/openssl \ + $(APR)/include \ + $(APRUTIL)/include \ + $(AP_WORK)/include \ + $(AP_WORK)/server/mpm/NetWare \ + $(AP_WORK)/modules/cache \ + $(AP_WORK)/modules/generators \ + $(NWOS) \ + $(EOLIST) + +# +# These flags will come after CFLAGS +# +XCFLAGS += \ + $(EOLIST) + +# +# These defines will come after DEFINES +# +XDEFINES += \ + -DHAVE_OPENSSL \ + $(EOLIST) + +# +# These flags will be added to the link.opt file +# +XLFLAGS += \ + -l $(SSL_LIB) \ + $(EOLIST) + +# +# These values will be appended to the correct variables based on the value of +# RELEASE +# +ifeq "$(RELEASE)" "debug" +XINCDIRS += \ + $(EOLIST) + +XCFLAGS += \ + $(EOLIST) + +XDEFINES += \ + $(EOLIST) + +XLFLAGS += \ + $(EOLIST) +endif + +ifeq "$(RELEASE)" "noopt" +XINCDIRS += \ + $(EOLIST) + +XCFLAGS += \ + $(EOLIST) + +XDEFINES += \ + $(EOLIST) + +XLFLAGS += \ + $(EOLIST) +endif + +ifeq "$(RELEASE)" "release" +XINCDIRS += \ + $(EOLIST) + +XCFLAGS += \ + $(EOLIST) + +XDEFINES += \ + $(EOLIST) + +XLFLAGS += \ + $(EOLIST) +endif + +# +# These are used by the link target if an NLM is being generated +# This is used by the link 'name' directive to name the nlm. If left blank +# TARGET_nlm (see below) will be used. +# +NLM_NAME = mod_ssl + +# +# This is used by the link '-desc ' directive. +# If left blank, NLM_NAME will be used. +# +ifeq "$(USE_NTLS)" "1" +NLM_DESCRIPTION = Apache $(VERSION_STR) SSL module (NTLS) +else +NLM_DESCRIPTION = Apache $(VERSION_STR) SSL module +endif + +# +# This is used by the '-threadname' directive. If left blank, +# NLM_NAME Thread will be used. +# +NLM_THREAD_NAME = $(NLM_NAME) + +# +# If this is specified, it will override VERSION value in +# $(AP_WORK)\build\NWGNUenvironment.inc +# +NLM_VERSION = + +# +# If this is specified, it will override the default of 64K +# +NLM_STACK_SIZE = 8192 + + +# +# If this is specified it will be used by the link '-entry' directive +# +NLM_ENTRY_SYM = _LibCPrelude + +# +# If this is specified it will be used by the link '-exit' directive +# +NLM_EXIT_SYM = _LibCPostlude + +# +# If this is specified it will be used by the link '-check' directive +# +NLM_CHECK_SYM = + +# +# If this is specified it will be used by the link '-flags' directive +# +NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION + +# +# If this is specified it will be linked in with the XDCData option in the def +# file instead of the default of $(NWOS)/apache.xdc. XDCData can be disabled +# by setting APACHE_UNIPROC in the environment +# +XDCDATA = + +# +# Declare all target files (you must add your files here) +# + +# +# If there is an NLM target, put it here +# +TARGET_nlm = \ + $(OBJDIR)/$(NLM_NAME).nlm \ + $(EOLIST) + +# +# If there is an LIB target, put it here +# +TARGET_lib = \ + $(EOLIST) + +# +# These are the OBJ files needed to create the NLM target above. +# Paths must all use the '/' character +# +FILES_nlm_objs := $(patsubst %.c,$(OBJDIR)/%.o,$(wildcard *.c)) + + +# +# These are the LIB files needed to create the NLM target above. +# These will be added as a library command in the link.opt file. +# +FILES_nlm_libs = \ + libcpre.o \ + $(EOLIST) + +ifneq "$(USE_NTLS)" "1" +FILES_nlm_libs += \ + $(SSL_LIB)/crypto.lib \ + $(SSL_LIB)/ssl.lib \ + $(EOLIST) +endif + +# +# These are the modules that the above NLM target depends on to load. +# These will be added as a module command in the link.opt file. +# +FILES_nlm_modules = \ + Apache2 \ + Libc \ + $(EOLIST) + +ifeq "$(USE_NTLS)" "1" +FILES_nlm_modules += ntls \ + $(EOLIST) +endif + +# +# If the nlm has a msg file, put it's path here +# +FILE_nlm_msg = + +# +# If the nlm has a hlp file put it's path here +# +FILE_nlm_hlp = + +# +# If this is specified, it will override $(NWOS)\copyright.txt. +# +FILE_nlm_copyright = + +# +# Any additional imports go here +# +FILES_nlm_Ximports = \ + @libc.imp \ + @$(APR)/aprlib.imp \ + @httpd.imp \ + $(EOLIST) + +# Don't link with Winsock if standard sockets are being used +ifneq "$(USE_STDSOCKETS)" "1" +FILES_nlm_Ximports += @ws2nlm.imp \ + $(EOLIST) +endif + +ifeq "$(USE_NTLS)" "1" +FILES_nlm_Ximports += @ntls.imp \ + $(EOLIST) +else +FILES_nlm_Ximports += \ + GetProcessSwitchCount \ + RunningProcess \ + GetSuperHighResolutionTimer \ + $(EOLIST) +endif + +# +# Any symbols exported to here +# +FILES_nlm_exports = \ + ssl_module \ + $(EOLIST) + +# +# These are the OBJ files needed to create the LIB target above. +# Paths must all use the '/' character +# +FILES_lib_objs = \ + $(EOLIST) + +# +# implement targets and dependancies (leave this section alone) +# + +libs :: $(OBJDIR) $(TARGET_lib) + +nlms :: libs $(TARGET_nlm) + +# +# Updated this target to create necessary directories and copy files to the +# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples) +# +install :: nlms FORCE + copy $(OBJDIR)\mod_ssl.nlm $(INSTALL)\$(BASEDIR)\modules\*.* + -copy $(subst /,\,$(SSL_BIN))\openssl.nlm $(INSTALL)\$(BASEDIR)\bin\*.* + -copy $(subst /,\,$(SSL_APP))\openssl.cnf $(INSTALL)\$(BASEDIR)\bin\*.* + +# +# Any specialized rules here +# +vpath %.c $(AP_WORK)/modules/arch/netware + +# Make sure that the build doesn't attempt to regenerate the shipping files. +# This requires a 'touch' utility. Can be downloaded from 'coreutils' at +# http://sourceforge.net/projects/gnuwin32/ +ssl_expr_parse.h : ssl_expr_parse.y + touch ssl_expr_parse.h +ssl_expr_parse.c : ssl_expr_parse.y + touch ssl_expr_parse.c +ssl_expr_scan.c : ssl_expr_scan.l + touch ssl_expr_scan.c + +# +# Include the 'tail' makefile that has targets that depend on variables defined +# in this makefile +# + +include $(AP_WORK)\build\NWGNUtail.inc + + -- 2.47.2