summaryrefslogtreecommitdiff
path: root/build/build-modules-c.awk
diff options
context:
space:
mode:
authorManoj Kasichainula <manoj@apache.org>1999-12-05 08:54:39 +0000
committerManoj Kasichainula <manoj@apache.org>1999-12-05 08:54:39 +0000
commit869a58d8f701bbd9ef228b40186fa87f07763152 (patch)
treec611e40361de3b5daeb5dd9ec4a9916d17ef0074 /build/build-modules-c.awk
parent95c3a48df802e4d40bb8710b1c865018a38d02ee (diff)
downloadhttpd-869a58d8f701bbd9ef228b40186fa87f07763152.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/httpd/httpd/trunk@84223 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build/build-modules-c.awk')
-rw-r--r--build/build-modules-c.awk48
1 files changed, 48 insertions, 0 deletions
diff --git a/build/build-modules-c.awk b/build/build-modules-c.awk
new file mode 100644
index 0000000000..0da842152e
--- /dev/null
+++ b/build/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 ""
+}