diff options
author | David Tardon <dtardon@redhat.com> | 2012-02-17 08:34:22 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2012-02-17 08:34:22 +0100 |
commit | 096f2b849c08dc6890b548621b9a19dd78661e6a (patch) | |
tree | bd1b1951882f28924706c3cc74481cd5534bd132 /solenv/gbuild | |
parent | 00e26baaf5cca36a7e78036aa5694196ccbf7402 (diff) | |
parent | 144390821535d03735819d229e5ec397972b2436 (diff) |
merge feature/gbuild_java
Diffstat (limited to 'solenv/gbuild')
-rw-r--r-- | solenv/gbuild/Jar.mk | 13 | ||||
-rw-r--r-- | solenv/gbuild/JavaClassSet.mk | 46 | ||||
-rw-r--r-- | solenv/gbuild/JunitTest.mk | 13 | ||||
-rw-r--r-- | solenv/gbuild/platform/com_GCC_defs.mk | 4 | ||||
-rw-r--r-- | solenv/gbuild/platform/windows.mk | 2 |
5 files changed, 63 insertions, 15 deletions
diff --git a/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk index f1fe1444c8f4..70c14c5e90e2 100644 --- a/solenv/gbuild/Jar.mk +++ b/solenv/gbuild/Jar.mk @@ -65,7 +65,7 @@ define gb_Jar__command mkdir -p $(dir $(2)) && cd $(call gb_Jar_get_workdir,$(1)) && \ $(gb_Jar_JARCOMMAND) cfm $(2) $(call gb_Jar_get_manifest_target,$(1)) \ META-INF $(PACKAGEROOTS) $(PACKAGEFILES) \ - $(foreach root,$(PACKAGEDIRS),&& $(gb_Jar_JARCOMMAND) uf $(2) -C $(dir $(root)) $(notdir $(root))) \ + $(foreach root,$(PACKAGEDIRS),&& cd $(dir $(root)) && $(gb_Jar_JARCOMMAND) uf $(2) $(notdir $(root))) \ || (rm $(2); false) ) endef @@ -201,6 +201,16 @@ $(call gb_JavaClassSet_use_externals,$(call gb_Jar_get_classsetname,$(1)),$(2)) endef +define gb_Jar_add_package_dependency +$(call gb_JavaClassSet_add_package_dependency,$(call gb_Jar_get_classsetname,$(1)),$(2)) + +endef + +define gb_Jar_add_package_dependencies +$(call gb_JavaClassSet_add_package_dependencies,$(call gb_Jar_get_classsetname,$(1)),$(2)) + +endef + # possible directories for jar files containing UNO services gb_Jar_COMPONENTPREFIXES := \ OOO:vnd.sun.star.expand:\dLO_JAVA_DIR/ \ @@ -222,5 +232,4 @@ $(call gb_Jar_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_targe endef - # vim: set noet sw=4 ts=4: diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk index 6fd19fe7194c..838b957620ae 100644 --- a/solenv/gbuild/JavaClassSet.mk +++ b/solenv/gbuild/JavaClassSet.mk @@ -29,6 +29,10 @@ gb_JavaClassSet_JAVACCOMMAND := $(JAVACOMPILER) $(JAVAFLAGS) gb_JavaClassSet_JAVACDEBUG := +# Enforces correct dependency order for possibly generated stuff: +# generated sources, jars/classdirs etc. +gb_JavaClassSet_get_preparation_target = $(WORKDIR)/JavaClassSet/$(1)/prepared + ifneq ($(gb_DEBUGLEVEL),0) gb_JavaClassSet_JAVACDEBUG := -g endif @@ -36,17 +40,18 @@ endif define gb_JavaClassSet__command $(call gb_Helper_abbreviate_dirs_native,\ mkdir -p $(dir $(1)) && \ - RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),500,\ - $(call gb_Helper_convert_native,\ - $(if $(filter-out $(JARDEPS),$(3)),\ - $(filter-out $(JARDEPS),$(3)),\ - $(filter-out $(JARDEPS),$(4))))) && \ - $(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) \ - $(gb_JavaClassSet_JAVACDEBUG) \ - -cp "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \ - -d $(call gb_JavaClassSet_get_classdir,$(2)) \ - @$$RESPONSEFILE &&) \ - rm -f $$RESPONSEFILE && \ + $(if $(filter-out $(JARDEPS),$(4)), \ + RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),500,\ + $(call gb_Helper_convert_native,\ + $(if $(filter-out $(JARDEPS),$(3)),\ + $(filter-out $(JARDEPS),$(3)),\ + $(filter-out $(JARDEPS),$(4))))) && \ + $(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) \ + $(gb_JavaClassSet_JAVACDEBUG) \ + -cp "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \ + -d $(call gb_JavaClassSet_get_classdir,$(2)) \ + @$$RESPONSEFILE &&) \ + rm -f $$RESPONSEFILE &&) \ touch $(1)) endef @@ -60,8 +65,12 @@ $(call gb_JavaClassSet_get_clean_target,%) : $(call gb_Helper_abbreviate_dirs,\ rm -rf $(dir $(call gb_JavaClassSet_get_target,$*))) +$(call gb_JavaClassSet_get_preparation_target,%) : + mkdir -p $(dir $@) && touch $@ + define gb_JavaClassSet_JavaClassSet -$(call gb_JavaClassSet_get_target,$(1)) : JARDEPS := +$(call gb_JavaClassSet_get_target,$(1)) : JARDEPS := $(call gb_JavaClassSet_get_preparation_target,$(1)) +$(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet_get_preparation_target,$(1)) endef @@ -85,7 +94,7 @@ endef define gb_JavaClassSet_add_generated_sourcefile $(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet__get_generated_sourcefile,$(2)) -$(call gb_JavaClassSet__get_generated_sourcefile,$(2)) : $(gb_Helper_PHONY) +$(call gb_JavaClassSet__get_generated_sourcefile,$(2)) :| $(call gb_JavaClassSet_get_preparation_target,$(1)) endef @@ -105,6 +114,7 @@ define gb_JavaClassSet_add_jar $(call gb_JavaClassSet_get_target,$(1)) : $(2) $(call gb_JavaClassSet_get_target,$(1)) : T_CP := $$(T_CP)$(gb_CLASSPATHSEP)$(strip $(2)) $(call gb_JavaClassSet_get_target,$(1)) : JARDEPS += $(2) +$(2) :| $(gb_Helper_PHONY) endef @@ -139,4 +149,14 @@ $(foreach external,$(2),$(call gb_JavaClassSet_use_external,$(1),$(external))) endef +define gb_JavaClassSet_add_package_dependency +$(call gb_JavaClassSet_get_preparation_target,$(1)) :| $(call gb_Package_get_target,$(2)) + +endef + +define gb_JavaClassSet_add_package_dependencies +$(foreach dependency,$(2),$(call gb_JavaClassSet_add_package_dependency,$(1),$(dependency))) + +endef + # vim: set noet sw=4: diff --git a/solenv/gbuild/JunitTest.mk b/solenv/gbuild/JunitTest.mk index 177cad6f7e2b..8d3656a28ea6 100644 --- a/solenv/gbuild/JunitTest.mk +++ b/solenv/gbuild/JunitTest.mk @@ -112,6 +112,7 @@ endef define gb_JunitTest_add_jar $(call gb_JunitTest_get_target,$(1)) : T_CP := $$(T_CP)$(gb_CLASSPATHSEP)$(2) $(call gb_JunitTest_get_target,$(1)) : $(2) +$(2) :| $(gb_Helper_PHONY) endef @@ -120,6 +121,16 @@ $(foreach jar,$(2),$(call gb_JunitTest_add_jar,$(1),$(jar))) endef +define gb_JunitTest_add_package_dependency +$(call gb_JavaClassSet_add_package_dependency,$(call gb_JunitTest_get_classsetname,$(1)),$(2)) + +endef + +define gb_JunitTest_add_package_dependencies +$(call gb_JavaClassSet_add_package_dependencies,$(call gb_JunitTest_get_classsetname,$(1)),$(2)) + +endef + else # OOO_JUNIT_JAR .PHONY : $(call gb_JunitTest_get_target,$(1)) @@ -139,6 +150,8 @@ gb_JunitTest_add_sourcefiles := gb_JunitTest_set_classpath := gb_JunitTest_add_jar := gb_JunitTest_add_jars := +gb_JunitTest_add_package_dependency := +gb_JunitTest_add_package_dependencies := endif # OOO_JUNIT_JAR # vim: set noet sw=4: diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index 80ed26c8ebdf..fb032add0a71 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -165,3 +165,7 @@ $(1) endef gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib + +gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs) + +gb_Helper_get_rcfile = $(1)rc diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index 5207cb506729..59c23be6ea29 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -29,6 +29,8 @@ GUI := WNT gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/bin +gb_Helper_get_rcfile = $(1).ini + gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX gb_OSDEFS := \ |