| # Licensed to the Apache Software Foundation (ASF) under one or more | |
| # contributor license agreements. See the NOTICE file distributed with | |
| # this work for additional information regarding copyright ownership. | |
| # The ASF licenses this file to You under the Apache License, Version 2.0 | |
| # (the "License"); you may not use this file except in compliance with | |
| # the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| BEGIN { | |
| RS = " " | |
| # the core module must come first | |
| modules[n++] = "core" | |
| pmodules[pn++] = "core" | |
| } | |
| { | |
| modules[n] = $1; | |
| pmodules[pn] = $1; | |
| gsub("\n","",modules[n]); | |
| gsub("\n","",pmodules[pn]); | |
| ++n; | |
| ++pn; | |
| } | |
| END { | |
| print "/*" | |
| print " * modules.c --- automatically generated by Apache" | |
| print " * configuration script. DO NOT HAND EDIT!!!!!" | |
| print " */" | |
| print "" | |
| print "#include \"ap_config.h\"" | |
| 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 "AP_DECLARE_DATA module *ap_prelinked_modules[] = {" | |
| for (i = 0 ; i < n; ++i) { | |
| printf " &%s_module,\n", modules[i] | |
| } | |
| print " NULL" | |
| print "};" | |
| print "" | |
| print "/*" | |
| print " * We need the symbols as strings for <IfModule> containers" | |
| print " */" | |
| print "" | |
| print "AP_DECLARE_DATA ap_module_symbol_t ap_prelinked_module_symbols[] = {" | |
| for (i = 0; i < n; ++i) { | |
| printf (" {\"%s_module\", &%s_module},\n", modules[i], modules[i]) | |
| } | |
| print " {NULL, 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 "AP_DECLARE_DATA module *ap_preloaded_modules[] = {" | |
| for (i = 0; i < pn; ++i) { | |
| printf " &%s_module,\n", pmodules[i] | |
| } | |
| print " NULL" | |
| print "};" | |
| print "" | |
| } |