summaryrefslogtreecommitdiff
path: root/solenv/gbuild/platform
diff options
context:
space:
mode:
authorBjoern Michaelsen <b_michaelsen@openoffice.org>2011-01-14 21:57:04 +0100
committerBjoern Michaelsen <b_michaelsen@openoffice.org>2011-01-14 21:57:04 +0100
commitfcc984d122bdf6512f8e3fd984d72b510c967943 (patch)
treef1d4ef697a3f1c53e55e17af23951568cf577f95 /solenv/gbuild/platform
parentbac065099dd740eee97918d8898b312f723df85a (diff)
gnumake3: reducing differences between macosx and linux platform files
Diffstat (limited to 'solenv/gbuild/platform')
-rwxr-xr-xsolenv/gbuild/platform/linux.mk49
-rwxr-xr-xsolenv/gbuild/platform/macosx.mk65
-rwxr-xr-xsolenv/gbuild/platform/solaris.mk73
-rwxr-xr-xsolenv/gbuild/platform/windows.mk13
4 files changed, 117 insertions, 83 deletions
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index 1119fe397622..eabbe8740cc9 100755
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -30,8 +30,8 @@ COM := GCC
gb_MKTEMP := mktemp -p
-gb_CC := $(CC)
-gb_CXX := $(CXX)
+gb_CC := cc
+gb_CXX := g++
gb_GCCP := gcc
gb_AR := ar
gb_AWK := awk
@@ -51,7 +51,7 @@ gb_CXX := $(CXX)
endif
gb_OSDEFS := \
- -DLINUX \
+ -D$(OS) \
-D_PTHREADS \
-DUNIX \
-DUNX \
@@ -62,13 +62,10 @@ GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion)
endif
gb_COMPILERDEFS := \
- -DGCC \
- -D$(CVER) \
- -DCVER=$(CVER) \
- -DGLIBC=2 \
- -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
+ -D$(COM) \
-DHAVE_GCC_VISIBILITY_FEATURE \
-DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
ifeq ($(CPUNAME),X86_64)
gb_CPUDEFS := -D$(CPUNAME)
@@ -80,9 +77,11 @@ gb_CFLAGS := \
-Wall \
-Wendif-labels \
-Wextra \
+ -fPIC \
-fmessage-length=0 \
+ -fno-common \
-fno-strict-aliasing \
- -fpic \
+ -fsigned-char \
-fvisibility=hidden \
-pipe \
@@ -91,19 +90,21 @@ gb_CXXFLAGS := \
-Wendif-labels \
-Wextra \
-Wno-ctor-dtor-privacy \
+ -Wno-long-double \
-Wno-non-virtual-dtor \
-Wreturn-type \
-Wshadow \
-Wuninitialized \
+ -fPIC \
-fmessage-length=0 \
+ -fno-common \
-fno-strict-aliasing \
-fno-use-cxa-atexit \
- -fpic \
- -fvisibility=hidden \
-fvisibility-inlines-hidden \
+ -fvisibility=hidden \
-pipe \
-ifneq ($(SYSBASE),)
+ifneq ($(strip $(SYSBASE)),)
gb_CXXFLAGS += --sysroot=$(SYSBASE)
gb_CFLAGS += --sysroot=$(SYSBASE)
endif
@@ -115,7 +116,7 @@ gb_LinkTarget_EXCEPTIONFLAGS := \
gb_LinkTarget_NOEXCEPTIONFLAGS := \
-DEXCEPTIONS_OFF \
-fno-exceptions \
-
+
gb_LinkTarget_LDFLAGS := \
-Wl,--sysroot=$(SYSBASE) \
-Wl,-rpath-link=$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib \
@@ -187,12 +188,12 @@ $(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
endef
gb_LinkTarget__RPATHS := \
- URELIB:'$$$$ORIGIN' \
- UREBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \
- OOOLIB:'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' \
- BRAND:'$$$$ORIGIN:$$$$ORIGIN/../basis-link/program:$$$$ORIGIN/../basis-link/ure-link/lib' \
- SDKBIN:'$$$$ORIGIN/../../ure-link/lib' \
- NONEBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \
+ URELIB:$$$$ORIGIN \
+ UREBIN:$$$$ORIGIN/../lib:$$$$ORIGIN \
+ OOOLIB:$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib \
+ BRAND:$$$$ORIGIN:$$$$ORIGIN/../basis-link/program:$$$$ORIGIN/../basis-link/ure-link/lib \
+ SDKBIN:$$$$ORIGIN/../../ure-link/lib \
+ NONEBIN:$$$$ORIGIN/../lib:$$$$ORIGIN \
gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_COMPILEROPTFLAGS)
gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_COMPILEROPTFLAGS)
@@ -236,9 +237,10 @@ $(if $(filter Library CppunitTest Executable,$(3)),$(call gb_LinkTarget__command
$(if $(filter StaticLibrary,$(3)),$(call gb_LinkTarget__command_staticlink,$(1),$(7),$(8)))
endef
+
# Library class
-gb_Library_DEFS := -D_DLL_
+gb_Library_DEFS :=
gb_Library_TARGETTYPEFLAGS := -shared -Wl,-z,noexecstack
gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
@@ -282,7 +284,7 @@ gb_Library_FILENAMES := \
gb_Library_Library_platform =
define gb_Library_get_rpath
--Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))) \
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
endef
@@ -325,10 +327,11 @@ gb_Executable_LAYER := \
define gb_Executable_get_rpath
--Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))) \
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
endef
+
# CppunitTest class
gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 826a44b96f53..53d9a51862cd 100755
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -28,39 +28,41 @@
GUI := UNX
COM := GCC
-gb_MKTEMP := TMPDIR= mktemp -t
+gb_MKTEMP := TMPDIR= /usr/bin/mktemp -t
-gb_CC := $(CC)
-gb_CXX := $(CXX)
-gb_GCCP := $(CC)
+gb_CC := cc
+gb_CXX := g++
+gb_GCCP := gcc
gb_AWK := awk
+# use CC/CXX if they are nondefaults
+ifneq ($(origin CC),default)
+gb_CC := $(CC)
+gb_GCCP := $(CC)
+endif
+ifneq ($(origin CXX),default)
+gb_CXX := $(CXX)
+endif
gb_OSDEFS := \
-D$(OS) \
- -D$(GUI) \
- -DUNIX \
-D_PTHREADS \
+ -DUNIX \
-D_REENTRANT \
-DNO_PTHREAD_PRIORITY \
-DQUARTZ \
$(EXTRA_CDEFS) \
-# $(PTHREAD_CFLAGS) \
gb_COMPILERDEFS := \
-D$(COM) \
- -DGLIBC=2 \
- -D_USE_NAMESPACE=1 \
-DHAVE_GCC_VISIBILITY_FEATURE \
-DCPPU_ENV=gcc3 \
-DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
-# -D$(CVER) \
-# -DCVER=$(CVER) \
-ifeq ($(CPUNAME),INTEL)
-gb_CPUDEFS := -DX86
-else # ifeq ($(CPUNAME),POWERPC)
+ifeq ($(CPUNAME),POWERPC)
gb_CPUDEFS := -DPOWERPC -DPPC
+else
+gb_CPUDEFS := -DX86
endif
ifeq ($(strip $(SYSBASE)),)
@@ -71,34 +73,35 @@ endif
gb_CFLAGS := \
- -isysroot $(gb_SDKDIR) \
- -fsigned-char \
- -fmessage-length=0 \
- -malign-natural \
-Wall \
-Wendif-labels \
- -fno-strict-aliasing \
+ -Wextra \
-fPIC \
+ -fmessage-length=0 \
-fno-common \
+ -fno-strict-aliasing \
+ -fsigned-char \
+ -fvisibility=hidden \
-pipe \
-# -fvisibility=hidden \
gb_CXXFLAGS := \
- -isysroot $(gb_SDKDIR) \
- -fsigned-char \
- -fmessage-length=0 \
- -malign-natural \
-Wall \
-Wendif-labels \
- -Wno-long-double \
+ -Wextra \
-Wno-ctor-dtor-privacy \
+ -Wno-long-double \
-Wno-non-virtual-dtor \
- -fno-strict-aliasing \
+ -Wreturn-type \
+ -Wshadow \
+ -Wuninitialized \
-fPIC \
+ -fmessage-length=0 \
-fno-common \
+ -fno-strict-aliasing \
+ -fsigned-char \
+ -isysroot $(gb_SDKDIR) \
+ -malign-natural \
-pipe \
-# -fvisibility=hidden \
-# -fvisibility-inlines-hidden \
# these are to get g++ to switch to Objective-C++ mode
# (see toolkit module for a case where it is necessary to do it this way)
@@ -194,10 +197,10 @@ endef
# LinkTarget class
define gb_LinkTarget__get_rpath_for_layer
-$(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget_RPATHS)))
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
endef
-gb_LinkTarget_RPATHS := \
+gb_LinkTarget__RPATHS := \
URELIB:@__________________________________________________URELIB/ \
UREBIN: \
OOOLIB:@__________________________________________________OOO/ \
@@ -397,9 +400,11 @@ $(call gb_Helper_abbreviate_dirs,\
-o $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
+
# ComponentTarget
gb_ComponentTarget_XSLTPROCPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
gb_ComponentTarget_PREFIXBASISNATIVE := vnd.sun.star.expand:$$OOO_BASE_DIR/program/
+
# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index 628e490903cc..f4b431438c25 100755
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -29,11 +29,21 @@ GUI := UNX
COM := C52
gb_MKTEMP := mktemp -p
-gb_AWK := nawk
gb_CC := cc
gb_CXX := CC
gb_GCCP := cc
+gb_AR := ar
+gb_AWK := nawk
+
+# use CC/CXX if they are nondefaults
+ifneq ($(origin CC),default)
+gb_CC := $(CC)
+gb_GCCP := $(CC)
+endif
+ifneq ($(origin CXX),default)
+gb_CXX := $(CXX)
+endif
gb_OSDEFS := \
-D$(OS) \
@@ -45,13 +55,10 @@ gb_OSDEFS := \
-D_POSIX_PTHREAD_SEMANTICS \
-D_PTHREADS \
-DUNIX \
-# $(PTHREAD_CFLAGS) \
gb_COMPILERDEFS := \
-D$(COM) \
-DCPPU_ENV=sunpro5 \
-# -D$(CVER) \
-# -DCVER=$(CVER) \
ifeq ($(CPUNAME),INTEL)
gb_CPUDEFS :=
@@ -117,6 +124,7 @@ endif
gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+
# CObject class
define gb_CObject__command
@@ -144,11 +152,11 @@ $(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
mkdir -p $(dir $(call gb_CxxObject_get_dep_target,$(2))) && \
$(gb_CXX) \
+ $(4) $(5) \
-c $(3) \
-o $(1) \
-xMMD \
-xMF $(call gb_CxxObject_get_dep_target,$(2)) \
- $(4) $(5) \
-I$(dir $(3)) \
$(6))
endef
@@ -179,22 +187,35 @@ endif
gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
-define gb_LinkTarget__command
-$(call gb_Output_announce,$(2),$(true),LNK,4)
+# parameters: 1-linktarget 2-targettype 3-ldflags 4-linked-libs 5-linked-static-libs 6-cobjects 7-cxxobjects
+define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
$(gb_CXX) \
- $(if $(filter CppunitTest Library,$(3)),$(gb_Library_TARGETTYPEFLAGS)) \
- $(if $(filter StaticLibrary,$(3)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
- $(if $(filter Executable,$(3)),$(gb_Executable_TARGETTYPEFLAGS)) \
- $(4) \
- $(patsubst lib%.so,-l%,$(foreach lib,$(5),$(call gb_Library_get_filename,$(lib)))) \
- $(foreach object,$(7),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(8),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach lib,$(6),$(call gb_StaticLibrary_get_target,$(lib))) \
+ $(if $(filter Library CppunitTest,$(2)),$(gb_Library_TARGETTYPEFLAGS) $(call gb_Library_get_rpath,$(1))) \
+ $(if $(filter Executable,$(2)),$(call gb_Executable_get_rpath,$(1))) \
+ $(3) \
+ $(patsubst lib%.so,-l%,$(foreach lib,$(4),$(call gb_Library_get_filename,$(lib)))) \
+ $(foreach object,$(6),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(7),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach lib,$(5),$(call gb_StaticLibrary_get_target,$(lib))) \
-o $(1))
endef
+# parameters: 1-linktarget 2-cobjects 3-cxxobjects
+define gb_LinkTarget__command_staticlink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_AR) -rsu $(1) \
+ $(foreach object,$(2),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(3),$(call gb_CxxObject_get_target,$(object))) 2> /dev/null)
+endef
+
+define gb_LinkTarget__command
+$(call gb_Output_announce,$(2),$(true),LNK,4)
+$(if $(filter Library CppunitTest Executable,$(3)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(3),$(4),$(5),$(6),$(7),$(8)))
+$(if $(filter StaticLibrary,$(3)),$(call gb_LinkTarget__command_staticlink,$(1),$(7),$(8)))
+endef
# Library class
@@ -239,7 +260,7 @@ gb_Library_FILENAMES := \
$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
-gb_Library__Library_platform =
+gb_Library_Library_platform =
define gb_Library_get_rpath
'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))'
@@ -260,10 +281,6 @@ gb_Library_LAYER := \
# StaticLibrary class
gb_StaticLibrary_DEFS :=
-gb_StaticLibrary_TARGETTYPEFLAGS := \
- -Bstatic \
- -xar \
-
gb_StaticLibrary_SYSPRE := lib
gb_StaticLibrary_PLAINEXT := .a
gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
@@ -277,12 +294,7 @@ gb_StaticLibrary_StaticLibrary_platform =
# Executable class
gb_Executable_EXT :=
-gb_Executable_TARGETTYPEFLAGS :=
-gb_Executable__Executable_platform =
-
-define gb_Executable_get_rpath
-'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))'
-endef
+gb_Executable_Executable_platform =
gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
@@ -292,9 +304,14 @@ gb_Executable_LAYER := \
$(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
+define gb_Executable_get_rpath
+'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))'
+endef
+
+
# CppunitTest class
-gb_CppunitTest_CPPTESTPRECOMMAND :=
+gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
gb_CppunitTest_SYSPRE := libtest_
gb_CppunitTest_EXT := .so
gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
@@ -335,5 +352,5 @@ endef
gb_ComponentTarget_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
gb_ComponentTarget_PREFIXBASISNATIVE := vnd.sun.star.expand:$$OOO_BASE_DIR/program/
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index d70b3b48a625..e199c8404fcf 100755
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2009 by Sun Microsystems, Inc.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -35,6 +35,15 @@ gb_CXX := cl
gb_LINK := link
gb_AWK := gawk
+# use CC/CXX if they are nondefaults
+ifneq ($(origin CC),default)
+gb_CC := $(CC)
+gb_GCCP := $(CC)
+endif
+ifneq ($(origin CXX),default)
+gb_CXX := $(CXX)
+endif
+
gb_OSDEFS := \
-DWINVER=0x0500 \
-D_WIN32_IE=0x0500 \
@@ -344,7 +353,7 @@ endef
# Library class
-gb_Library_DEFS := -D_DLL_ -D_DLL
+gb_Library_DEFS :=
gb_Library_TARGETTYPEFLAGS := -DLL
gb_Library_get_rpath :=