summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorManoj Kasichainula <manoj@apache.org>1999-12-05 08:54:38 +0000
committerManoj Kasichainula <manoj@apache.org>1999-12-05 08:54:38 +0000
commit666261d1cc38d3c76476a216e3a6a78a7965a7f0 (patch)
tree929a4b484732c5f851136bf3ead6a2e9603a563c /helpers
parent972dc4ec6f1ebcd0f212f1a5b92210233e432dbf (diff)
downloadapr-666261d1cc38d3c76476a216e3a6a78a7965a7f0.tar.gz
autoconf: Generate modules.c based on configuration. This is the first
step to supporting selection of modules, and it seems to make --with-mpm actually work now. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@59504 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'helpers')
-rw-r--r--helpers/build-modules-c.awk48
1 files changed, 48 insertions, 0 deletions
diff --git a/helpers/build-modules-c.awk b/helpers/build-modules-c.awk
new file mode 100644
index 000000000..0da842152
--- /dev/null
+++ b/helpers/build-modules-c.awk
@@ -0,0 +1,48 @@
+BEGIN {
+ RS = " "
+ modules[n++] = "core"
+ pmodules[pn++] = "core"
+}
+{ modules[n++] = $1 ; pmodules[pn++] = $1 }
+END {
+ print "/*"
+ print " * modules.c --- automatically generated by Apache"
+ print " * configuration script. DO NOT HAND EDIT!!!!!"
+ print " */"
+ print ""
+ print "#include \"httpd.h\""
+ print "#include \"http_config.h\""
+ print ""
+ for (i = 0; i < pn; ++i) {
+ printf ("extern module %s_module;\n", pmodules[i])
+ }
+ print ""
+ print "/*"
+ print " * Modules which implicitly form the"
+ print " * list of activated modules on startup,"
+ print " * i.e. these are the modules which are"
+ print " * initially linked into the Apache processing"
+ print " * [extendable under run-time via AddModule]"
+ print " */"
+ print "module *ap_prelinked_modules[] = {"
+ for (i = 0; i < n; ++i) {
+ printf " &%s_module,\n", modules[i]
+ }
+ print " NULL"
+ print "};"
+ print ""
+ print "/*"
+ print " * Modules which initially form the"
+ print " * list of available modules on startup,"
+ print " * i.e. these are the modules which are"
+ print " * initially loaded into the Apache process"
+ print " * [extendable under run-time via LoadModule]"
+ print " */"
+ print "module *ap_preloaded_modules[] = {"
+ for (i = 0; i < pn; ++i) {
+ printf " &%s_module,\n", pmodules[i]
+ }
+ print " NULL"
+ print "};"
+ print ""
+}