You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by pf...@apache.org on 2016/12/08 01:56:31 UTC

svn commit: r1773166 - in /openoffice/trunk/main: bridges/source/cpp_uno/gcc3_freebsd_powerpc64/ desktop/source/deployment/misc/ odk/settings/ sal/inc/osl/ sal/osl/unx/ solenv/gbuild/platform/ solenv/inc/ testtools/source/bridgetest/

Author: pfg
Date: Thu Dec  8 01:56:31 2016
New Revision: 1773166

URL: http://svn.apache.org/viewvc?rev=1773166&view=rev
Log:
Update endianness detection on FreeBSD.

This produces a working AOO on FreeBSD PowerPC64!

This is related to i126615 which was also fixed by Curtis a while ago.
Kudos for both contributions, makes me want to get a PowerPC to run
FreeBSD + AOO on it!

Author:	Curtis Hamilton -- cmhamilto at gmail

Modified:
    openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/makefile.mk
    openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/uno2cpp.cxx
    openoffice/trunk/main/desktop/source/deployment/misc/dp_platform.cxx
    openoffice/trunk/main/odk/settings/platform.mk
    openoffice/trunk/main/odk/settings/settings.mk
    openoffice/trunk/main/sal/inc/osl/endian.h
    openoffice/trunk/main/sal/osl/unx/system.h
    openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
    openoffice/trunk/main/solenv/inc/libs.mk
    openoffice/trunk/main/solenv/inc/unx.mk
    openoffice/trunk/main/solenv/inc/unxfbsd.mk
    openoffice/trunk/main/testtools/source/bridgetest/makefile.mk

Modified: openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/makefile.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/makefile.mk (original)
+++ openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/makefile.mk Thu Dec  8 01:56:31 2016
@@ -34,7 +34,7 @@ ENABLE_EXCEPTIONS=TRUE
 
 # --- Files --------------------------------------------------------
 
-.IF "$(COM)$(OS)$(CPU)$(COMNAME)$(CPUNAME)" == "GCCLINUXPgcc3POWERPC64"
+.IF "$(COM)$(OS)$(CPU)$(COMNAME)$(CPUNAME)" == "GCCFREEBSDPgcc3POWERPC64"
 
 .IF "$(cppu_no_leak)" == ""
 CFLAGS += -DLEAK_STATIC_DATA

Modified: openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/uno2cpp.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/uno2cpp.cxx?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/uno2cpp.cxx (original)
+++ openoffice/trunk/main/bridges/source/cpp_uno/gcc3_freebsd_powerpc64/uno2cpp.cxx Thu Dec  8 01:56:31 2016
@@ -24,7 +24,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
-#include <malloc.h>
+#include <stdlib.h>
 
 #include <com/sun/star/uno/genfunc.hxx>
 #include <uno/data.h>

Modified: openoffice/trunk/main/desktop/source/deployment/misc/dp_platform.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/desktop/source/deployment/misc/dp_platform.cxx?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/desktop/source/deployment/misc/dp_platform.cxx (original)
+++ openoffice/trunk/main/desktop/source/deployment/misc/dp_platform.cxx Thu Dec  8 01:56:31 2016
@@ -57,6 +57,7 @@
 #define PLATFORM_SOLARIS_SPARC64    "solaris_sparc64"
 #define PLATFORM_SOLARIS_X86        "solaris_x86"
 #define PLATFORM_FREEBSD_POWERPC    "freebsd_powerpc"
+#define PLATFORM_FREEBSD_POWERPC64  "freebsd_powerpc64"
 #define PLATFORM_FREEBSD_X86        "freebsd_x86"
 #define PLATFORM_FREEBSD_X86_64     "freebsd_x86_64"
 #define PLATFORM_MACOSX_X86         "macosx_x86"
@@ -135,6 +136,10 @@ namespace
             ret = checkOSandCPU(OUSTR("kFreeBSD"), OUSTR("X86_64"));  
         else if (token.equals(OUSTR(PLATFORM_LINUX_SPARC)))
             ret = checkOSandCPU(OUSTR("Linux"), OUSTR("SPARC"));  
