--- /dev/null
+# Based on apr's make_export.awk, which is
+# based on Ryan Bloom's make_export.pl
+
+# List of functions that we don't support, yet??
+/apr_##name##_set_inherit/{next}
+/apr_##name##_unset_inherit/{next}
+/apr_compare_groups/{next}
+/apr_compare_users/{next}
+/apr_find_pool/{next}
+/apr_generate_random_bytes/{next}
+/apr_lock_create_np/{next}
+/apr_md5_set_xlate/{next}
+/apr_mmap_create/{next}
+/apr_mmap_delete/{next}
+/apr_mmap_offset/{next}
+/apr_os_thread_get/{next}
+/apr_os_thread_put/{next}
+/apr_pool_free_blocks_num_bytes/{next}
+/apr_pool_join/{next}
+/apr_pool_num_bytes/{next}
+/apr_proc_mutex_child_init/{next}
+/apr_proc_mutex_create/{next}
+/apr_proc_mutex_create_np/{next}
+/apr_proc_mutex_destroy/{next}
+/apr_proc_mutex_lock/{next}
+/apr_proc_mutex_trylock/{next}
+/apr_proc_mutex_unlock/{next}
+/apr_proc_other_child_check/{next}
+/apr_proc_other_child_read/{next}
+/apr_proc_other_child_register/{next}
+/apr_proc_other_child_unregister/{next}
+/apr_sendfile/{next}
+/apr_shm_avail/{next}
+/apr_shm_calloc/{next}
+/apr_shm_destroy/{next}
+/apr_shm_free/{next}
+/apr_shm_init/{next}
+/apr_shm_malloc/{next}
+/apr_shm_name_get/{next}
+/apr_shm_name_set/{next}
+/apr_shm_open/{next}
+/apr_signal/{next}
+/apr_signal_thread/{next}
+/apr_socket_from_file/{next}
+/apr_thread_once/{next}
+/apr_thread_once_init/{next}
+/apr_xlate_close/{next}
+/apr_xlate_conv_buffer/{next}
+/apr_xlate_conv_byte/{next}
+/apr_xlate_conv_char/{next}
+/apr_xlate_get_sb/{next}
+/apr_xlate_open/{next}
+/apr_brigade_consume/{next}
+/apr_bucket_mmap_create/{next}
+/apr_bucket_mmap_make/{next}
+/apr_bucket_type_mmap/{next}
+/apr_md4_set_xlate/{next}
+#/XML_ParserFree/{next}
+#/XML_ParserCreate/{next}
+#/XML_SetUserData/{next}
+#/XML_SetElementHandler/{next}
+#/XML_SetCharacterDataHandler/{next}
+#/XML_Parse/{next}
+#/XML_GetErrorCode/{next}
+#/XML_ErrorString/{next}
+
+
+function add_symbol (sym_name) {
+ if (count) {
+ found++
+ }
+# for (i = 0; i < count; i++) {
+# line = line "\t"
+# }
+ line = line sym_name ",\n"
+
+ if (count == 0) {
+ printf(" %s", line)
+ line = ""
+ }
+}
+
+/^[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)]([^ ]* )*[^(]+[(]/ {
+ sub("[ \t]*AP[RU]?_DECLARE[^(]*[(][^)]*[)][ \t]*", "")
+ sub("[(].*", "")
+ sub("([^ ]* (^([ \t]*[(])))+", "")
+
+ add_symbol($0)
+ next
+}
+
+/^[ \t]*AP_DECLARE_HOOK[^(]*[(][^)]*[)]/ {
+ split($0, args, ",")
+ symbol = args[2]
+ sub("^[ \t]+", "", symbol)
+ sub("[ \t]+$", "", symbol)
+
+ add_symbol("ap_hook_" symbol)
+ add_symbol("ap_hook_get_" symbol)
+ add_symbol("ap_run_" symbol)
+ next
+}
+
+/^[ \t]*AP[RU]?_DECLARE_DATA .*;$/ {
+ varname = $NF;
+ gsub( /[*;]/, "", varname);
+ gsub( /\[.*\]/, "", varname);
+ add_symbol(varname);
+}
+
+#END {
+# printf(" %s", line)
+#}
--- /dev/null
+@echo off
+rem # As part of the pre-build process, the utilities GenChars.NLM
+rem # (Gen Test Chars) and DFTables.NLM (dftables) must be built,
+rem # copied to a NetWare server and run using the following commands:
+rem #
+rem # genchars >test_char.h
+rem # dftables >chartables.c
+rem #
+rem # The files "sys:\test_chars.h" and "sys:\chartables.c" must be
+rem # copied to "httpd\os\netware" on the build machine.
+
+@echo Fixing up the APR headers
+copy ..\srclib\apr\include\apr.hnw ..\srclib\apr\include\apr.h
+
+@echo Fixing up the APR-Util headers
+copy ..\srclib\apr-util\include\apu.h.in ..\srclib\apr-util\include\apu.h
+
+@echo Fixing up the pcre headers
+copy ..\srclib\pcre\config.hw ..\srclib\pcre\config.h
+copy ..\srclib\pcre\pcre.hw ..\srclib\pcre\pcre.h
+
+@echo Generating the import lists...
+awk95 -f make_nw_export.awk ..\srclib\apr\include\*.h |sort > ..\os\netware\aprlib.imp
+awk95 -f make_nw_export.awk ..\srclib\apr-util\include\*.h |sort > ..\os\netware\aprutil.imp
\ No newline at end of file