From 13bb940da2a0067a4b18fdcc63d5567fafaa2029 Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Tue, 4 Nov 2008 07:11:16 +0000 Subject: [PATCH] Add support for PowerPC to devel/nspr. There were two things missing in the nspr port that prevented it from being properly compiled on PowerPC: - A string definition of the processor platform ("powerpc"). - Definitions of byte ordering and sizes of standard C types. I copied the second list of definitions from _linux.cfg. The values used by _openbsd.cfg and _netbsd.cfg are not accurate (size and alignment of int64 is incorrect). Approved by: marcus --- .../files/patch-.._pr_include_md__freebsd.cfg | 54 +++++++++++++++++++ .../files/patch-.._pr_include_md__freebsd.h | 15 ++++-- 2 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 devel/nspr/files/patch-.._pr_include_md__freebsd.cfg diff --git a/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg b/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg new file mode 100644 index 000000000000..ee0a6a27eab5 --- /dev/null +++ b/devel/nspr/files/patch-.._pr_include_md__freebsd.cfg @@ -0,0 +1,54 @@ +--- ../pr/include/md/_freebsd.cfg ++++ ../pr/include/md/_freebsd.cfg +@@ -283,6 +283,51 @@ + #define PR_ALIGN_OF_POINTER 8 + #define PR_ALIGN_OF_WORD 8 + ++#elif defined(__powerpc__) ++ ++#undef IS_LITTLE_ENDIAN ++#define IS_BIG_ENDIAN 1 ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 8 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 8 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" diff --git a/devel/nspr/files/patch-.._pr_include_md__freebsd.h b/devel/nspr/files/patch-.._pr_include_md__freebsd.h index b02b5a35df21..724f58b21b3d 100644 --- a/devel/nspr/files/patch-.._pr_include_md__freebsd.h +++ b/devel/nspr/files/patch-.._pr_include_md__freebsd.h @@ -1,6 +1,15 @@ ---- ../pr/include/md/_freebsd.h.orig Mon Nov 22 16:24:53 2004 -+++ ../pr/include/md/_freebsd.h Sun Jul 23 13:15:29 2006 -@@ -106,6 +106,16 @@ +--- ../pr/include/md/_freebsd.h ++++ ../pr/include/md/_freebsd.h +@@ -57,6 +57,8 @@ + #define _PR_SI_ARCHITECTURE "ia64" + #elif defined(__amd64__) + #define _PR_SI_ARCHITECTURE "amd64" ++#elif defined(__powerpc__) ++#define _PR_SI_ARCHITECTURE "powerpc" + #else + #error "Unknown CPU architecture" + #endif +@@ -106,6 +108,16 @@ #define _PR_IPV6_V6ONLY_PROBE #endif