chantra / rpms / rpm

Forked from rpms/rpm 2 years ago
Clone
Blob Blame History Raw
diff --git a/installplatform b/installplatform
index 9a11bc3..6908f02 100755
--- a/installplatform
+++ b/installplatform
@@ -54,12 +54,18 @@ for ARCH in noarch `grep ^arch_canon $RPMRC | cut -d: -f2`; do
 	CANONARCH=s390x
 	CANONCOLOR=3
 	;;
-    ppc64*)
+    ppc64|ppc64p7)
 	ISANAME=ppc
 	ISABITS=64
 	CANONARCH=ppc64
 	CANONCOLOR=3
 	;;
+    ppc64le)
+	ISANAME=ppc
+        ISABITS=64
+        CANONARCH=ppc64le
+        CANONCOLOR=3
+	;;
     ppc*)
 	ISANAME=ppc
 	ISABITS=32
diff --git a/lib/rpmrc.c b/lib/rpmrc.c
index 794d028..f209851 100644
--- a/lib/rpmrc.c
+++ b/lib/rpmrc.c
@@ -1125,6 +1125,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
 #	endif	/* sparc*-linux */
 
 #	if defined(__linux__) && defined(__powerpc__)
+#	if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 	{
             int powerlvl;
             if (!rstreq(un.machine, "ppc") &&
@@ -1133,6 +1134,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
                 strcpy(un.machine, "ppc64p7");
 	    }
         }
+#	endif	/* __ORDER_BIG_ENDIAN__ */
 #	endif	/* ppc64*-linux */
 
 #	if defined(__GNUC__) && defined(__alpha__)
diff --git a/rpmrc.in b/rpmrc.in
index 55ff25f..affb736 100644
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -48,6 +48,7 @@ optflags: ppc32dy4 -O2 -g -fsigned-char
 optflags: ppciseries -O2 -g -fsigned-char
 optflags: ppcpseries -O2 -g -fsigned-char
 optflags: ppc64 -O2 -g -fsigned-char
+optflags: ppc64le -O2 -g -fsigned-char
 optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fsigned-char
 
 optflags: parisc -O2 -g -mpa-risc-1-0
@@ -96,6 +97,7 @@ archcolor: sparc64 2
 archcolor: sparcv9 2
 archcolor: ppc 1
 archcolor: ppc64 2
+archcolor: ppc64le 2
 
 archcolor: armv3l 1
 archcolor: armv4b 1
@@ -194,6 +196,7 @@ arch_canon:	i370: i370	14
 arch_canon:	s390x: s390x	15
 
 arch_canon:	ppc64:	ppc64	16
+arch_canon:	ppc64le:	ppc64le	16
 arch_canon:    ppc64pseries: ppc64pseries  16
 arch_canon:    ppc64iseries: ppc64iseries  16
 arch_canon:    ppc64p7: ppc64p7  16
@@ -281,6 +284,7 @@ buildarchtranslate: ppcpseries: ppc
 buildarchtranslate: ppc64iseries: ppc64
 buildarchtranslate: ppc64pseries: ppc64
 buildarchtranslate: ppc64p7: ppc64
+buildarchtranslate: ppc64le: ppc64le
 
 buildarchtranslate: armv3l: armv3l
 buildarchtranslate: armv4b: armv4b
@@ -352,6 +356,7 @@ arch_compat: rs6000: noarch fat
 arch_compat: ppc64pseries: ppc64
 arch_compat: ppc64iseries: ppc64
 arch_compat: ppc64p7: ppc64
+arch_compat: ppc64le: noarch fat
 
 arch_compat: sun4c: sparc
 arch_compat: sun4d: sparc
@@ -475,6 +480,7 @@ buildarch_compat: ppciseries: noarch
 buildarch_compat: ppcpseries: noarch
 buildarch_compat: ppc: noarch fat
 buildarch_compat: ppc64: noarch fat
+buildarch_compat: ppc64le: noarch fat
 buildarch_compat: ppc64pseries: ppc64
 buildarch_compat: ppc64iseries: ppc64
 buildarch_compat: ppc64p7: ppc64
diff --git a/macros.in b/macros.in
index 2e693e1..5a075a3 100644
--- a/macros.in
+++ b/macros.in
@@ -1002,7 +1002,7 @@ done \
 
 #------------------------------------------------------------------------------
 # arch macro for all supported PowerPC 64 processors
-%power64	ppc64 ppc64p7
+%power64	ppc64 ppc64p7 ppc64le
 
 #------------------------------------------------------------------------
 # Use in %install to generate locale specific file lists. For example,