summaryrefslogtreecommitdiff
path: root/devel/cmake/patches
diff options
context:
space:
mode:
authorryoon <ryoon>2014-07-17 13:44:28 +0000
committerryoon <ryoon>2014-07-17 13:44:28 +0000
commitcd269c07995bc321eb5eb2c8e272d99faf9a4631 (patch)
treec2a2c3b75b936de267a522f7636ac73ca316d014 /devel/cmake/patches
parentc3aebbea76d464af579d08ea8463849818482a30 (diff)
downloadpkgsrc-cd269c07995bc321eb5eb2c8e272d99faf9a4631.tar.gz
Add SCO OpenServer 5.0.7/3.2 support. Fix build.
Diffstat (limited to 'devel/cmake/patches')
-rw-r--r--devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake10
-rw-r--r--devel/cmake/patches/patch-Source_cmELF.cxx48
-rw-r--r--devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx19
3 files changed, 77 insertions, 0 deletions
diff --git a/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake b/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake
new file mode 100644
index 00000000000..95269dc4d48
--- /dev/null
+++ b/devel/cmake/patches/patch-Modules_Platform_SCO__SV.cmake
@@ -0,0 +1,10 @@
+$NetBSD: patch-Modules_Platform_SCO__SV.cmake,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* so filename versioning requires CMAKE_SHARED_LIBRARY_SONAME_C_FLAG.
+
+--- Modules/Platform/SCO_SV.cmake.orig 2014-01-16 17:15:08.000000000 +0000
++++ Modules/Platform/SCO_SV.cmake
+@@ -1,2 +1,3 @@
+ set(CMAKE_DL_LIBS "")
++set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h,")
+ include(Platform/UnixPaths)
diff --git a/devel/cmake/patches/patch-Source_cmELF.cxx b/devel/cmake/patches/patch-Source_cmELF.cxx
new file mode 100644
index 00000000000..58b414531a4
--- /dev/null
+++ b/devel/cmake/patches/patch-Source_cmELF.cxx
@@ -0,0 +1,48 @@
+$NetBSD: patch-Source_cmELF.cxx,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+
+--- Source/cmELF.cxx.orig 2014-01-16 17:15:08.000000000 +0000
++++ Source/cmELF.cxx
+@@ -28,6 +28,9 @@
+ #if defined(__sun)
+ # include <sys/link.h> // For dynamic section information
+ #endif
++#if defined(_SCO_DS)
++# include <link.h> // For DT_SONAME etc.
++#endif
+
+ //----------------------------------------------------------------------------
+ // Low-level byte swapping implementation.
+@@ -181,6 +184,8 @@ struct cmELFTypes32
+ };
+
+ // Configure the implementation template for 32-bit ELF files.
++#if !defined(_SCO_DS)
++// SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+ struct cmELFTypes64
+ {
+ typedef Elf64_Ehdr ELF_Ehdr;
+@@ -189,6 +194,7 @@ struct cmELFTypes64
+ typedef Elf64_Half ELF_Half;
+ static const char* GetName() { return "64-bit"; }
+ };
++#endif
+
+ //----------------------------------------------------------------------------
+ // Parser implementation template.
+@@ -764,11 +770,14 @@ cmELF::cmELF(const char* fname): Interna
+ // 32-bit ELF
+ this->Internal = new cmELFInternalImpl<cmELFTypes32>(this, fin, order);
+ }
++#if !defined(_SCO_DS)
++// SCO OpenServer 5.0.7/3.2 has not 64bit ELF support.
+ else if(ident[EI_CLASS] == ELFCLASS64)
+ {
+ // 64-bit ELF
+ this->Internal = new cmELFInternalImpl<cmELFTypes64>(this, fin, order);
+ }
++#endif
+ else
+ {
+ this->ErrorMessage = "ELF file class is not 32-bit or 64-bit.";
diff --git a/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx b/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx
new file mode 100644
index 00000000000..7fe47f9b0c3
--- /dev/null
+++ b/devel/cmake/patches/patch-Source_kwsys_SystemTools.cxx
@@ -0,0 +1,19 @@
+$NetBSD: patch-Source_kwsys_SystemTools.cxx,v 1.1 2014/07/17 13:44:28 ryoon Exp $
+
+* SCO OpenServer 5.0.7/3.2's command has 711 permission.
+
+--- Source/kwsys/SystemTools.cxx.orig 2014-01-16 17:15:08.000000000 +0000
++++ Source/kwsys/SystemTools.cxx
+@@ -1071,7 +1071,12 @@ bool SystemTools::FileExists(const char*
+ #elif defined(_WIN32)
+ return WindowsFileExists(filename);
+ #else
++// SCO OpenServer 5.0.7/3.2's command has 711 permission.
++# if defined(_SCO_DS)
++ return access(filename, F_OK) == 0;
++# else
+ return access(filename, R_OK) == 0;
++# endif
+ #endif
+ }
+