summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Repository.mk34
-rw-r--r--RepositoryFixes.mk14
-rw-r--r--solenv/gbuild/Helper.mk60
-rwxr-xr-xsolenv/gbuild/gbuild.mk32
4 files changed, 89 insertions, 51 deletions
diff --git a/Repository.mk b/Repository.mk
index 7d4f2b959024..c65299779c41 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -25,19 +25,17 @@
#
#*************************************************************************
-gb_REPOSITORYDIRNAME := SRCDIR
+$(eval $(call gb_Helper_register_repository,SRCDIR))
-gb_Executable_UREBIN := \
+gb_Executable_UREBIN +=
-gb_Executable_SDK := \
-
-gb_Executable_OOO := \
-
-gb_Executable_BRAND := \
+gb_Executable_SDK +=
+gb_Executable_OOO +=
+gb_Executable_BRAND +=
# not installed
-gb_Executable_NONE := \
+gb_Executable_NONE +=\
mkunroll \
rscdep \
so_checksum \
@@ -46,7 +44,7 @@ gb_Executable_NONE := \
bmpsum \
g2g \
-gb_Library_OOOLIBS :=\
+gb_Library_OOOLIBS +=\
avmedia \
basegfx \
cui \
@@ -83,15 +81,15 @@ gb_Library_OOOLIBS :=\
xof \
xcr \
-gb_Library_PLAINLIBS_URE :=\
+gb_Library_PLAINLIBS_URE +=\
xml2 \
-gb_Library_PLAINLIBS_OOO :=\
+gb_Library_PLAINLIBS_OOO +=\
icuuc \
# => OOOLIB
-gb_Library_RTLIBS :=\
+gb_Library_RTLIBS +=\
comphelper \
i18nisolang1 \
i18nutil \
@@ -99,17 +97,17 @@ gb_Library_RTLIBS :=\
vos3 \
# => URELIB
-gb_Library_RTVERLIBS :=\
+gb_Library_RTVERLIBS +=\
cppuhelper \
salhelper \
# => URELIB
-gb_Library_STLLIBS :=\
+gb_Library_STLLIBS +=\
stl \
-gb_Library_UNOLIBS_URE := \
+gb_Library_UNOLIBS_URE +=\
-gb_Library_UNOLIBS_OOO := \
+gb_Library_UNOLIBS_OOO +=\
fsstorage \
hatchwindowfactory \
passwordcontainer \
@@ -118,12 +116,12 @@ gb_Library_UNOLIBS_OOO := \
# => URELIB
-gb_Library_UNOVERLIBS :=\
+gb_Library_UNOVERLIBS +=\
cppu \
jvmfwk \
sal \
-gb_StaticLibrary_PLAINLIBS :=\
+gb_StaticLibrary_PLAINLIBS +=\
jpeglib \
ooopathutils \
salcpprt \
diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index 25d720afc096..c0c530fe1caa 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -107,5 +107,19 @@ gb_Library_DLLFILENAMES := $(patsubst z:z%,z:zlib%,$(gb_Library_DLLFILENAMES))
endif
+# we do not require a known rule for these, when using system libs
+
+ifeq ($(USE_SYSTEM_STL),YES)
+gb_Library_TARGETS := $(filter-out stl,$(gb_Library_TARGETS))
+endif
+
+ifeq ($(SYSTEM_LIBXML),YES)
+gb_Library_TARGETS := $(filter-out xml2,$(gb_Library_TARGETS))
+endif
+
+ifeq ($(SYSTEM_ICU),YES)
+gb_Library_TARGETS := $(filter-out icuuc,$(gb_Library_TARGETS))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index 9e9561975436..c35bf864df1e 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -109,13 +109,63 @@ define gb_Helper_deliver
$(call gb_Helper__deliverprefix,$(2)) cp -f $(1) $(2) && touch -r $(1) $(2)
endef
-define gb_Helper_add_repo
-gb_REPOSITORYDIRNAME :=
+define gb_Helper_register_repository
+gb_Helper_CURRENTREPOSITORY := $(1)
+
+endef
+
+define gb_Helper_add_repository
+gb_Helper_CURRENTREPOSITORY :=
include $(1)/Repository.mk
-ifeq ($$(gb_REPOSITORYDIRNAME),)
-$$(error no gb_REPOSITORYDIRNAME set for repository $(1))
+ifeq ($$(gb_Helper_CURRENTREPOSITORY),)
+$$(error no gb_Helper_register_repository in Repository.mk for repository $(1))
endif
-$$(gb_REPOSITORYDIRNAME) := $(1)
+$$(gb_Helper_CURRENTREPOSITORY) := $(1)
+
+endef
+
+define gb_Helper_add_repositories
+$(foreach repo,$(1),$(call gb_Helper_add_repository,$(repo)))
+endef
+
+define gb_Helper_init_registries
+gb_Library_NAMESCHEMES := OOO PLAIN RT RTVER STL UNO UNOVER
+gb_StaticLibrary_NAMESCHEMES := PLAIN
+
+gb_Executable_UREBIN :=
+gb_Executable_SDK :=
+gb_Executable_OOO :=
+gb_Executable_BRAND :=
+gb_Executable_NONE :=
+gb_Library_OOOLIBS :=
+gb_Library_PLAINLIBS_URE :=
+gb_Library_PLAINLIBS_OOO :=
+gb_Library_RTLIBS :=
+gb_Library_RTVERLIBS :=
+gb_Library_STLLIBS :=
+gb_Library_UNOLIBS_URE :=
+gb_Library_UNOLIBS_OOO :=
+gb_Library_UNOVERLIBS :=
+gb_StaticLibrary_PLAINLIBS :=
+endef
+
+define gb_Helper_collect_libtargets
+gb_Library_PLAINLIBS := \
+ $$(gb_Library_PLAINLIBS_URE) \
+ $$(gb_Library_PLAINLIBS_OOO) \
+
+gb_Library_UNOLIBS := \
+ $$(gb_Library_UNOLIBS_URE) \
+ $$(gb_Library_UNOLIBS_OOO) \
+
+gb_Library_TARGETS := $$(foreach namescheme,$$(gb_Library_NAMESCHEMES),$$(gb_Library_$$(namescheme)LIBS))
+gb_StaticLibrary_TARGETS := $$(foreach namescheme,$$(gb_StaticLibrary_NAMESCHEMES),$$(gb_StaticLibrary_$$(namescheme)LIBS))
+
+endef
+
+define gb_Helper_collect_knownlibs
+gb_Library_KNOWNLIBS := $$(foreach namescheme,$$(gb_Library_NAMESCHEMES),$$(gb_Library_$$(namescheme)LIBS))
+gb_StaticLibrary_KNOWNLIBS := $$(foreach namescheme,$$(gb_StaticLibrary_NAMESCHEMES),$$(gb_StaticLibrary_$$(namescheme)LIBS))
endef
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 1da6d8dd08af..e53d5ba54514 100755
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -88,21 +88,10 @@ gb_FULLDEPS := $(true)
endif
include $(GBUILDDIR)/Helper.mk
-gb_Library_NAMESCHEMES := OOO PLAIN RT RTVER STL UNO UNOVER
-gb_StaticLibrary_NAMESCHEMES := PLAIN
-$(foreach repo,$(gb_REPOS),$(eval $(call gb_Helper_add_repo,$(repo))))
-
-gb_Library_PLAINLIBS := \
- $(gb_Library_PLAINLIBS_URE) \
- $(gb_Library_PLAINLIBS_OOO) \
-
-gb_Library_UNOLIBS := \
- $(gb_Library_UNOLIBS_URE) \
- $(gb_Library_UNOLIBS_OOO) \
-
-gb_Library_TARGETS := $(foreach namescheme,$(gb_Library_NAMESCHEMES),$(gb_Library_$(namescheme)LIBS))
-gb_StaticLibrary_TARGETS := $(foreach namescheme,$(gb_StaticLibrary_NAMESCHEMES),$(gb_StaticLibrary_$(namescheme)LIBS))
+$(eval $(call gb_Helper_init_registries))
+$(eval $(call gb_Helper_add_repositories,$(gb_REPOS)))
+$(eval $(call gb_Helper_collect_libtargets))
ifeq ($(OS),LINUX)
include $(GBUILDDIR)/platform/linux.mk
@@ -124,20 +113,7 @@ endif
include $(foreach repo,$(gb_REPOS),$(repo)/RepositoryFixes.mk)
-gb_Library_KNOWNLIBS := $(foreach namescheme,$(gb_Library_NAMESCHEMES),$(gb_Library_$(namescheme)LIBS))
-gb_StaticLibrary_KNOWNLIBS := $(foreach namescheme,$(gb_StaticLibrary_NAMESCHEMES),$(gb_StaticLibrary_$(namescheme)LIBS))
-
-ifeq ($(USE_SYSTEM_STL),YES)
-gb_Library_TARGETS := $(filter-out stl,$(gb_Library_TARGETS))
-endif
-
-ifeq ($(SYSTEM_LIBXML),YES)
-gb_Library_TARGETS := $(filter-out xml2,$(gb_Library_TARGETS))
-endif
-
-ifeq ($(SYSTEM_ICU),YES)
-gb_Library_TARGETS := $(filter-out icuuc,$(gb_Library_TARGETS))
-endif
+$(eval $(call gb_Helper_collect_knownlibs))
gb_GLOBALDEFS := \
-D__DMAKE \