ferdnyc / rpms / root

Forked from rpms/root 4 years ago
Clone
Blob Blame History Raw
diff -ur root-6.06.02.orig/cmake/modules/SetUpLinux.cmake root-6.06.02/cmake/modules/SetUpLinux.cmake
--- root-6.06.02.orig/cmake/modules/SetUpLinux.cmake	2016-04-06 10:07:33.109883779 +0200
+++ root-6.06.02/cmake/modules/SetUpLinux.cmake	2016-04-06 10:10:14.541179186 +0200
@@ -54,6 +54,32 @@
   else()
     message(FATAL_ERROR "There is no Setup for this compiler up to now. Don't know what to do. Stop cmake at this point.")
   endif()
+elseif(${SYSCTL_OUTPUT} MATCHES s390x)
+  message(STATUS "Found a 64bit system")
+  set(BIT_ENVIRONMENT "-m64")
+  set(SPECIAL_CINT_FLAGS "-DG__64BIT")
+  if(CMAKE_COMPILER_IS_GNUCXX)
+    message(STATUS "Found GNU compiler collection")
+    set(ROOT_ARCHITECTURE linuxs390xgcc)
+  elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+    message(STATUS "Found CLANG compiler")
+    set(ROOT_ARCHITECTURE linuxs390xgcc)
+  else()
+    message(FATAL_ERROR "There is no Setup for this compiler up to now. Don't know what to do. Stop cmake at this point.")
+  endif()
+elseif(${SYSCTL_OUTPUT} MATCHES s390)
+  message(STATUS "Found a 31bit system")
+  set(BIT_ENVIRONMENT "-m31")
+  set(SPECIAL_CINT_FLAGS "")
+  if(CMAKE_COMPILER_IS_GNUCXX)
+    message(STATUS "Found GNU compiler collection")
+    set(ROOT_ARCHITECTURE linuxs390gcc)
+  elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+    message(STATUS "Found CLANG compiler")
+    set(ROOT_ARCHITECTURE linuxs390gcc)
+  else()
+    message(FATAL_ERROR "There is no Setup for this compiler up to now. Don't know what to do. Stop cmake at this point.")
+  endif()
 else()
   message(STATUS "Found a 32bit system")
   set(BIT_ENVIRONMENT "-m32")
diff -ur root-6.06.02.orig/config/root-config.in root-6.06.02/config/root-config.in
--- root-6.06.02.orig/config/root-config.in	2016-04-06 09:48:35.837025323 +0200
+++ root-6.06.02/config/root-config.in	2016-04-06 10:13:04.506542626 +0200
@@ -215,6 +215,18 @@
    auxldflags="-m64"
    auxlibs="-lm -ldl -rdynamic"
    ;;
+linuxs390gcc)
+   # s390 (31 bit mode) Linux with gcc
+   auxcflags="${cxxversionflag} -Wno-deprecated-declarations -m31 -fsigned-char"
+   auxldflags="-m31"
+   auxlibs="-lm -ldl -rdynamic"
+   ;;
+linuxs390xgcc)
+   # s390x (64 bit mode) Linux with gcc
+   auxcflags="${cxxversionflag} -Wno-deprecated-declarations -m64 -fsigned-char"
+   auxldflags="-m64"
+   auxlibs="-lm -ldl -rdynamic"
+   ;;
 linuxx8664gcc)
    # AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
    auxcflags="${cxxversionflag} -Wno-deprecated-declarations -m64"
diff -ur root-6.06.02.orig/core/base/inc/RConfig.h root-6.06.02/core/base/inc/RConfig.h
--- root-6.06.02.orig/core/base/inc/RConfig.h	2016-03-03 10:36:03.000000000 +0100
+++ root-6.06.02/core/base/inc/RConfig.h	2016-04-06 10:10:14.675180260 +0200
@@ -202,6 +202,19 @@
 #   define NEED_SIGJMP
 #endif
 
+#if defined(linux) && defined(__s390__)
+#   define R__LINUX
+#   define R__UNIX
+#   define NEED_SIGJMP
+#endif
+
+#if defined(linux) && defined(__s390x__)
+#   define R__LINUX
+#   define R__UNIX
+#   define R__B64
+#   define NEED_SIGJMP
+#endif
+
 #if defined(__MACH__) && defined(__i386__) && !defined(__APPLE__)
 #   define R__HURD
 #   define f2cFortran   /* cfortran.h does not know HURD - sigh */
