mirror of
https://github.com/apache/httpd.git
synced 2025-07-23 00:50:44 +00:00

for -DWITH_MODULES option. * build/build-modules-c.cmake: (generate_builtin_modules_c): Function to generate modules.c. * CMakeLists.txt (): Use generate_builtin_modules_c() instead of `awk -f build/build-modules-c.awk` to generate modules.c file. * README.cmake: (Prerequisites, How to build): Do not mention awk as prerequisite. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1919413 13f79535-47bb-0310-9956-ffa450edef68
84 lines
3.4 KiB
CMake
84 lines
3.4 KiB
CMake
# 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.
|
|
|
|
function(generate_builtin_modules_c output_filename module_list)
|
|
list(PREPEND module_list "core")
|
|
|
|
set(content "")
|
|
|
|
string(APPEND content "/*\n")
|
|
string(APPEND content " * modules.c --- automatically generated by Apache\n")
|
|
string(APPEND content " * configuration script. DO NOT HAND EDIT!!!!!\n")
|
|
string(APPEND content " */\n")
|
|
string(APPEND content "\n")
|
|
string(APPEND content "#include \"ap_config.h\"\n")
|
|
string(APPEND content "#include \"httpd.h\"\n")
|
|
string(APPEND content "#include \"http_config.h\"\n")
|
|
string(APPEND content "\n")
|
|
|
|
foreach(module ${module_list})
|
|
string(APPEND content "extern module ${module}_module\;\n")
|
|
endforeach()
|
|
|
|
string(APPEND content "\n")
|
|
string(APPEND content "/*\n")
|
|
string(APPEND content " * Modules which implicitly form the\n")
|
|
string(APPEND content " * list of activated modules on startup,\n")
|
|
string(APPEND content " * i.e. these are the modules which are\n")
|
|
string(APPEND content " * initially linked into the Apache processing\n")
|
|
string(APPEND content " * [extendable under run-time via AddModule]\n")
|
|
string(APPEND content " */\n")
|
|
|
|
string(APPEND content "AP_DECLARE_DATA module *ap_prelinked_modules[] = {\n")
|
|
foreach(module ${module_list})
|
|
string(APPEND content " &${module}_module,\n")
|
|
endforeach()
|
|
string(APPEND content " NULL\n")
|
|
string(APPEND content "}\;\n")
|
|
|
|
string(APPEND content "\n")
|
|
string(APPEND content "/*\n")
|
|
string(APPEND content " * We need the symbols as strings for <IfModule> containers\n")
|
|
string(APPEND content " */\n")
|
|
string(APPEND content "\n")
|
|
string(APPEND content "ap_module_symbol_t ap_prelinked_module_symbols[] = {\n")
|
|
|
|
foreach(module ${module_list})
|
|
string(APPEND content " {\"${module}_module\", &${module}_module},\n")
|
|
endforeach()
|
|
|
|
string(APPEND content " {NULL, NULL}\n")
|
|
string(APPEND content "}\;\n")
|
|
string(APPEND content "\n")
|
|
string(APPEND content "/*\n")
|
|
string(APPEND content " * Modules which initially form the\n")
|
|
string(APPEND content " * list of available modules on startup,\n")
|
|
string(APPEND content " * i.e. these are the modules which are\n")
|
|
string(APPEND content " * initially loaded into the Apache process\n")
|
|
string(APPEND content " * [extendable under run-time via LoadModule]\n")
|
|
string(APPEND content " */\n")
|
|
string(APPEND content "module *ap_preloaded_modules[] = {\n")
|
|
|
|
foreach(module ${module_list})
|
|
string(APPEND content " &${module}_module,\n")
|
|
endforeach()
|
|
|
|
string(APPEND content " NULL\n")
|
|
string(APPEND content "}\;\n")
|
|
string(APPEND content "\n")
|
|
|
|
file(WRITE ${output_filename} ${content})
|
|
endfunction()
|