Prechádzať zdrojové kódy

Support GNU/kFreeBSD

GNU/kFreeBSD = FreeBSD kernel + userspace with glibc.  Linux.cmake
doesn't contain anything too OS specific, so we can forward to it.

Here are outputs of /bin/uname on author's machine:
  uname -p ==> i386
  uname -o ==> GNU/kFreeBSD
  uname -s ==> GNU/kFreeBSD
  uname -r ==> 5.4-1-686

Patch from Modestas Vainius.  See issue #9659.
Brad King 16 rokov pred
rodič
commit
451d68b7e3

+ 6 - 0
Modules/CMakeDetermineSystem.cmake

@@ -25,6 +25,7 @@
 # HP-UX                         HP-UX  
 # IRIX                          IRIX  
 # Linux                         Linux  
+# GNU/kFreeBSD                  GNU/kFreeBSD
 # NetBSD                        NetBSD  
 # OpenBSD                       OpenBSD  
 # OFS/1 (Digital Unix)          OSF1  
@@ -121,6 +122,11 @@ MACRO(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
     SET(${_PREFIX}_NAME BSDOS)
   ENDIF(${_PREFIX}_NAME MATCHES BSD.OS)
 
+  # fix for GNU/kFreeBSD, remove the GNU/
+  IF(${_PREFIX}_NAME MATCHES kFreeBSD)
+    SET(${_PREFIX}_NAME kFreeBSD)
+  ENDIF(${_PREFIX}_NAME MATCHES kFreeBSD)
+
   # fix for CYGWIN which has windows version in it 
   IF(${_PREFIX}_NAME MATCHES CYGWIN)
     SET(${_PREFIX}_NAME CYGWIN)

+ 1 - 11
Modules/Platform/kFreeBSD.cmake

@@ -1,12 +1,2 @@
 # kFreeBSD looks just like Linux.
-SET(CMAKE_DL_LIBS "dl")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")        
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-rdynamic")  
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-soname,")
-
-INCLUDE(Platform/UnixPaths)
+INCLUDE(Platform/Linux)