Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Hey

Attached some diffs to make LibreOffice boostrap on OpenBSD.
diff --git a/configure.in b/configure.in
index 52d7c8f..94c1ba8 100644
--- a/configure.in
+++ b/configure.in
@@ -1556,9 +1556,21 @@ case "$build_os" in
         test_cups=no
         test_randr=no
         test_freetype=yes
-       PTHREAD_LIBS=-pthread
+        PTHREAD_LIBS=-pthread
         _os=AIX
         ;;
+    openbsd*)
+        test_x=yes
+        test_gtk=yes
+        build_cairo=yes
+        test_kde=yes
+        test_cups=yes
+        test_freetype=yes
+        test_randr=yes
+        PTHREAD_CFLAGS="-pthread -D_THREAD_SAFE"
+        PTHREAD_LIBS="-pthread"
+        _os=OpenBSD
+        ;;
    *)
    AC_MSG_ERROR([$_os operating system is not suitable to build LibreOffice!])
    ;;
@@ -3803,6 +3815,9 @@ if test "$enable_epm" = "yes"; then
     AIX)
         PKGFORMAT=rpm
         ;;
+    OpenBSD)
+        PKGFORMAT=portable
+        ;;
     *BSD)
         PKGFORMAT=bsd
         ;;
@@ -5549,7 +5564,7 @@ fi
 dnl ===================================================================
 dnl Check for system openssl
 dnl ===================================================================
-if test "$_os" = "Darwin" -o "$_os" = "NetBSD" && test "$with_system_openssl" != "no"; then
+if test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" && test 
"$with_system_openssl" != "no"; then
    with_system_openssl=yes
 fi
 AC_MSG_CHECKING([which libssl to use])
@@ -5558,7 +5573,7 @@ if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
     AC_MSG_RESULT([external])
     # Mac OS builds should get out without extra stuff is the Mac porters'
     # wish. And pkg-config is although Xcode ships a .pc for openssl
-    if test "$_os" = "Darwin" -o "$_os" = "NetBSD" ; then
+    if test "$_os" = "Darwin" -o "$_os" = "NetBSD" -o "$_os" = "OpenBSD" ; then
         OPENSSL_CFLAGS=
         OPENSSL_LIBS="-lssl -lcrypto"
     else
@@ -7833,7 +7848,7 @@ dnl ===================================================================
 dnl Number of CPUs to use during the build
 dnl ===================================================================
 AC_MSG_CHECKING([for number of processors to use])
-if test "z`uname -s`" = "zDarwin"; then
+if test "z`uname -s`" = "zDarwin" -o "z`uname -s`" = "zOpenBSD"; then
     BUILD_NCPUS=`sysctl -n hw.ncpu`
 else
     BUILD_NCPUS=`grep $'^processor\t*:' /proc/cpuinfo | wc -l`
diff --git a/set_soenv.in b/set_soenv.in
index d20e497..78f61cd 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -386,6 +386,45 @@ elsif ( $platform =~ m/freebsd/ )
    }
       $INPATH         = $OUTPATH.$PROEXT;
 }
+elsif ( $platform =~ m/openbsd/ )
+{     $BIG_SVX        = "TRUE";
+      $COM            = "GCC";
+      $COMPATH        = '@COMPATH@';
+      $CVER           = "C300";
+      $GUI            = "UNX";
+      $GUIBASE        = "unx";
+      $GVER           = "VCL";
+      $OS             = "OPENBSD";
+      $PATH_SEPERATOR = $ps;
+      $OSVERSION      = '@OSVERSION@';
+      $OUTPATH        = "unxobsd";
+      $outfile        = "OpenBSDEnv.Set.sh";
+   if ($platform =~ m/^amd64/)
+   {
+      print "Setting OpenBSD AMD64 specific values... ";
+      $CPU            = "X";
+      $CPUNAME        = "X86_64";
+      $JRELIBDIR      = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64";
+      $JRETOOLKITDIR  = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."server";
+      $JRETHREADDIR   = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."amd64".$ds."native_threads";
+   }
+   elsif ($platform =~ m/^i386/)
+   {  print "Setting OpenBSD x86 specific values... ";
+      $CPU            = "I";
+      $CPUNAME        = "INTEL";
+      $JRELIBDIR      = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386";
+      $JRETOOLKITDIR  = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."client";
+      $JRETHREADDIR   = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."i386".$ds."native_threads";
+   }
+   else
+   {  print "Unsupported OpenBSD architecture: $platform \n";
+         exit 1;
+   }
+   if( @GCCVER@ >= 30401 ) {
+      $CVER        = "C341";
+   }
+      $INPATH         = $OUTPATH.$PROEXT;
+}
 elsif ( $platform =~ m/linux/ )
 {
 # General Linux settings:
@@ -1034,7 +1073,7 @@ if ($platform =~ m/solaris/)
                         $L.$USR_DT.$LIB.
                         $L.$USR_OPENWIN.$LIB;
 }