diff -ur root-6.06.02.orig/core/pcre/CMakeLists.txt root-6.06.02/core/pcre/CMakeLists.txt
--- root-6.06.02.orig/core/pcre/CMakeLists.txt	2016-04-06 09:53:37.247748077 +0200
+++ root-6.06.02/core/pcre/CMakeLists.txt	2016-04-06 10:16:45.144317047 +0200
@@ -54,6 +54,10 @@
     set(PCRE_CFLAGS "-O")
   elseif(ROOT_ARCHITECTURE MATCHES linuxarm)
     set(PCRE_CFLAGS "-O")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390x)
+    set(PCRE_CFLAGS "-m64 -O")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390)
+    set(PCRE_CFLAGS "-m31 -O")
   elseif(ROOT_ARCHITECTURE MATCHES linux)
     set(PCRE_CFLAGS "-m32 -O")
   elseif(ROOT_ARCHITECTURE MATCHES macosx64)
diff -ur root-6.06.02.orig/graf2d/asimage/BuildAfterImage.cmake root-6.06.02/graf2d/asimage/BuildAfterImage.cmake
--- root-6.06.02.orig/graf2d/asimage/BuildAfterImage.cmake	2016-04-06 09:53:37.258748191 +0200
+++ root-6.06.02/graf2d/asimage/BuildAfterImage.cmake	2016-04-06 10:17:44.948798562 +0200
@@ -49,6 +49,10 @@
     set(AFTER_CC "${AFTER_CC}")
   elseif(ROOT_ARCHITECTURE MATCHES linuxarm)
     set(AFTER_CC "${AFTER_CC}")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390x)
+    set(AFTER_CC "${AFTER_CC} -m64")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390)
+    set(AFTER_CC "${AFTER_CC} .m31")
   elseif(ROOT_ARCHITECTURE MATCHES linux)
     set(AFTER_CC "${AFTER_CC} -m32")
   elseif(ROOT_ARCHITECTURE MATCHES macosx64)
diff -ur root-6.06.02.orig/graf2d/freetype/CMakeLists.txt root-6.06.02/graf2d/freetype/CMakeLists.txt
--- root-6.06.02.orig/graf2d/freetype/CMakeLists.txt	2016-04-06 09:59:35.237876779 +0200
+++ root-6.06.02/graf2d/freetype/CMakeLists.txt	2016-04-06 10:18:44.239276178 +0200
@@ -56,6 +56,10 @@
     set(FREETYPE_CFLAGS "-O")
   elseif(ROOT_ARCHITECTURE MATCHES linuxarm)
     set(FREETYPE_CFLAGS "-O")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390x)
+    set(FREETYPE_CFLAGS "-m64 -O")
+  elseif(ROOT_ARCHITECTURE MATCHES linuxs390)
+    set(FREETYPE_CFLAGS "-m31 -O")
   elseif(ROOT_ARCHITECTURE MATCHES linux)
     set(FREETYPE_CFLAGS "-m32 -O")
   elseif(ROOT_ARCHITECTURE MATCHES macosx64)
diff -ur root-6.06.02.orig/interpreter/CMakeLists.txt root-6.06.02/interpreter/CMakeLists.txt
--- root-6.06.02.orig/interpreter/CMakeLists.txt	2016-04-06 09:53:37.270748316 +0200
+++ root-6.06.02/interpreter/CMakeLists.txt	2016-04-06 10:10:14.704180492 +0200
@@ -21,6 +21,8 @@
   set(ROOT_CLING_TARGET "ARM")
 elseif(ROOT_ARCHITECTURE MATCHES linuxppc64gcc)
   set(ROOT_CLING_TARGET "PowerPC")
+elseif(ROOT_ARCHITECTURE MATCHES linuxs390)
+  set(ROOT_CLING_TARGET "SystemZ")
 elseif(ROOT_ARCHITECTURE MATCHES linux)
   set(ROOT_CLING_TARGET "X86")
 elseif(ROOT_ARCHITECTURE MATCHES macosx)
diff -ur root-6.06.02.orig/interpreter/llvm/src/cmake/config-ix.cmake root-6.06.02/interpreter/llvm/src/cmake/config-ix.cmake
--- root-6.06.02.orig/interpreter/llvm/src/cmake/config-ix.cmake	2016-03-03 10:36:03.000000000 +0100
+++ root-6.06.02/interpreter/llvm/src/cmake/config-ix.cmake	2016-04-06 10:10:14.747180837 +0200
@@ -372,6 +372,8 @@
   set(LLVM_NATIVE_ARCH Hexagon)
 elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
   set(LLVM_NATIVE_ARCH SystemZ)
+elseif (LLVM_NATIVE_ARCH MATCHES "s390")
+  set(LLVM_NATIVE_ARCH SystemZ)
 else ()
   message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}")
 endif ()