aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2018-02-08 20:40:32 +0100
committerMihai Moldovan <ionic@ionic.de>2018-02-08 21:48:27 +0100
commitf76d4b54118627adb13dd896537c01033d989158 (patch)
tree6e41313412b9066f7201e2e4262d7db61d64fdd3
parentaecdb52661898d0ba400a61550fa6ce9c0a4d829 (diff)
downloadnx-libs-f76d4b54118627adb13dd896537c01033d989158.tar.gz
nx-libs-f76d4b54118627adb13dd896537c01033d989158.tar.bz2
nx-libs-f76d4b54118627adb13dd896537c01033d989158.zip
nx-X11/config/cf/{Imake.{cf,tmpl},{linux,xorg}.cf}: support ppc64le alongside ppc64(be).
On PPC64*, X_BYTE_ORDER was hardcoded to X_BIG_ENDIAN. Since the CPUs support both modes and we actually intend to execute nxagent on ppc64le as well, detect the actual endianess and add support for Ppc64LeArchitecture.
-rw-r--r--nx-X11/config/cf/Imake.cf19
-rw-r--r--nx-X11/config/cf/Imake.tmpl2
-rw-r--r--nx-X11/config/cf/linux.cf6
-rw-r--r--nx-X11/config/cf/xorg.cf3
4 files changed, 24 insertions, 6 deletions
diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf
index 676c7ebc5..9d683b858 100644
--- a/nx-X11/config/cf/Imake.cf
+++ b/nx-X11/config/cf/Imake.cf
@@ -858,10 +858,25 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686
# undef __powerpc__
# endif
# ifdef __powerpc64__
-# ifndef Ppc64Architecture
-# define Ppc64Architecture
+/* Can be both BE or LE. Trust that __BYTE_ORDER__ is set. */
+# undef tmp_set_big_endian
+# define tmp_set_big_endian 1
+# if defined (__BYTE_ORDER__) && defined (__ORDER_LITTLE_ENDIAN__) && defined (__ORDER_BIG_ENDIAN__)
+# if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+# define tmp_set_big_endian 0
+# endif
+# endif
+# if tmp_set_big_endian
+# ifndef Ppc64Architecture
+# define Ppc64Architecture
+# endif
+# else
+# ifndef Ppc64LeArchitecture
+# define Ppc64LeArchitecture
+# endif
# endif
# undef __powerpc64__
+# undef tmp_set_big_endian
# endif
# ifdef sparc
# define SparcArchitecture
diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl
index 285b53480..86222d12a 100644
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -507,6 +507,8 @@ XCOMM the platform-specific parameters - edit site.def to change
#define ByteOrder X_BIG_ENDIAN
#elif defined(PpcArchitecture) || defined(Ppc64Architecture)
#define ByteOrder X_BIG_ENDIAN
+#elif defined(Ppc64LeArchitecture)
+#define ByteOrder X_LITTLE_ENDIAN
#elif defined(HPArchitecture)
#define ByteOrder X_BIG_ENDIAN
#elif defined(SuperHArchitecture)
diff --git a/nx-X11/config/cf/linux.cf b/nx-X11/config/cf/linux.cf
index 87e97235a..df7837c9e 100644
--- a/nx-X11/config/cf/linux.cf
+++ b/nx-X11/config/cf/linux.cf
@@ -457,7 +457,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define MkdirHierCmd mkdir -p
#ifndef HaveLib64
-# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture)
+# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture) || defined (Ppc64LeArchitecture)
# define HaveLib64 YES
# else
# define HaveLib64 NO
@@ -480,7 +480,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
# define CplusplusCmd c++ -m32
# endif
# endif
-# if defined (Ppc64Architecture)
+# if defined (Ppc64Architecture) || defined (Ppc64LeArchitecture)
# ifndef CcCmd
# define CcCmd gcc -m64
# endif
@@ -764,7 +764,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
# endif
#endif
-#ifdef Ppc64Architecture
+#if defined (Ppc64Architecture) || defined (Ppc64LeArchitecture)
# define DefaultCCOptions -std=c99 GccWarningOptions -mminimal-toc
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2Ppc64Opt
diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf
index b68d11c4c..dc8a77362 100644
--- a/nx-X11/config/cf/xorg.cf
+++ b/nx-X11/config/cf/xorg.cf
@@ -243,6 +243,7 @@ NX_VERSION_CURRENT_STRING = nxVersionString
defined(AMD64Architecture) || defined(SparcArchitecture) || \
defined(Sparc64Architecture) || defined(MipsArchitecture) || \
defined(AlphaArchitecture) || defined(PpcArchitecture) || \
+ defined(Ppc64Architecture) || defined(Ppc64LeArchitecture) || \
defined(Mc68020Architecture) || defined(Arm32Architecture) || \
defined(HPArchitecture) || defined(SuperHArchitecture)
# ifndef XorgServer
@@ -765,7 +766,7 @@ XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
# endif
#endif
-#if HasGcc2 && defined(Ppc64Architecture)
+#if HasGcc2 && (defined(Ppc64Architecture) || defined(Ppc64LeArchitecture))
# ifndef DefaultGcc2Ppc64Opt
# define DefaultGcc2Ppc64Opt -O2 GccAliasingArgs
# endif