-elsif ($platform =~ m/linux|netbsd|osf1|freebsd|aix/)
+elsif ($platform =~ m/linux|netbsd|osf1|freebsd|aix|openbsd/)
 {
    $SOLAREXTRALIB     = $L.$par_dir.$LIB64;
 }
@@ -1100,7 +1139,7 @@ if ($platform =~ m/cygwin|os2/)
 }
 
 # The general environment path.
-if ($platform =~ m/linux|netbsd|odf1|freebsd|aix|solaris/)
+if ($platform =~ m/linux|netbsd|odf1|freebsd|aix|solaris|openbsd/)
 {  $PATH              = $cur_dir.
 #                        $ps.'$SOLARVER'.$ds.'$INPATH'.$BIN.
                         $ps.'$SOLARENV'.$ds.'$OUTPATH'.$BIN.
@@ -1326,7 +1365,7 @@ if ($platform =~ m/solaris/)
                         $L_STLPORT_LIB.
                         $L.$XLIB;
 }
-elsif ($platform =~ m/linux|netbsd|osf1|aix|freebsd/)
+elsif ($platform =~ m/linux|netbsd|osf1|aix|freebsd|openbsd/)
 {  $SOLARLIB          = $L.$par_dir.$LIB.
                         $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
                         $L.'$SOLARVER'.$ds.'$INPATH'.$LIB.
@@ -1371,10 +1410,10 @@ $SOLARINC             = $I.$cur_dir.
                         $I.'$SOLARENV'.$INC.
                         $I.'$SRC_ROOT'.$ds."res";
 
-if ($platform =~ m/solaris|linux|osf1|freebsd|netbsd|aix/)
+if ($platform =~ m/solaris|linux|osf1|freebsd|netbsd|aix|openbsd/)
 {
 $SOLARINC           .= $STLPORT_stlport;
-if ($platform =~ m/linux|freebsd|netbsd/)
+if ($platform =~ m/linux|freebsd|netbsd|openbsd/)
 {
 # This simply adds an include path, so even cases that break the FHS work
 $SOLARINC            .= $STLPORT_inc_stlport;
@@ -1419,13 +1458,16 @@ if ($platform =~ m/linux/)
                elsif ( $platform =~ m/aix/ )
                {  $SOLARINC   .=$I.'$JAVA_HOME'.$INCLUDE.$ds."aix";
                }
+               elsif ($platform =~ m/openbsd/)
+               {  $SOLARINC   .=$I.'$JAVA_HOME'.$INCLUDE.$ds."openbsd";
+               }
 
                #java threads include path
 
                $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."native_threads".$ds."include";
        }
     #The tail, if needed
-    if ($platform =~ m/linux|freebsd|netbsd|aix/)
+    if ($platform =~ m/linux|freebsd|netbsd|aix|openbsd/)
     {  $SOLARINC  .= $I.$XINC;
     }
     elsif ($platform =~ m/osf1/)
diff --git a/solenv/inc/unx.mk b/solenv/inc/unx.mk
index f7364ba..7645a73 100644
--- a/solenv/inc/unx.mk
+++ b/solenv/inc/unx.mk
@@ -147,6 +147,10 @@
 .INCLUDE : unxfbsd.mk
 .ENDIF
 
+.IF "$(COM)$(OS)" == "GCCOPENBSD"
+.INCLUDE : unxobsd.mk
+.ENDIF
+
 .IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP"
 .INCLUDE : unxmacxp.mk
 .ENDIF
diff --git a/soltools/checkdll/makefile.mk b/soltools/checkdll/makefile.mk
index fc09a56..b5b386a 100644
--- a/soltools/checkdll/makefile.mk
+++ b/soltools/checkdll/makefile.mk
@@ -45,7 +45,8 @@ LIBSALCPPRT=$(0)
 APP1TARGET     =       checkdll
 APP1OBJS       =       $(OBJ)$/checkdll.obj
 DEPOBJFILES    =       $(APP1OBJS) 
-.IF "$(OS)"!="FREEBSD" && "$(OS)"!="MACOSX" && "$(OS)"!="NETBSD"
+.IF "$(OS)"!="FREEBSD" && "$(OS)"!="MACOSX" && "$(OS)"!="NETBSD" \
+       && "$(OS)"!="OPENBSD"
 STDLIB += -ldl
 .ENDIF
 .IF "$(OS)"=="NETBSD"
diff --git a/distro-configs/LibreOfficeOpenBSD.conf.in b/distro-configs/LibreOfficeOpenBSD.conf.in
index f3e62c6..cf2556c 100644
--- a/distro-configs/LibreOfficeOpenBSD.conf.in
+++ b/distro-configs/LibreOfficeOpenBSD.conf.in
@@ -19,7 +19,6 @@
 --disable-build-mozilla
 --disable-nss-module
 --without-system-mozilla
---with-system-freetype
 --with-system-jpeg
 --with-system-libxml
 --with-system-libxslt
@@ -32,7 +31,6 @@
 --disable-xrender-link
 --disable-randr-link
 --without-openldap
---with-system-xrender-headers
 --with-system-mesa-headers
 --without-unix-wrapper
 --with-fonts
@@ -43,14 +41,13 @@
 --enable-wiki-publisher
 --enable-report-builder
 --with-extension-integration
---with-linker-hash-style=both
 --with-ant-home=/usr/local/ant/lib
 --with-dict=ALL
 --with-lang=en_US
 --with-system-openssl
 --disable-unix-qstart
 --enable-broffice
---disable-pasf
 --with-alloc=system
 --without-junit
 --with-gnu-cp=/usr/local/bin/gcp
+--with-system-boost
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# 
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org.  If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************

# Makefile for OpenBSD.

ASM=
AFLAGS=

SOLAR_JAVA*=
JAVAFLAGSDEBUG=-g

# Include arch specific makefile.
.IF "$(CPUNAME)" == "INTEL"
CDEFS+=-DX86
.ENDIF
.IF "$(CPUNAME)" == "X86_64"
CDEFS+=-DX86_64
ARCH_FLAGS*=
BUILD64=1
.ENDIF

# filter for supressing verbose messages from linker
#not needed at the moment
#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"

# _PTHREADS is needed for the stl
CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 
-DSTLPORT_VERSION=450

# enable visibility define in "sal/types.h"
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"

# this is a platform with JAVA support
.IF "$(SOLAR_JAVA)"!=""
JAVADEF=-DSOLAR_JAVA
.IF "$(debug)"==""
JAVA_RUNTIME=-ljava
.ELSE
JAVA_RUNTIME=-ljava_g
.ENDIF
.ENDIF

# name of C++ Compiler
CXX*=g++
# name of C Compiler
CC*=gcc
.IF "$(SYSBASE)"!=""
CFLAGS_SYSBASE:=-isystem $(SYSBASE)/usr/include
CXX+:=$(CFLAGS_SYSBASE)
CC+:=$(CFLAGS_SYSBASE)
.ENDIF          # "$(SYSBASE)"!=""
CFLAGS+=-fmessage-length=0 -c

# flags to enable build with symbols; required for crashdump feature
.IF "$(ENABLE_SYMBOLS)"=="SMALL"
CFLAGSENABLESYMBOLS=-g1
.ELSE
CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta

.ENDIF

# flags for the C++ Compiler
CFLAGSCC= -pipe $(ARCH_FLAGS)
# Flags for enabling exception handling
CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
# Flags for disabling exception handling
CFLAGS_NO_EXCEPTIONS=-fno-exceptions

# -fpermissive should be removed as soon as possible
CFLAGSCXX= -pipe $(ARCH_FLAGS)
PICSWITCH:=-fpic
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
CFLAGSCXX += -fvisibility-inlines-hidden
.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"

# Compiler flags for compiling static object in multi threaded environment with graphical user 
interface
CFLAGSOBJGUIMT=
# Compiler flags for compiling static object in multi threaded environment with character user 
interface
CFLAGSOBJCUIMT=
# Compiler flags for compiling shared object in multi threaded environment with graphical user 
interface
CFLAGSSLOGUIMT=$(PICSWITCH)
# Compiler flags for compiling shared object in multi threaded environment with character user 
interface
CFLAGSSLOCUIMT=$(PICSWITCH)
# Compiler flags for profiling
CFLAGSPROF=
# Compiler flags for debugging
CFLAGSDEBUG=-g
CFLAGSDBGUTIL=
# Compiler flags for disabling optimizations
CFLAGSNOOPT=-O0
# Compiler flags for describing the output path
CFLAGSOUTOBJ=-o

# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
    -Wno-non-virtual-dtor
CFLAGSWALLCC=$(CFLAGSWARNCC)
CFLAGSWALLCXX=$(CFLAGSWARNCXX)
CFLAGSWERRCC=-Werror

# Once all modules on this platform compile without warnings, set
# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
# settings.mk): Currently this is not tested on FreeBSD
#MODULES_WITH_WARNINGS :=

# switches for dynamic and static linking
STATIC          = -Wl,-Bstatic
DYNAMIC         = -Wl,-Bdynamic

# name of linker
LINK*=$(CXX)
LINKC*=$(CC)

# default linker flags
LINKFLAGSDEFS*=#-Wl,-z,defs
LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\'
LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\'
    #TODO: drop $ORIGIN once no URE executable is also shipped in OOo
LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\'
LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\'
LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\'
LINKFLAGSRUNPATH_OXT=
LINKFLAGSRUNPATH_NONE=
LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS)

# linker flags for linking applications
LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec

# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
LINKFLAGSSHLCUI= -shared

LINKFLAGSTACK=
LINKFLAGSPROF=
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=

# linker flags for optimization (symbol hashtable)
# for now, applied to symbol scoped libraries, only
LINKFLAGSOPTIMIZE*=-Wl,-O1
LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script

SONAME_SWITCH=-Wl,-h

# Sequence of libs does matter !

STDLIBCPP=-lstdc++

# default objectfilenames to link
STDOBJVCL=$(L)/salmain.o
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
STDSLOCUI=

# libraries for linking applications
STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm
STDLIBCUIMT=$(PTHREAD_LIBS) -lm
# libraries for linking shared libraries
STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm
STDSHLCUIMT=$(PTHREAD_LIBS) -lm

LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive

.IF "$(USE_STLP_DEBUG)" != ""
.IF "$(STLPORT_VER)" >= "500"
LIBSTLPORT=$(DYNAMIC) -lstlportstlg
LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
.ELSE
LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
.ENDIF
.ELSE # "$(USE_STLP_DEBUG)" != ""
.IF "$(STLPORT_VER)" >= "500"
LIBSTLPORT=$(DYNAMIC) -lstlport
LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
.ELSE
LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
.ENDIF
.ENDIF # "$(USE_STLP_DEBUG)" != ""

#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)

# name of library manager
LIBMGR=ar
LIBFLAGS=-r

# tool for generating import libraries
IMPLIB=
IMPLIBFLAGS=

MAPSYM=
MAPSYMFLAGS=

RC=irc
RCFLAGS=-fo$@ $(RCFILES)
RCLINK=
RCLINKFLAGS=
RCSETVERSION=

# platform specific identifier for shared libs
DLLPRE=lib
DLLPOST=.so
DLLPOSTFIX=

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.