+        else if (token.equals(OUSTR(PLATFORM_FREEBSD_POWERPC)))
+            ret = checkOSandCPU(OUSTR("FreeBSD"), OUSTR("PowerPC"));  
+        else if (token.equals(OUSTR(PLATFORM_FREEBSD_POWERPC64)))
+            ret = checkOSandCPU(OUSTR("FreeBSD"), OUSTR("PowerPC64"));  
         else if (token.equals(OUSTR(PLATFORM_LINUX_POWERPC)))
             ret = checkOSandCPU(OUSTR("Linux"), OUSTR("PowerPC"));  
         else if (token.equals(OUSTR(PLATFORM_LINUX_POWERPC64)))

Modified: openoffice/trunk/main/odk/settings/platform.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/odk/settings/platform.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/odk/settings/platform.mk (original)
+++ openoffice/trunk/main/odk/settings/platform.mk Thu Dec  8 01:56:31 2016
@@ -34,6 +34,9 @@ else
 	ifeq "$(UNOPKG_PLATFORM)" "Linux_PowerPC"
 		EXTENSION_PLATFORM=linux_powerpc
 	else
+	ifeq "$(UNOPKG_PLATFORM)" "FreeBSD_PowerPC64"
+		EXTENSION_PLATFORM=freebsd_powerpc64
+	else
 	ifeq "$(UNOPKG_PLATFORM)" "Linux_x86"
 		EXTENSION_PLATFORM=linux_x86
 	else

Modified: openoffice/trunk/main/odk/settings/settings.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/odk/settings/settings.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/odk/settings/settings.mk (original)
+++ openoffice/trunk/main/odk/settings/settings.mk Thu Dec  8 01:56:31 2016
@@ -507,6 +507,9 @@ UNOPKG_PLATFORM=FreeBSD_x86_64
 else
 UNOPKG_PLATFORM=FreeBSD_x86
 endif
+ifeq "$(PROCTYPE)" "powerpc"
+UNOPKG_PLATFORM=FreeBSD_ppc
+endif
 endif
 
 ifeq "$(PROCTYPE)" "x86_64"
@@ -515,6 +518,10 @@ else
 JAVA_PROC_TYPE=i386
 endif
 
+ifeq "$(PROCTYPE)" "powerpc64"
+JAVA_PROC_TYPE=ppc64
+endif
+
 ifeq (kfreebsd,$(findstring kfreebsd,$(PLATFORM)))
 OS=LINUX
 else

Modified: openoffice/trunk/main/sal/inc/osl/endian.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/inc/osl/endian.h?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/sal/inc/osl/endian.h (original)
+++ openoffice/trunk/main/sal/inc/osl/endian.h Thu Dec  8 01:56:31 2016
@@ -73,16 +73,14 @@ extern "C" {
 #ifdef FREEBSD
 #   include <sys/param.h>
 #   include <machine/endian.h>
-#if __FreeBSD_version < 500000
 #   if BYTE_ORDER == LITTLE_ENDIAN
-#   	define _LITTLE_ENDIAN
+#   	undef _BIG_ENDIAN
 #   elif BYTE_ORDER == BIG_ENDIAN
-#   	define _BIG_ENDIAN
+#   	undef _LITTLE_ENDIAN
 #   elif BYTE_ORDER == PDP_ENDIAN
 #   	define _PDP_ENDIAN
 #   endif
 #endif
-#endif
 
 #ifdef SCO
 #   include <sys/types.h>

Modified: openoffice/trunk/main/sal/osl/unx/system.h
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/osl/unx/system.h?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/sal/osl/unx/system.h (original)
+++ openoffice/trunk/main/sal/osl/unx/system.h Thu Dec  8 01:56:31 2016
@@ -126,6 +126,8 @@
 
 #endif
 
+#include <osl/endian.h>
+
 #ifdef NETBSD
 #	define  ETIME ETIMEDOUT
 #	define _POSIX_THREAD_SYSCALL_SOFT 1
@@ -176,15 +178,13 @@
 #   include <netinet/tcp.h>
 #	define 	IORESOURCE_TRANSFER_BSD 
 #   include <machine/endian.h>
-#if __FreeBSD_version < 500000
 #   if BYTE_ORDER == LITTLE_ENDIAN
-#   	define _LITTLE_ENDIAN
+#   	undef _BIG_ENDIAN
 #   elif BYTE_ORDER == BIG_ENDIAN
-#   	define _BIG_ENDIAN
+#   	undef _LITTLE_ENDIAN
 #   elif BYTE_ORDER == PDP_ENDIAN
 #   	define _PDP_ENDIAN
 #   endif
-#endif
 #	define  NO_PTHREAD_RTL
 #endif
 

Modified: openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk (original)
+++ openoffice/trunk/main/solenv/gbuild/platform/freebsd.mk Thu Dec  8 01:56:31 2016
@@ -36,6 +36,10 @@ ifeq ($(CPU),X)
 CPUNAME := X86_64
 endif
 
+ifeq ($(CPU),P)
+CPUNAME := POWERPC64
+endif
+
 # use CC/CXX if they are nondefaults
 ifneq ($(origin CC),default)
 gb_CC := $(CC)
@@ -68,6 +72,12 @@ else
 gb_CPUDEFS := -DX86
 endif
 
+ifeq ($(CPUNAME),POWERPC64)
+gb_CPUDEFS := -D$(CPUNAME)
+else
+gb_CPUDEFS := -DPOWERPC64
+endif
+
 gb_CFLAGS := \
 	-Wall \
 	-Wendif-labels \

Modified: openoffice/trunk/main/solenv/inc/libs.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/inc/libs.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/inc/libs.mk (original)
+++ openoffice/trunk/main/solenv/inc/libs.mk Thu Dec  8 01:56:31 2016
@@ -237,6 +237,9 @@ NEON3RDLIB=$(SOLARLIBDIR)/libneon.dylib
 .ELSE
 NEON3RDLIB=-lneon
 .ENDIF
+.IF "$(OS)" == "FREEBSD" && "$(CPUNAME)" == "POWERPC64"
+JPEG3RDLIB=/usr/local/lib/libjpeg.so
+.ENDIF
 CURLLIB=-lcurl
 SFX2LIB=-lsfx$(DLLPOSTFIX)
 SFXLIB=-lsfx$(DLLPOSTFIX)

Modified: openoffice/trunk/main/solenv/inc/unx.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/inc/unx.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/inc/unx.mk (original)
+++ openoffice/trunk/main/solenv/inc/unx.mk Thu Dec  8 01:56:31 2016
@@ -95,6 +95,10 @@
 .INCLUDE : unxlngppc64.mk
 .ENDIF
 
+.IF "$(COM)$(OS)$(CPU)$(CPUNAME)" == "GCCFREEBSDPPOWERPC64"
+.INCLUDE : unxfbsdp.mk
+.ENDIF
+
 .IF "$(COM)$(OS)$(CPU)$(CPUNAME)" == "GCCLINUX3S390"
 .INCLUDE : unxlngs390.mk
 .ENDIF

Modified: openoffice/trunk/main/solenv/inc/unxfbsd.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/inc/unxfbsd.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/inc/unxfbsd.mk (original)
+++ openoffice/trunk/main/solenv/inc/unxfbsd.mk Thu Dec  8 01:56:31 2016
@@ -37,6 +37,9 @@ JAVAFLAGSDEBUG=-g
 .IF "$(CPUNAME)" == "X86_64"
 .INCLUDE : unxfbsdx.mk
 .ENDIF
+.IF "$(CPUNAME)" == "POWERPC64"
+.INCLUDE : unxfbsdp.mk
+.ENDIF
 .IF "$(CPUNAME)" == "POWERPC"
 .INCLUDE : unxfbsdppc.mk
 .ENDIF

Modified: openoffice/trunk/main/testtools/source/bridgetest/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/testtools/source/bridgetest/makefile.mk?rev=1773166&r1=1773165&r2=1773166&view=diff
==============================================================================
--- openoffice/trunk/main/testtools/source/bridgetest/makefile.mk (original)
+++ openoffice/trunk/main/testtools/source/bridgetest/makefile.mk Thu Dec  8 01:56:31 2016
@@ -134,7 +134,7 @@ ALLTAR: \
 
 runtest : $(DLLDEST)$/uno_types.rdb $(DLLDEST)$/uno_services.rdb makefile.mk \
         $(SHL1TARGETN) $(SHL2TARGETN) $(SHL3TARGETN)
-.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(OS)$(CPU)"=="SOLARISS"
+.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(OS)$(CPU)"=="SOLARISS" || "$(COM)$(OS)$(CPU)"=="GCCFREEBSDP"
 	@echo "Mac OSX PPC GCC and Solaris fails this test! likely broken UNO bridge. Fix me."
 .ELSE
         cd $(DLLDEST) && $(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/uno \