From: Bradley Nicholes Date: Tue, 8 Jan 2002 21:46:18 +0000 (+0000) Subject: Fixed the export list generation for NetWare to make sure that only real APIs X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=21979a63b6b27b94e8a787a99215acfc89299498;p=apache Fixed the export list generation for NetWare to make sure that only real APIs are being exported git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92777 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/build/make_nw_export.awk b/build/make_nw_export.awk index 4cc7ae651e..65adb8d03f 100644 --- a/build/make_nw_export.awk +++ b/build/make_nw_export.awk @@ -2,33 +2,14 @@ # based on Ryan Bloom's make_export.pl # List of functions that we don't support, yet?? -/ap_get_module_config/{next} -/ap_gname2id/{next} -/ap_mpm_pod_check/{next} -/ap_mpm_pod_close/{next} -/ap_mpm_pod_killpg/{next} -/ap_mpm_pod_open/{next} -/ap_mpm_pod_signal/{next} -/ap_os_create_privileged_process/{next} -/ap_send_mmap/{next} -/ap_set_module_config/{next} -/ap_uname2id/{next} -/ap_strchr/{next} -/ap_strchr_c/{next} -/ap_strstr/{next} -/ap_strstr_c/{next} -/ap_strrchr/{next} -/ap_strrchr_c/{next} - +#/ap_some_name/{next} function add_symbol (sym_name) { if (count) { found++ } -# for (i = 0; i < count; i++) { -# line = line "\t" -# } + gsub (/ /, "", sym_name) line = line sym_name ",\n" if (count == 0) { @@ -58,13 +39,6 @@ function add_symbol (sym_name) { next } -/^[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(][^)]*[)]/ { - sub("[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(]", "", $0) - sub("[)].*$", "", $0) - add_symbol("apr_" $0 "_pool_get") - next -} - /^[ \t]*AP[RU]?_DECLARE_DATA .*;$/ { varname = $NF; gsub( /[*;]/, "", varname); diff --git a/build/nw_export.inc b/build/nw_export.inc new file mode 100644 index 0000000000..27185ead30 --- /dev/null +++ b/build/nw_export.inc @@ -0,0 +1,47 @@ +/* Must include ap_config.h first so that we can redefine + the standard prototypes macros after it messes with + them. */ +#include "ap_config.h" + +/* Define all of the standard prototype macros as themselves + so that httpd.h will not mess with them. This allows + them to pass untouched so that the AWK script can pick + them out of the preprocessed result file. */ +#define AP_DECLARE AP_DECLARE +#define AP_CORE_DECLARE AP_CORE_DECLARE +#define AP_DECLARE_NONSTD AP_DECLARE_NONSTD +#define AP_CORE_DECLARE_NONSTD AP_CORE_DECLARE_NONSTD +#define AP_DECLARE_HOOK AP_DECLARE_HOOK +#define AP_DECLARE_DATA AP_DECLARE_DATA + +#include "httpd.h" + +/* Preprocess all of the standard HTTPD headers. */ +#include "ap_compat.h" +#include "ap_listen.h" +#include "ap_mmn.h" +#include "ap_mpm.h" +#include "ap_release.h" +#include "http_config.h" +#include "http_connection.h" +#include "http_core.h" +#include "http_log.h" +#include "http_main.h" +#include "http_protocol.h" +#include "http_request.h" +#include "http_vhost.h" +#include "mpm_common.h" +#include "pcreposix.h" +#include "rfc1413.h" +#include "scoreboard.h" +#include "util_cfgtree.h" +#include "util_charset.h" +#include "util_ebcdic.h" +#include "util_filter.h" +/*#include "util_ldap.h"*/ +#include "util_md5.h" +#include "util_script.h" +#include "util_time.h" +#include "util_xml.h" + +#include "mod_core.h" diff --git a/build/prebuildNW.bat b/build/prebuildNW.bat index 2afc0790a0..0b9c99cb21 100755 --- a/build/prebuildNW.bat +++ b/build/prebuildNW.bat @@ -1,4 +1,19 @@ @echo off + +if not "%NovellNDK%" == "" goto CheckNDK +set NovellNDK=\novell\ndk\libc +@echo Could not find the NovellNDK environment variable +@echo Setting NovellNDK = %NovellNDK% +@echo --------------------- + +:CheckNDK +if exist %NovellNDK%\include\netware.h goto NDKOK +@echo The path to the NDK "%NovellNDK%" is invalid. +@echo Please set then NovellNDK environment variable to the location of the NDK +@echo --------------------- +goto Done + +:NDKOK @echo # As part of the pre-build process, the utilities GenChars.NLM @echo # (Gen Test Chars) and DFTables.NLM (dftables) must be built, @echo # copied to a NetWare server and run using the following commands: @@ -20,6 +35,12 @@ copy ..\srclib\pcre\config.hw ..\srclib\pcre\config.h copy ..\srclib\pcre\pcre.hw ..\srclib\pcre\pcre.h @echo Generating the import lists... -awk -f ..\srclib\apr\build\make_nw_export.awk ..\srclib\apr\include\*.h |sort > ..\srclib\apr\aprlib.imp -awk -f ..\srclib\apr\build\make_nw_export.awk ..\srclib\apr-util\include\*.h |sort >> ..\srclib\apr\aprlib.imp -awk -f make_nw_export.awk ..\include\*.h ..\modules\http\*.h |sort > ..\os\netware\httpd.imp +set MWCIncludes=..\include;..\modules\http;..\os\netware;..\server\mpm\netware;..\srclib\apr\include;..\srclib\apr-util\include;+%NovellNDK% +mwccnlm -P nw_export.inc -d NETWARE -d CORE_PRIVATE -EP +awk -f make_nw_export.awk nw_export.i |sort >..\os\netware\httpd.imp + +rem cd ..\srclib\apr\build +rem call prebuildnw.bat + +:Done +pause