]> granicus.if.org Git - apache/commitdiff
install libhttpd.exp
authorJeff Trawick <trawick@apache.org>
Sun, 22 Sep 2013 01:15:29 +0000 (01:15 +0000)
committerJeff Trawick <trawick@apache.org>
Sun, 22 Sep 2013 01:15:29 +0000 (01:15 +0000)
install mod_foo.lib and mod_foo.exp for modules which APIs
that other modules need to link against (e.g., mod_dav, mod_proxy,
etc.)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1525308 13f79535-47bb-0310-9956-ffa450edef68

CMakeLists.txt
README.cmake

index 16e536c4d8ce034cb7ba03d1ee722699d7af2bc8..72a7a36c8d3a82bc63005bf2f9780771e78bc991 100644 (file)
@@ -318,6 +318,9 @@ IF(NOT ${minorversion} STREQUAL "4")
   )
 ENDIF()
 
+# Track which modules actually built have APIs to link against.
+SET(installed_mod_libs_exps)
+
 # Define extra definitions, sources, headers, etc. required by some modules.
 # This could be included in the master list of modules above, though it 
 # certainly would get a lot more unreadable.
@@ -331,6 +334,7 @@ SET(mod_cache_extra_defines          CACHE_DECLARE_EXPORT)
 SET(mod_cache_extra_sources
   modules/cache/cache_storage.c      modules/cache/cache_util.c
 )
+SET(mod_cache_install_lib 1)
 SET(mod_cache_disk_extra_libs        mod_cache)
 SET(mod_cache_socache_extra_libs     mod_cache)
 SET(mod_charset_lite_requires        APR_HAS_XLATE)
@@ -340,6 +344,7 @@ SET(mod_dav_extra_sources
   modules/dav/main/std_liveprop.c    modules/dav/main/providers.c
   modules/dav/main/util.c            modules/dav/main/util_lock.c
 )
+SET(mod_dav_install_lib 1)
 SET(mod_dav_fs_extra_sources
   modules/dav/fs/dbm.c               modules/dav/fs/lock.c
   modules/dav/fs/repos.c
@@ -374,6 +379,7 @@ SET(mod_lua_requires                 LUA51_FOUND)
 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)
+SET(mod_proxy_install_lib 1)
 SET(mod_proxy_ajp_extra_sources
   modules/proxy/ajp_header.c         modules/proxy/ajp_link.c
   modules/proxy/ajp_msg.c            modules/proxy/ajp_utils.c
@@ -399,6 +405,7 @@ SET(mod_sed_extra_sources
 )
 SET(mod_serf_requires                AN_UNIMPLEMENTED_SUPPORT_LIBRARY_REQUIREMENT)
 SET(mod_session_extra_defines        SESSION_DECLARE_EXPORT)
+SET(mod_session_install_lib 1)
 SET(mod_session_cookie_extra_libs    mod_session)
 SET(mod_session_crypto_requires      APU_HAVE_CRYPTO)
 SET(mod_session_crypto_extra_libs    mod_session)
@@ -420,6 +427,7 @@ SET(mod_ssl_extra_sources
   modules/ssl/ssl_util_ssl.c         modules/ssl/ssl_util_stapling.c
 )
 SET(mod_status_extra_defines         STATUS_DECLARE_EXPORT)
+SET(mod_watchdog_install_lib 1)
 SET(mod_xml2enc_requires             LIBXML2_FOUND)
 IF(LIBXML2_FOUND)
   SET(mod_xml2enc_extra_includes     "${LIBXML2_INCLUDE_DIR};${LIBXML2_ICONV_INCLUDE_DIR}")
@@ -694,6 +702,13 @@ FOREACH (mod ${MODULE_PATHS})
     ADD_LIBRARY(${mod_name} SHARED ${all_mod_sources} build/win32/httpd.rc)
     SET(install_modules ${install_modules} ${mod_name})
     SET(install_modules_pdb ${install_modules_pdb} "${PROJECT_BINARY_DIR}/${mod_name}.pdb")
+    IF("${${mod_name}_install_lib}")
+      SET(installed_mod_libs_exps
+          ${installed_mod_libs_exps}
+          "${PROJECT_BINARY_DIR}/${mod_name}.lib"
+          "${PROJECT_BINARY_DIR}/${mod_name}.exp"
+      )
+    ENDIF()
     SET(mod_extra_libs "${mod_name}_extra_libs")
     SET_TARGET_PROPERTIES(${mod_name} PROPERTIES
       SUFFIX .so
@@ -836,6 +851,8 @@ INSTALL(DIRECTORY include/ DESTINATION include
     FILES_MATCHING PATTERN "*.h"
 )
 INSTALL(FILES ${other_installed_h} DESTINATION include)
+INSTALL(FILES ${installed_mod_libs_exps} DESTINATION lib)
+INSTALL(FILES "${CMAKE_BINARY_DIR}/libhttpd.exp" DESTINATION LIB)
 
 IF(INSTALL_MANUAL) # Silly?  This takes a while, and a dev doesn't need it.
   INSTALL(DIRECTORY docs/manual/ DESTINATION manual)
index 112d4a7d5355953bec789cadf3bf702d87f3e692..f67f698da6e676e210c5d99552960a8d8887a17d 100644 (file)
@@ -281,8 +281,6 @@ Known Bugs and Limitations
 * ApacheMonitor has a build error and is disabled
 * CGI examples aren't installed
 * dbmmanage.pl and wintty aren't built/installed
-* mod_dav.lib and any similar libraries aren't installed, nor are any .exp
-  files (though I'm not sure that is a problem)
 * module enablement defaults are not in sync with the autoconf-based build
 * no support for static support library builds; unclear if that is a
   requirement; if so: taking PCRE as an example, we'd need to detect that it