]> source.dussan.org Git - tigervnc.git/commitdiff
Move setting of PIC code to a central location
authorDRC <dcommander@users.sourceforge.net>
Tue, 23 Aug 2011 20:35:06 +0000 (20:35 +0000)
committerDRC <dcommander@users.sourceforge.net>
Tue, 23 Aug 2011 20:35:06 +0000 (20:35 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4648 3789f03b-4d11-0410-bbf8-ca57d06f2519

common/CMakeLists.txt
common/Xregion/CMakeLists.txt
common/network/CMakeLists.txt
common/os/CMakeLists.txt
common/rdr/CMakeLists.txt
common/rfb/CMakeLists.txt
common/zlib/CMakeLists.txt

index 1d9f1d663b5726d7cd01f32f101d8508e09898bb..fd22455ae7c080279cee3a3b6deb206537fdf487 100644 (file)
@@ -14,3 +14,16 @@ add_subdirectory(rdr)
 add_subdirectory(network)
 add_subdirectory(Xregion)
 add_subdirectory(rfb)
+
+# For any convenience libraries that are linked into libvnc.so, we need to
+# explicitly build their corresponding sources using PIC.  WIN32 is excluded
+# because PIC code does not exist on that platform and MinGW complains if -fPIC
+# is passed (additionally, libvnc is not used on Windows.)
+
+if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
+  set_target_properties(os rdr network Xregion rfb
+    PROPERTIES COMPILE_FLAGS -fPIC)
+  if(USE_INCLUDED_ZLIB)
+    set_target_properties(zlib PROPERTIES COMPILE_FLAGS -fPIC)
+  endif()
+endif()
index a7788ebd48faa2c5d628111f2f4525027bd77337..40ca97e464028d014f556052f80e5ffb5e54e551 100644 (file)
@@ -1,14 +1,6 @@
 add_library(Xregion STATIC
   Region.c)
 
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
-endif()
-
 if(UNIX)
   libtool_create_control_file(Xregion)
 endif()
index 681d2912627ee8cfa7a296dc8cdb1434e2b634ce..ddde5745d042a70d8d695ba0e001b40df45b58d1 100644 (file)
@@ -3,14 +3,6 @@ include_directories(${CMAKE_SOURCE_DIR}/common)
 add_library(network STATIC
   TcpSocket.cxx)
 
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
-endif()
-
 if(UNIX)
   libtool_create_control_file(network)
 endif()
index 623a32f8b24f208e34948b01d6246fb6723f6247..82f11659abec1006bc28aea2cf4552588d30d6b1 100644 (file)
@@ -5,11 +5,3 @@ add_library(os STATIC
   net.c
   os.cxx
   tls.cxx)
-
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(os PROPERTIES COMPILE_FLAGS -fPIC)
-endif()
index 6d3ec1d601a19368f012ae1c6b564272c5ff2d1c..ee71a9bbfd5d8559842640d854660297ba4fddc7 100644 (file)
@@ -24,14 +24,6 @@ endif()
 
 target_link_libraries(rdr ${RDR_LIBRARIES})
 
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
-endif()
-
 if(UNIX)
   libtool_create_control_file(rdr)
 endif()
index f8c1a432ab2c13bec990c683bb182d62c6ee705d..be03c646f4d6c2d5b08c5d5b4457fe8795250b48 100644 (file)
@@ -95,14 +95,6 @@ add_library(rfb STATIC ${RFB_SOURCES})
 
 target_link_libraries(rfb ${RFB_LIBRARIES})
 
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
-endif()
-
 if(UNIX)
   libtool_create_control_file(rfb)
 endif()
index ecee0eb9f2e1e860d8834ff60a07a7733ef3f080..69f1c9f9badef7d6a79e73a2054a5e5b6ff84de5 100644 (file)
@@ -20,11 +20,3 @@ add_library(zlib STATIC
   trees.c
   uncompr.c
   zutil.c)
-
-# This code goes into libvnc.so, so it needs to be PIC on x86_64.
-# (It should be on other archs as well, but we prefer performance over memory
-# efficiency. Win64 is excluded because PIC is always on there and it
-# complains when you give it the explicit flag.)
-if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
-  set_target_properties(zlib PROPERTIES COMPILE_FLAGS -fPIC)
-endif()