diff --git a/solenv/gbuild/executable.mk b/solenv/gbuild/executable.mk index e4bac4d32aad..95b1855c9a80 100644 --- a/solenv/gbuild/executable.mk +++ b/solenv/gbuild/executable.mk @@ -48,7 +48,7 @@ endef define gb_Executable__Executable_impl $(call gb_LinkTarget_LinkTarget,$(2)) -$(call gb_LinkTarget_set_targettype_flags,$(2),$(gb_Executable_TARGETTYPEFLAGS)) +$(call gb_LinkTarget_set_targettype_flags,$(2),$(gb_Executable_TARGETTYPEFLAGS) $(call gb_LinkTarget_get_rpath,$(2),$(1))) $(call gb_Executable_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2)) $(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2)) $(call gb_Executable_Executable_platform,$(1),$(2)) diff --git a/solenv/gbuild/libnames.mk b/solenv/gbuild/libnames.mk index 0bdef595e6e6..c7524a483f19 100644 --- a/solenv/gbuild/libnames.mk +++ b/solenv/gbuild/libnames.mk @@ -25,6 +25,25 @@ # #************************************************************************* +gb_Executable_UREBIN := \ + +gb_Executable_SDK := \ + +gb_Executable_OOO := \ + +gb_Executable_BRAND := \ + +# not installed +gb_Executable_NONE := \ + mkunroll \ + rscdep \ + so_checksum \ + sspretty \ + bmp \ + bmpsum \ + g2g \ + + gb_Library_NAMESCHEMES := OOO PLAIN RT RTVER STL UNO UNOVER gb_Library_OOOLIBS :=\ @@ -62,10 +81,17 @@ gb_Library_OOOLIBS :=\ xof \ xcr \ -gb_Library_PLAINLIBS :=\ - icuuc \ +gb_Library_PLAINLIBS_URE :=\ xml2 \ +gb_Library_PLAINLIBS_OOO :=\ + icuuc \ + +gb_Library_PLAINLIBS := \ + $(gb_Library_PLAINLIBS_URE) \ + $(gb_Library_PLAINLIBS_OOO) \ + +# => OOOLIB gb_Library_RTLIBS :=\ comphelper \ i18nisolang1 \ @@ -73,20 +99,29 @@ gb_Library_RTLIBS :=\ ucbhelper \ vos3 \ +# => URELIB gb_Library_RTVERLIBS :=\ cppuhelper \ salhelper \ +# => URELIB gb_Library_STLLIBS :=\ stl \ -gb_Library_UNOLIBS :=\ +gb_Library_UNOLIBS_URE := \ + +gb_Library_UNOLIBS_OOO := \ fsstorage \ hatchwindowfactory \ passwordcontainer \ productregistration \ vbaswobj \ +gb_Library_UNOLIBS := \ + $(gb_Library_UNOLIBS_URE) \ + $(gb_Library_UNOLIBS_OOO) \ + +# => URELIB gb_Library_UNOVERLIBS :=\ jvmfwk \ cppu \ diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk index 44a04abbd2be..fd34ed99ed54 100644 --- a/solenv/gbuild/platform/linux.mk +++ b/solenv/gbuild/platform/linux.mk @@ -168,7 +168,7 @@ $(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS))) endef define gb_LinkTarget_get_rpath -Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_LinkTarget_get_layer,$(2))) \ --Wl,-rpath-link,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_LinkTarget_get_layer,$(2))) +-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION) endef gb_LinkTarget__RPATHS := \ @@ -176,17 +176,24 @@ gb_LinkTarget__RPATHS := \ UREBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \ OOOLIB:'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' \ BRAND:'$$$$ORIGIN:$$$$ORIGIN/../basis-link/program:$$$$ORIGIN/../basis-link/ure-link/lib' \ - SDK:'$$$$ORIGIN/../../ure-link/lib' \ + SDKBIN:'$$$$ORIGIN/../../ure-link/lib' \ + NONEBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \ -#FIXME incomplete gb_LinkTarget_LAYER := \ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOOLIB) \ - $(foreach lib,$(gb_Library_PLAINLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):) \ + $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \ $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \ - $(foreach lib,$(gb_Library_UNOLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOOLIB) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Executable_UREBIN),$(lib):UREBIN) \ + $(foreach lib,$(gb_Executable_SDK),$(lib):SDKBIN) \ + $(foreach lib,$(gb_Executable_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Executable_BRAND),$(lib):BRAND) \ + $(foreach lib,$(gb_Executable_NONE),$(lib):NONEBIN) \ gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_COMPILEROPTFLAGS) gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_COMPILEROPTFLAGS) diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index ee7e306424f2..b7242611d22b 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -208,8 +208,11 @@ endef define gb_LinkTarget__get_rpath_for_layer $(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget_RPATHS))) endef +define gb_LinkTarget__get_installname +$(if $(2),-install_name '$(2)$(notdir $(1))',) +endef define gb_LinkTarget_get_rpath --install_name '$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_LinkTarget_get_layer,$(2)))$(notdir $(1))' +$(call gb_LinkTarget__get_installname,$(1),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_LinkTarget_get_layer,$(2)))) endef gb_LinkTarget_RPATHS := \ @@ -217,16 +220,24 @@ gb_LinkTarget_RPATHS := \ UREBIN: \ OOOLIB:@__________________________________________________OOO/ \ BRAND: \ - SDK: \ + SDKBIN: \ + NONEBIN: \ gb_LinkTarget_LAYER := \ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOOLIB) \ - $(foreach lib,$(gb_Library_PLAINLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):) \ + $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \ $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \ - $(foreach lib,$(gb_Library_UNOLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOOLIB) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Executable_UREBIN),$(lib):UREBIN) \ + $(foreach lib,$(gb_Executable_SDK),$(lib):SDKBIN) \ + $(foreach lib,$(gb_Executable_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Executable_BRAND),$(lib):BRAND) \ + $(foreach lib,$(gb_Executable_NONE),$(lib):NONEBIN) \ gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_COMPILEROPTFLAGS) gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_COMPILEROPTFLAGS) diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 9b8b3147dd37..6fca4deae44f 100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -178,17 +178,24 @@ gb_LinkTarget__RPATHS := \ UREBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \ OOOLIB:'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' \ BRAND:'$$$$ORIGIN:$$$$ORIGIN/../basis-link/program:$$$$ORIGIN/../basis-link/ure-link/lib' \ - SDK:'$$$$ORIGIN/../../ure-link/lib' \ + SDKBIN:'$$$$ORIGIN/../../ure-link/lib' \ + NONEBIN:'$$$$ORIGIN/../lib:$$$$ORIGIN' \ -#FIXME incomplete gb_LinkTarget_LAYER := \ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOOLIB) \ - $(foreach lib,$(gb_Library_PLAINLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTLIBS),$(lib):) \ - $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):) \ + $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \ $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \ - $(foreach lib,$(gb_Library_UNOLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \ + $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOOLIB) \ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \ + $(foreach lib,$(gb_Executable_UREBIN),$(lib):UREBIN) \ + $(foreach lib,$(gb_Executable_SDK),$(lib):SDKBIN) \ + $(foreach lib,$(gb_Executable_OOO),$(lib):OOOLIB) \ + $(foreach lib,$(gb_Executable_BRAND),$(lib):BRAND) \ + $(foreach lib,$(gb_Executable_NONE),$(lib):NONEBIN) \ gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_COMPILEROPTFLAGS) gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_COMPILEROPTFLAGS)