diff options
author | Bjoern Michaelsen <b_michaelsen@openoffice.org> | 2011-01-14 21:57:04 +0100 |
---|---|---|
committer | Bjoern Michaelsen <b_michaelsen@openoffice.org> | 2011-01-14 21:57:04 +0100 |
commit | fcc984d122bdf6512f8e3fd984d72b510c967943 (patch) | |
tree | f1d4ef697a3f1c53e55e17af23951568cf577f95 /solenv/gbuild/platform | |
parent | bac065099dd740eee97918d8898b312f723df85a (diff) |
gnumake3: reducing differences between macosx and linux platform files
Diffstat (limited to 'solenv/gbuild/platform')
-rwxr-xr-x | solenv/gbuild/platform/linux.mk | 49 | ||||
-rwxr-xr-x | solenv/gbuild/platform/macosx.mk | 65 | ||||
-rwxr-xr-x | solenv/gbuild/platform/solaris.mk | 73 | ||||
-rwxr-xr-x | solenv/gbuild/platform/windows.mk | 13 |
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 := |