]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
specify base addresses for libhttpd.dll and modules; mention an issue about Perl...
authorJeff Trawick <trawick@apache.org>
Thu, 12 Sep 2013 12:22:46 +0000 (12:22 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 12 Sep 2013 12:22:46 +0000 (12:22 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1522547 13f79535-47bb-0310-9956-ffa450edef68

CMakeLists.txt
README.cmake

index e2ff1ed783c74719796124235669a43193f1ab7f..5605ab0a0dbf61d30085499e2aa791522c92cdf8 100644 (file)
@@ -482,6 +482,9 @@ ELSE()
   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/os/win32/modules.c ${PROJECT_BINARY_DIR}/ COPYONLY)
 ENDIF()
 
+# for easy reference from .dll/.so builds
+CONFIGURE_FILE(os/win32/BaseAddr.ref ${PROJECT_BINARY_DIR}/ COPYONLY)
+
 ADD_EXECUTABLE(gen_test_char server/gen_test_char.c)
 GET_TARGET_PROPERTY(GEN_TEST_CHAR_EXE gen_test_char LOCATION)
 ADD_CUSTOM_COMMAND(
@@ -690,7 +693,10 @@ FOREACH (mod ${MODULE_PATHS})
     SET(install_modules ${install_modules} ${mod_name})
     SET(install_modules_pdb ${install_modules_pdb} "${PROJECT_BINARY_DIR}/${mod_name}.pdb")
     SET(mod_extra_libs "${mod_name}_extra_libs")
-    SET_TARGET_PROPERTIES(${mod_name} PROPERTIES SUFFIX .so)
+    SET_TARGET_PROPERTIES(${mod_name} PROPERTIES
+      SUFFIX .so
+      LINK_FLAGS /base:@${PROJECT_BINARY_DIR}/BaseAddr.ref,${mod_name}.so
+    )
     TARGET_LINK_LIBRARIES(${mod_name} ${${mod_extra_libs}} libhttpd ${APR_LIBRARIES} ${HTTPD_SYSTEM_LIBS})
 
     # Extra defines?
@@ -712,6 +718,9 @@ ENDFOREACH()
 
 ###########   HTTPD LIBRARIES   ############
 ADD_LIBRARY(libhttpd SHARED ${LIBHTTPD_SOURCES})
+SET_TARGET_PROPERTIES(libhttpd PROPERTIES
+  LINK_FLAGS /base:@${PROJECT_BINARY_DIR}/BaseAddr.ref,libhttpd.dll
+)
 SET(install_targets ${install_targets} libhttpd)
 SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libhttpd.pdb)
 TARGET_LINK_LIBRARIES(libhttpd ${APR_LIBRARIES} ${PCRE_LIBRARIES} ${HTTPD_SYSTEM_LIBS})
index e0a33b69e80ec5abf75b0a541486c3b58f05159f..52db0e46373286167b8e1e46981c56fbd0ad330f 100644 (file)
@@ -278,9 +278,10 @@ Known Bugs and Limitations
 * 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
   is static and then turn on PCRE_STATIC for the libhttpd build
-* module base addresses aren't set
 * program attributes like descriptive name and version aren't set for most
   binaries
+* build/cpR_noreplace.pl doesn't declare what version of Perl is required
+  and doesn't work with File::Path that is missing make_path
 
 Generally: