From owner-svn-ports-head@freebsd.org Mon Sep 7 15:19:20 2015 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5FB159CCEFA; Mon, 7 Sep 2015 15:19:20 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F53F1C38; Mon, 7 Sep 2015 15:19:20 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t87FJKGD098691; Mon, 7 Sep 2015 15:19:20 GMT (envelope-from truckman@FreeBSD.org) Received: (from truckman@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t87FJJ82098685; Mon, 7 Sep 2015 15:19:19 GMT (envelope-from truckman@FreeBSD.org) Message-Id: <201509071519.t87FJJ82098685@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: truckman set sender to truckman@FreeBSD.org using -f From: Don Lewis Date: Mon, 7 Sep 2015 15:19:19 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r396278 - in head/editors/openoffice-4: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Sep 2015 15:19:20 -0000 Author: truckman Date: Mon Sep 7 15:19:18 2015 New Revision: 396278 URL: https://svnweb.freebsd.org/changeset/ports/396278 Log: Import various improvements from openoffice-devel r393676, r395652, and r396247: * Consolidate patch-freebsd.mk, patch-set_soenv.in, patch-unxfbsd.mk, and other changes that were committed to the upstream trunk into patch-build-framework: o Changes to aid building with gcc from ports on FreeBSD o Changes to detect when building with clang and to decode the compiler version * Remove the REINPLACE_CMD patches from post-patch and $FBSD_LDFLAGS from do-build that are no longer needed for building with gcc in the general case because of the previous patch * Disable optimization when compiling one source file with clang 3.4 to avoid tripping on a compiler code generation bug. This allows us to build with clang 3.4 from base on FreeBSD 10, so remove the dependency on clang 3.5. * Fine tune compiler optimization flags when using clang 3.6 on FreeBSD 11 i386 or gcc 4.9 instead of totally disabling optimization * Unbreak the build with gcc 4.9 on amd64 * Makefile cleanups without functional change: o Combine two .if ${ARCH} == amd64 sections of Makefile o Merge the pre-configure target into post-extract o Simplify the code in the do-build target o Sort USE_XORG * Replace the default images in the opening splash window and the Help->About window with FreeBSD-branded versions. Thanks to pfg for suggesting this and reviewing the new images. Added: head/editors/openoffice-4/files/freebsd-aoo-about.png (contents, props changed) head/editors/openoffice-4/files/freebsd-aoo-intro.png (contents, props changed) head/editors/openoffice-4/files/patch-build_framework (contents, props changed) head/editors/openoffice-4/files/patch-testtools_source_bridgetest_bridgetest.cxx (contents, props changed) Deleted: head/editors/openoffice-4/files/patch-freebsd.mk head/editors/openoffice-4/files/patch-set_soenv.in head/editors/openoffice-4/files/patch-unxfbsd.mk Modified: head/editors/openoffice-4/Makefile Modified: head/editors/openoffice-4/Makefile ============================================================================== --- head/editors/openoffice-4/Makefile Mon Sep 7 15:13:37 2015 (r396277) +++ head/editors/openoffice-4/Makefile Mon Sep 7 15:19:18 2015 (r396278) @@ -3,7 +3,7 @@ PORTNAME= apache-openoffice PORTVERSION= ${AOOVERSION} -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= editors java MASTER_SITES= APACHE/openoffice/${PORTVERSION}/source \ http://tools.openoffice.org/unowinreg_prebuild/680/:unoreg \ @@ -120,8 +120,8 @@ JAVA_BUILD= jdk JAVA_VENDOR= openjdk JAVA_VERSION= 1.6+ USE_PERL5= build -USE_XORG= x11 ice xaw xau xext xrender xrandr \ - xi xt xcursor xdamage xcomposite xfixes +USE_XORG= ice x11 xau xaw xcomposite xcursor xdamage xext xfixes xi \ + xrandr xrender xt USES= autoreconf:autoconf bison compiler cpe desktop-file-utils \ gettext-runtime gmake iconv jpeg perl5 pkgconfig python \ tar:bzip2 @@ -156,12 +156,6 @@ MMEDIA_USE= GSTREAMER=yes .include <${FILESDIR}/Makefile.localized> .if ${COMPILER_TYPE} == clang -. if ${COMPILER_VERSION} < 35 && ${ARCH} == amd64 -BUILD_DEPENDS+= clang35:${PORTSDIR}/lang/clang35 -CPP= clang-cpp35 -CC= clang35 -CXX= clang++35 -. endif CPPFLAGS+= -I${LOCALBASE}/include .else USE_GCC= yes @@ -170,19 +164,14 @@ SUBST= "s/-fexceptions/& -fno-enforce- .if ${ARCH} == amd64 FREEBSD_ENV_SET= FreeBSDAMDEnv.Set.sh +PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86-64 .else FREEBSD_ENV_SET= FreeBSDX86Env.Set.sh +PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86 .endif - -LOCALIZED_LANG?= en-US - PACKAGE_PREFIX= Apache_OpenOffice -.if ${ARCH} == amd64 -PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86-64 -.else -PACKAGE_MIDDLE= ${PORTVERSION}_${OPSYS}_x86 -.endif +LOCALIZED_LANG?= en-US .if ${PORT_OPTIONS:MCCACHE} || defined(WITH_CCACHE) BUILD_DEPENDS+= ccache:${PORTSDIR}/devel/ccache @@ -293,7 +282,10 @@ pre-everything:: post-extract: ${TAR} -C ${WRKSUBDIR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${EXTSRC} ${CP} ${DISTDIR}/${DIST_SUBDIR}/unowinreg.dll ${WRKSRC}/external/unowinreg/ + ${CP} ${FILESDIR}/freebsd-aoo-intro.png ${WRKSRC}/default_images/introabout/intro.png + ${CP} ${FILESDIR}/freebsd-aoo-about.png ${WRKSRC}/default_images/introabout/about.png ${RM} -rf ${WRKSRC}/l10n + ${LN} -sf ${UNZIP_CMD} ${WRKSRC}/solenv/bin/unzip ${SED} -e '\|^For main/vcl/unx/generic/fontmanager/parseAFM|,/^__/p' \ -e '\|^For PostScript(R) AFM|,/^__/p' \ -e d ${WRKSRC}/LICENSE > ${LICENSE_FILE_ADOBE} @@ -324,27 +316,28 @@ post-extract: -e d ${WRKSRC}/LICENSE > ${LICENSE_FILE_W3C} post-patch: -.if defined (USE_GCC) - ${REINPLACE_CMD} -e ${SUBST} ${WRKSRC}/solenv/gbuild/platform/freebsd.mk - ${REINPLACE_CMD} -e ${SUBST} ${WRKSRC}/solenv/inc/unxfbsd.mk -.endif -.if ${ARCH} == i386 - # g++49 -Os sometimes leaves inline class methods undefined - # autodoc core dumps when built with with -Os clang 3.6 on i386 - if [ ${CXX} = g++49 -o \ - ${COMPILER_TYPE} = clang -a ${COMPILER_VERSION} = 36 ]; then \ - ${REINPLACE_CMD} -e "s/ := -Os/ := -O0/" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk; \ - ${REINPLACE_CMD} -e "s/=-Os /=-O0 /" ${WRKSRC}/solenv/inc/unxfbsdi.mk; \ +.if ${COMPILER_TYPE} == gcc + # g++49 -Os sometimes leaves inline class methods undefined, + # affects fmgridif.cxx and ColumnControl.cxx + # See: + if [ ${CXX} = g++49 ]; then \ + ${REINPLACE_CMD} -e "s/ := -Os/ := -Os -fno-devirtualize -fno-devirtualize-speculatively/" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk; \ + ${REINPLACE_CMD} -e "s/=-Os /=-Os -fno-devirtualize -fno-devirtualize-speculatively /" ${WRKSRC}/solenv/inc/unxfbsdi.mk; \ fi +.elif ${ARCH} == i386 && ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} == 36 + # autodoc and uno (bridgetest) core dump when built with with -Os + # on i386, affects file.cxx and bridgetest.cxx + # Using -O2 optimiztion works, and -Os is essentially -O2 with out + # loop unrolling. + # Changing optimization in just unxfbsdi.mk is sufficient to get + # a successful build, but change it in both places to avoid the + # possibility of obscure runtime problems. + ${REINPLACE_CMD} -e "s/=-Os /=-O2 -fno-unroll-loops /" ${WRKSRC}/solenv/inc/unxfbsdi.mk + ${REINPLACE_CMD} -e "s/ := -Os/ := -O2 -fno-unroll-loops/" ${WRKSRC}/solenv/gbuild/platform/freebsd.mk .endif -pre-configure: - ${LN} -sf ${UNZIP_CMD} ${WRKSRC}/solenv/bin/unzip - do-build: - cd ${WRKSUBDIR} ; ${PRINTF} "[repositories]\n" > source_config - cd ${WRKSUBDIR} ; ${PRINTF} "main=active\n" >> source_config - cd ${WRKSUBDIR} ; ${PRINTF} "extras=active\n" >> source_config + ${PRINTF} "[repositories]\nmain=active\nextras=active\n" > ${WRKSUBDIR}/source_config cd ${WRKSRC} ; ./bootstrap # # numproc controls the number of parallel makes. @@ -361,27 +354,27 @@ do-build: # * dmproc >= numproc # * dmproc <= 2*numproc if MAKE_JOBS_NUMBER <= 3 # - cd ${WRKSRC} ; . ${FREEBSD_ENV_SET} ; cd instsetoo_native/util ; \ - export LANG=C LC_ALL=C FBSD_LDFLAGS="${LDFLAGS}" ; \ - if [ ${MAKE_JOBS_NUMBER} -le 3 ] ; then \ - numproc=1 ; dmproc=${MAKE_JOBS_NUMBER} ; \ + if [ ${MAKE_JOBS_NUMBER} -le 3 ] ; then \ + numproc=1 ; dmproc=${MAKE_JOBS_NUMBER} ; \ + else \ + a=1 ; \ + while [ $$(( 2 * $${a} * $${a} )) -lt ${MAKE_JOBS_NUMBER} ]; do \ + a=$$(( $${a} + 1 )) ; \ + done ; \ + b=$$(( $${a} + 1 )) ; \ + ad=$$(( ( ${MAKE_JOBS_NUMBER} + $${a} - 1 ) / $${a} )) ; \ + ap=$$(( $${a} * $${ad} )) ; \ + bd=$$(( ( ${MAKE_JOBS_NUMBER} + $${b} - 1 ) / $${b} )) ; \ + bp=$$(( $${b} * $${bd} )) ; \ + if [ $${ap} -le $${bp} ]; then \ + numproc=$${a} ; dmproc=$${ad} ; \ else \ - a=1 ; \ - while [ $$(( 2 * $${a} * $${a} )) -lt ${MAKE_JOBS_NUMBER} ]; do \ - a=$$(( $${a} + 1 )) ; \ - done ; \ - b=$$(( $${a} + 1 )) ; \ - ad=$$(( ( ${MAKE_JOBS_NUMBER} + $${a} - 1 ) / $${a} )) ; \ - ap=$$(( $${a} * $${ad} )) ; \ - bd=$$(( ( ${MAKE_JOBS_NUMBER} + $${b} - 1 ) / $${b} )) ; \ - bp=$$(( $${b} * $${bd} )) ; \ - if [ $${ap} -le $${bp} ]; then \ - numproc=$${a} ; dmproc=$${ad} ; \ - else \ - numproc=$${b} ; dmproc=$${bd} ; \ - fi ; \ + numproc=$${b} ; dmproc=$${bd} ; \ fi ; \ - build.pl --all -P$${numproc} -- -P$${dmproc} + fi ; \ + cd ${WRKSRC}/instsetoo_native ; \ + . ../${FREEBSD_ENV_SET} ; \ + LANG=C LC_ALL=C build.pl --all -P$${numproc} -- -P$${dmproc} do-install: cd ${WRKSRC}/instsetoo_native/unxfbsd?.pro/Apache_OpenOffice/archive/install/${LOCALIZED_LANG}/ ; ${LS} *.tar.?z > ${WRKDIR}/INSTALLFILES Added: head/editors/openoffice-4/files/freebsd-aoo-about.png ============================================================================== Binary file. No diff available. Added: head/editors/openoffice-4/files/freebsd-aoo-intro.png ============================================================================== Binary file. No diff available. Added: head/editors/openoffice-4/files/patch-build_framework ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/openoffice-4/files/patch-build_framework Mon Sep 7 15:19:18 2015 (r396278) @@ -0,0 +1,343 @@ +--- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk.orig 2014-02-25 08:29:00 UTC ++++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk +@@ -34,7 +34,7 @@ ENABLE_EXCEPTIONS=TRUE + + # --- Files -------------------------------------------------------- + +-.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDIgcc3" ++.IF "$(OS)$(CPU)$(COMNAME)" == "FREEBSDIgcc3" + + .IF "$(cppu_no_leak)" == "" + CFLAGS += -DLEAK_STATIC_DATA +--- bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk.orig 2014-02-25 08:29:00 UTC ++++ bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk +@@ -34,7 +34,7 @@ ENABLE_EXCEPTIONS=TRUE + + # --- Files -------------------------------------------------------- + +-.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDXgcc3" ++.IF "$(OS)$(CPU)$(COMNAME)" == "FREEBSDXgcc3" + + .IF "$(cppu_no_leak)" == "" + CFLAGS += -DLEAK_STATIC_DATA +--- configure.in.orig 2014-02-25 08:19:25 UTC ++++ configure.in +@@ -1679,6 +1679,23 @@ if test "$_os" != "WINNT" -o "$WITH_MING + AC_PROG_CC + fi + ++if test "$_os" = "FreeBSD"; then ++ FBSD_GCC_RPATH= ++ if $CC --version 2>&1 | grep clang > /dev/null ; then ++ COM_IS=CLANG ++ else ++ COM_IS=GCC ++ rpath=`$CC --print-file-name libstdc++.so` ++ rpath=`realpath $rpath` ++ rpath=`dirname $rpath` ++ if test "$rpath" != "/usr/lib" ; then ++ FBSD_GCC_RPATH="-Wl,-rpath=$rpath" ++ fi ++ fi ++ AC_SUBST(COM_IS) ++ AC_SUBST(FBSD_GCC_RPATH) ++fi ++ + COMPATH=`dirname "$CC"` + if test "$COMPATH" = "." ; then + AC_PATH_PROGS(COMPATH, $CC) +@@ -6817,6 +6834,18 @@ dnl ==================================== + SYSTEM_GETTEXT=YES + AC_SUBST(SYSTEM_GETTEXT) + ++if test "$_os" = "FreeBSD"; then ++ LIBINTL_PREFIX= ++ for dir in $CPPFLAGS; do ++ if dir=`expr -- $dir : '-I\(.*\)'`; then ++ if test -f "$dir/libintl.h" ; then ++ LIBINTL_PREFIX=`dirname $dir` ++ fi ++ fi ++ done ++ AC_SUBST(LIBINTL_PREFIX) ++fi ++ + dnl =================================================================== + dnl always rely on the system version of pango + dnl =================================================================== +--- connectivity/source/drivers/dbase/makefile.mk.orig 2014-02-25 08:22:58 UTC ++++ connectivity/source/drivers/dbase/makefile.mk +@@ -76,7 +76,9 @@ EXCEPTIONSFILES=\ + $(SLO)$/DDriver.obj + + # [kh] ppc linux gcc compiler problem +-.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCPOWERPC" ++# [Don Lewis] clang 3.4 -O2 on amd64 tries to use R_X86_64_PC32 relocation with ++# symbol _ZThn192_N12connectivity4file10OFileTable7acquireEvj ++.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCPOWERPC" || ("$(OS)$(COM)$(CPUNAME)"=="FREEBSDCLANGX86_64" && $(CCNUMVER)>=000300040000 && $(CCNUMVER)<000300050000) + EXCEPTIONSNOOPTFILES= \ + $(SLO)$/DTable.obj + .ELSE +--- graphite/makefile.mk.orig 2014-02-25 08:21:04 UTC ++++ graphite/makefile.mk +@@ -92,7 +92,7 @@ CFLAGS4MSC= $(CFLAGS2MSC:s/ -/ $(JUSTASL + BUILD_FLAGS+= "CFLAGS4MSC=$(CFLAGS4MSC)" /F makefile.vc$(VCNUM) lib_dll + .ENDIF + +-.IF "$(COM)"=="GCC" ++.IF "$(COM)"=="GCC" || "$(OS)"=="FREEBSD" + + # Does linux want --disable-shared? + .IF "x$(debug)"!="x" +@@ -137,7 +137,7 @@ OUT2LIB=engine$/release$/*.lib + OUT2LIB=engine$/src$/.libs$/libgraphite*.a + .ENDIF + +-.IF "$(COM)"=="GCC" ++.IF "$(COM)"=="GCC" || "$(OS)"=="FREEBSD" + BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) + .ENDIF + +--- set_soenv.in.orig 2014-06-06 06:58:10 UTC ++++ set_soenv.in +@@ -358,8 +358,8 @@ elsif ( $platform =~ m/kfreebsd/ ) + } + elsif ( $platform =~ m/freebsd/ ) + { $BIG_SVX = "TRUE"; +- $COM = "GCC"; +- $COMPATH = '@COMPATH@'; ++ $COM = "@COM_IS@"; ++ $COMPATH = '@COMPATH@' . '/bin'; + $CVER = "C300"; + $GUI = "UNX"; + $GUIBASE = "unx"; +@@ -1680,6 +1680,11 @@ if ( $platform =~ m/darwin/ ) + ToFile( "MACOSX_DEPLOYMENT_TARGET", "@MACOSX_DEPLOYMENT_TARGET@", "e" ); + ToFile( "MACOSX_SDK_PATH", "@MACOSX_SDK_PATH@", "e" ); + } ++if ( $platform =~ m/freebsd/ ) ++{ ++ ToFile( "FBSD_GCC_RPATH", "@FBSD_GCC_RPATH@", "e" ); ++ ToFile( "LIBINTL_PREFIX", "@LIBINTL_PREFIX@", "e" ); ++} + + # + # Writing the variables to file. +@@ -2575,26 +2580,37 @@ sub GetCorrectPath + my @originalPairs = @_; + my @pairs = @originalPairs; + my @Path = split /$ps/, $oldPath; ++ my @buildPath; ++ my @sysPath; ++ my $elem; ++ ++ for $elem (@Path) { ++ if ($elem eq '.' || $elem =~ m'^$SOLARENV/' || ++ $elem =~ m'/solenv/') { ++ push @buildPath, $elem; ++ } else { ++ push @sysPath, $elem; ++ } ++ } + + while (@pairs) { + my $path = shift @pairs; + my $cmd = shift @pairs; + my $to_append = 1; +- my $elem; + + if (! -x "$path/$cmd") { + AddWarning ("Missing executable $path/$cmd\n"); + } + +- for $elem (@Path) { ++ for $elem (@sysPath) { + if ($elem eq $path) { + # print "Hit duplicate path in path; break\n"; + $to_append = 0; + last; + } +- if (-f "$elem/$cmd") { ++ if (-f "$elem/$cmd" && ! -l "$elem/$cmd") { + # print "Element already in path ...\n"; +- unshift @Path, $path; ++ unshift @sysPath, $path; + $to_append = 0; + last; + } else { +@@ -2602,7 +2618,7 @@ sub GetCorrectPath + } + } + if ($to_append) { +- push @Path, $path; ++ push @sysPath, $path; + } + } + +@@ -2612,14 +2628,14 @@ sub GetCorrectPath + my $cmd = shift @pairs; + my $realpath; + +- $realpath = PathLookup ($cmd, @Path); ++ $realpath = PathLookup ($cmd, @sysPath); + if (!($realpath eq $path)) { + AddWarning ("Path conflict for executables " . + "$path/$cmd against $realpath"); + } + } + +- return join $ps, CleanupPath (@Path); ++ return join $ps, @buildPath, CleanupPath (@sysPath); + } + + #------------------------------------------------------------ +--- solenv/gbuild/platform/freebsd.mk.orig 2014-02-25 08:33:29 UTC ++++ solenv/gbuild/platform/freebsd.mk +@@ -20,7 +20,6 @@ + #************************************************************************* + + GUI := UNX +-COM := GCC + + # BSD mktemp -t expects a prefix, not a pattern + gb_MKTEMP ?= /usr/bin/mktemp -t gbuild. +@@ -95,7 +94,12 @@ gb_CXXFLAGS := \ + -fno-use-cxa-atexit \ + -fvisibility-inlines-hidden \ + -fvisibility=hidden \ +- -pipe \ ++ -pipe ++ifeq ($(COM),CLANG) ++gb_CXXFLAGS += -DHAVE_STL_INCLUDE_PATH ++else ++gb_CXXFLAGS += -DBOOST_TR1_DISABLE_INCLUDE_NEXT -DBOOST_TR1_GCC_INCLUDE_PATH=c++ ++endif + + ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE) + gb_CFLAGS_WERROR := -Werror +@@ -109,8 +113,10 @@ gb_LinkTarget_LDFLAGS := -Wl,--sysroot=$ + endif + gb_LinkTarget_EXCEPTIONFLAGS := \ + -DEXCEPTIONS_ON \ +- -fexceptions \ +- -fno-enforce-eh-specs \ ++ -fexceptions ++ifeq ($(COM),GCC) ++gb_LinkTarget_EXCEPTIONFLAGS += -fno-enforce-eh-specs ++endif + + gb_LinkTarget_NOEXCEPTIONFLAGS := \ + -DEXCEPTIONS_OFF \ +@@ -121,6 +127,7 @@ gb_LinkTarget_LDFLAGS += \ + -Wl,-z,combreloc \ + -Wl,-z,defs \ + $(subst -L../lib , ,$(SOLARLIB)) \ ++ ${FBSD_GCC_RPATH} \ + \ + + ifeq ($(HAVE_LD_HASH_STYLE),TRUE) +--- solenv/inc/tg_compv.mk.orig 2014-02-25 08:33:36 UTC ++++ solenv/inc/tg_compv.mk +@@ -37,6 +37,12 @@ CFLAGSNUMVERSION_CMD=-dumpversion $(PIPE + #CFLAGSNUMVERSION_CMD=-dumpversion | 2>&1 $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk + .ENDIF + ++.IF "$(COM)"=="CLANG" && "$(OS)"="FREEBSD" ++CFLAGSVERSION=--version ++CFLAGSVERSION_CMD=--version | head -n1 | sed -e"s/.*version //" -e"s/ .*//" ++CFLAGSNUMVERSION_CMD=${CFLAGSVERSION_CMD} | $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk ++.ENDIF ++ + .IF "$(COM)"=="MSC" + CFLAGSVERSION= + CFLAGSVERSION_CMD= $(PIPEERROR) $(AWK) -f $(SOLARENV)/bin/getcompver.awk +@@ -130,9 +136,14 @@ COMNAME=MipsPro + .ENDIF + + .IF "$(COM)"=="CLANG" ++.IF "$(OS)" == "FREEBSD" ++COMID=gcc3 ++COMNAME=gcc3 ++.ELSE + COMID=s5abi + COMNAME=s5abi + .ENDIF ++.ENDIF + + .IF "$(COMNAME)"=="" + +--- solenv/inc/unx.mk.orig 2014-02-25 08:33:36 UTC ++++ solenv/inc/unx.mk +@@ -139,7 +139,7 @@ + .INCLUDE : unxbsds.mk + .ENDIF + +-.IF "$(COM)$(OS)" == "GCCFREEBSD" ++.IF "$(OS)" == "FREEBSD" + .INCLUDE : unxfbsd.mk + .ENDIF + +--- solenv/inc/unxfbsd.mk.orig 2014-02-25 08:33:35 UTC ++++ solenv/inc/unxfbsd.mk +@@ -27,7 +27,7 @@ ASM= + AFLAGS= + + SOLAR_JAVA*= +-PICSWITCH*:=-fpic ++PICSWITCH*:=-fPIC + JAVAFLAGSDEBUG=-g + + # Include arch specific makefile. +@@ -44,6 +44,11 @@ JAVAFLAGSDEBUG=-g + + # _PTHREADS is needed for the stl + CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450 ++.IF "$(COM)"=="CLANG" ++CDEFS+=-DHAVE_STL_INCLUDE_PATH ++.ELSE ++CDEFS+=-DBOOST_TR1_DISABLE_INCLUDE_NEXT -DBOOST_TR1_GCC_INCLUDE_PATH=c++ ++.ENDIF + + # enable visibility define in "sal/types.h" + .IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" +@@ -82,7 +87,11 @@ CFLAGSENABLESYMBOLS=-g # was temporarily + # flags for the C++ Compiler + CFLAGSCC= -pipe $(ARCH_FLAGS) + # Flags for enabling exception handling ++.IF "$(COM)"=="CLANG" ++CFLAGSEXCEPTIONS=-fexceptions ++.ELSE + CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs ++.ENDIF + # Flags for disabling exception handling + CFLAGS_NO_EXCEPTIONS=-fno-exceptions + +@@ -193,11 +202,11 @@ STDSHLCUIMT+=-ltcmalloc + .ENDIF + + # libraries for linking applications +-STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed +-STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ++STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_GCC_RPATH} ++STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_GCC_RPATH} + # libraries for linking shared libraries +-STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed +-STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ++STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_GCC_RPATH} ++STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed ${FBSD_GCC_RPATH} + + X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed + +--- testtools/source/bridgetest/makefile.mk.orig 2014-02-25 08:19:34 UTC ++++ testtools/source/bridgetest/makefile.mk +@@ -134,8 +134,8 @@ ALLTAR: \ + + runtest : $(DLLDEST)$/uno_types.rdb $(DLLDEST)$/uno_services.rdb makefile.mk \ + $(SHL1TARGETN) $(SHL2TARGETN) $(SHL3TARGETN) +-.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(COM)$(OS)$(CPU)" == "GCCFREEBSDI" || "$(OS)$(CPU)"=="SOLARISS" +- @echo "Mac OSX PPC GCC ad FreeBDS/i386 fails this test! likely broken UNO bridge. Fix me." ++.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(OS)$(CPU)"=="SOLARISS" ++ @echo "Mac OSX PPC GCC and Solaris fails this test! likely broken UNO bridge. Fix me." + .ELSE + cd $(DLLDEST) && $(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/uno \ + -ro uno_services.rdb -ro uno_types.rdb \ Added: head/editors/openoffice-4/files/patch-testtools_source_bridgetest_bridgetest.cxx ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/editors/openoffice-4/files/patch-testtools_source_bridgetest_bridgetest.cxx Mon Sep 7 15:19:18 2015 (r396278) @@ -0,0 +1,16 @@ +--- testtools/source/bridgetest/bridgetest.cxx.orig 2014-02-25 08:19:34 UTC ++++ testtools/source/bridgetest/bridgetest.cxx +@@ -544,7 +544,12 @@ static sal_Bool performTest( + } catch (...) { + bRet &= check(false, "getRaiseAttr2 threw wrong type"); + } +-#ifndef OS2 // see i120310 for details ++#if !defined(OS2) && !(defined(FREEBSD) && defined(INTEL)) ++// see i120310 for OS2 details ++// FreeBSD i386 coredumps on this test in cpp_vtable_call(): ++// pTypeDescr appears to point to garbage, pMapFunctionIndexToMemberIndex ++// points to unreadable memory, as does abase.pTypeName. Refcounts ++// don't look reasonable, etc. + // Test instantiated polymorphic struct types: + { + bRet &= check(