diff options
author | Jeff Trawick <trawick@apache.org> | 2013-09-08 00:28:23 +0200 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2013-09-08 00:28:23 +0200 |
commit | 3ad8be382d862e91dc3d5a5627cda54cfd65e3d2 (patch) | |
tree | d560cafcd9cd0afaeaaf7abfe6669a0b7dbdc16a | |
parent | Add macro for checking apr/apu defines like APR_HAS_feature, (diff) | |
download | apache2-3ad8be382d862e91dc3d5a5627cda54cfd65e3d2.tar.xz apache2-3ad8be382d862e91dc3d5a5627cda54cfd65e3d2.zip |
handle mod_ldap/mod_authnz_ldap, along with tiny infrastructure
for modules whose main source doesn't match the module name
(i.e., util_ldap.c vs. mod_ldap)
please let mod_ldap be the only user of that support foreverandever
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1520819 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | CMakeLists.txt | 30 | ||||
-rw-r--r-- | README.cmake | 3 |
2 files changed, 26 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ffad294523..e2e7977e95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,8 +38,14 @@ STRING(REGEX REPLACE ${minorversion_regex} "\\1" minorversion ${minorversion}) # otherwise, default to APR 1.x + APR-util 1.x IF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libapr-2.lib") SET(default_apr_libraries "${CMAKE_INSTALL_PREFIX}/lib/libapr-2.lib") +ELSEIF(EXISTS "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib") + SET(ldaplib "${CMAKE_INSTALL_PREFIX}/lib/apr_ldap-1.lib") + IF(NOT EXISTS ${ldaplib}) + SET(ldaplib) + ENDIF() + SET(default_apr_libraries ${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib ${CMAKE_INSTALL_PREFIX}/lib/libaprutil-1.lib ${ldaplib}) ELSE() - SET(default_apr_libraries "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib;${CMAKE_INSTALL_PREFIX}/lib/libaprutil-1.lib") + SET(default_apr_libraries) ENDIF() # PCRE names its libraries differently for debug vs. release builds. @@ -168,7 +174,7 @@ SET(MODULE_LIST "modules/aaa/mod_authn_dbm.c+I+DBM-based authentication control" "modules/aaa/mod_authn_file.c+A+file-based authentication control" "modules/aaa/mod_authn_socache.c+I+Cached authentication control" - "modules/aaa/mod_authnz_ldap.c+O+LDAP based authentication" + "modules/aaa/mod_authnz_ldap.c+i+LDAP based authentication" "modules/aaa/mod_authz_core.c+A+core authorization provider vector module" "modules/aaa/mod_authz_dbd.c+I+SQL based authorization and Login/Session support" "modules/aaa/mod_authz_dbm.c+I+DBM-based authorization control" @@ -221,7 +227,7 @@ SET(MODULE_LIST "modules/generators/mod_info.c+I+server information" "modules/generators/mod_status.c+I+process/thread monitoring" "modules/http/mod_mime.c+A+mapping of file-extension to MIME. Disabling this module is normally not recommended." - "modules/ldap/mod_ldap.c+O+LDAP caching and connection pooling services" + "modules/ldap/mod_ldap.c+i+LDAP caching and connection pooling services" "modules/loggers/mod_log_config.c+A+logging configuration. You won't be able to log requests to the server without this module." "modules/loggers/mod_log_debug.c+I+configurable debug logging" "modules/loggers/mod_log_forensic.c+I+forensic logging" @@ -292,6 +298,7 @@ ENDIF() # certainly would get a lot more unreadable. SET(mod_authz_dbd_extra_defines AUTHZ_DBD_DECLARE_EXPORT) SET(mod_authnz_ldap_requires APR_HAS_LDAP) +SET(mod_authnz_ldap_extra_libs mod_ldap) SET(mod_cache_extra_defines CACHE_DECLARE_EXPORT) SET(mod_cache_extra_sources modules/cache/cache_storage.c modules/cache/cache_util.c @@ -319,7 +326,13 @@ IF(ZLIB_FOUND) SET(mod_deflate_extra_libs ${ZLIB_LIBRARIES}) ENDIF() SET(mod_heartbeat_extra_libs mod_watchdog) -SET(mod_authnz_ldap_requires APR_HAS_LDAP) +SET(mod_ldap_extra_defines LDAP_DECLARE_EXPORT) +SET(mod_ldap_extra_libs wldap32) +SET(mod_ldap_extra_sources + modules/ldap/util_ldap_cache.c modules/ldap/util_ldap_cache_mgr.c +) +SET(mod_ldap_main_source modules/ldap/util_ldap.c) +SET(mod_ldap_requires APR_HAS_LDAP) SET(mod_optional_hook_export_extra_defines AP_DECLARE_EXPORT) # bogus reuse of core API prefix SET(mod_proxy_extra_defines PROXY_DECLARE_EXPORT) SET(mod_proxy_extra_sources modules/proxy/proxy_util.c) @@ -606,8 +619,15 @@ FOREACH (mod ${MODULE_SRCS}) ENDIF() # Handle building it. + SET(mod_main_source "${mod_name}_main_source") SET(mod_extra_sources "${mod_name}_extra_sources") - SET(all_mod_sources ${mod} ${${mod_extra_sources}}) + + IF("${${mod_main_source}}" STREQUAL "") + SET(tmp_mod_main_source ${mod}) + ELSE() + SET(tmp_mod_main_source ${${mod_main_source}}) + ENDIF() + SET(all_mod_sources ${tmp_mod_main_source} ${${mod_extra_sources}}) ADD_LIBRARY(${mod_name} SHARED ${all_mod_sources}) SET(install_modules ${install_modules} ${mod_name}) SET(mod_extra_libs "${mod_name}_extra_libs") diff --git a/README.cmake b/README.cmake index 483a5f2ea7..9f97297983 100644 --- a/README.cmake +++ b/README.cmake @@ -191,8 +191,7 @@ Known Bugs and Limitations * no logic to find support libraries needed by some modules (distcache, serf) * no working support for building these modules: - + mod_ldap, mod_authnz_ldap, mod_socache_dc, mod_lua, mod_serf, - apreq+mod_apreq + + mod_socache_dc, mod_lua, mod_serf, apreq+mod_apreq + additionally, mod_lbmethod_rr and mod_firehose don't compile on Windows anyway * buildmark.c isn't necessarily rebuilt when httpd.exe is regenerated |