Author: arist Date: Wed Nov 14 23:37:39 2012 New Revision: 1409560 URL: http://svn.apache.org/viewvc?rev=1409560&view=rev Log: gnumake4_062_db8ee7ba2cff.patch # HG changeset patch # User Michael Stahl <m...@openoffice.org> # Date 1302528217 0 # Node ID db8ee7ba2cffa1fa60e1fac69bc6369846a0afeb # Parent 6ae64fc2b62e72e3e6957a96ea9ff0fddbca958e gnumake4: Jar.mk: move CLASSPATH stuff to JavaClassSet, and add system/external
Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/Jar.mk incubator/ooo/branches/gbuild/main/solenv/gbuild/JavaClassSet.mk Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/Jar.mk URL: http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/Jar.mk?rev=1409560&r1=1409559&r2=1409560&view=diff ============================================================================== --- incubator/ooo/branches/gbuild/main/solenv/gbuild/Jar.mk (original) +++ incubator/ooo/branches/gbuild/main/solenv/gbuild/Jar.mk Wed Nov 14 23:37:39 2012 @@ -71,11 +71,11 @@ $(call gb_Jar_get_target,%) : $(call gb_ # adds jar files to DeliverLogTarget # adds dependency for outdir target to workdir target (pattern rule for delivery is in Package.mk) define gb_Jar_Jar -$(call gb_Jar_get_target,$(1)) : CLASSPATH := $(value XCLASSPATH) $(call gb_Jar_get_target,$(1)) : MANIFEST := $(call gb_Jar_get_target,$(1)) : JARCLASSPATH := $(call gb_Jar_get_target,$(1)) : PACKAGEROOTS := $(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)),$(2)) +$(call gb_JavaClassSet_set_classpath,$(call gb_Jar_get_classsetname,$(1)),$(value XCLASSPATH)) $(eval $(call gb_Module_register_target,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Jar_get_clean_target,$(1)))) $(call gb_Deliver_add_deliverable,$(call gb_Jar_get_outdir_target,$(1)),$(call gb_Jar_get_target,$(1)),$(1)) $(call gb_Jar_get_outdir_target,$(1)) : $(call gb_Jar_get_target,$(1)) @@ -96,9 +96,8 @@ define gb_Jar_add_sourcefiles $(foreach sourcefile,$(2),$(call gb_Jar_add_sourcefile,$(1),$(sourcefile))) endef -# don't forward it to ClassSet; the ClassSet "inherits" the classpath from the Jar define gb_JarTest_set_classpath -$(call gb_Jar_get_target,$(1)) : CLASSPATH := $(2) +$(call gb_JavaClassSet_set_classpath,$(call gb_Jar_get_classsetname,$(1)),$(2)) endef # JARCLASSPATH is the class path that is written to the manifest of the jar @@ -118,14 +117,28 @@ endef # remember: classpath is "inherited" to ClassSet define gb_Jar_add_jar -$(call gb_Jar_get_target,$(1)) : CLASSPATH := $$(CLASSPATH)$(gb_CLASSPATHSEP)$(2) $(call gb_JavaClassSet_add_jar,$(call gb_Jar_get_classsetname,$(1)),$(2)) +endef +define gb_Jar_add_system_jar +$(call gb_JavaClassSet_add_system_jar,$(call gb_Jar_get_classsetname,$(1)),$(2)) endef # specify jars with imported modules define gb_Jar_add_jars -$(foreach jar,$(2),$(call gb_Jar_add_jar,$(1),$(jar))) +$(call gb_JavaClassSet_add_jars,$(call gb_Jar_get_classsetname,$(1)),$(2)) +endef + +define gb_Jar_add_system_jars +$(call gb_JavaClassSet_add_system_jars,$(call gb_Jar_get_classsetname,$(1)),$(2)) +endef + +define gb_Jar_use_external +$(call gb_JavaClassSet_use_external,$(call gb_Jar_get_classsetname,$(1)),$(2)) +endef + +define gb_Jar_use_externals +$(call gb_JavaClassSet_use_externals,$(call gb_Jar_get_classsetname,$(1)),$(2)) endef # possible directories for jar files containing UNO services Modified: incubator/ooo/branches/gbuild/main/solenv/gbuild/JavaClassSet.mk URL: http://svn.apache.org/viewvc/incubator/ooo/branches/gbuild/main/solenv/gbuild/JavaClassSet.mk?rev=1409560&r1=1409559&r2=1409560&view=diff ============================================================================== --- incubator/ooo/branches/gbuild/main/solenv/gbuild/JavaClassSet.mk (original) +++ incubator/ooo/branches/gbuild/main/solenv/gbuild/JavaClassSet.mk Wed Nov 14 23:37:39 2012 @@ -67,15 +67,41 @@ $(foreach sourcefile,$(2),$(call gb_Java endef define gb_JavaClassSet_set_classpath -$(call gb_JavaClassSet_get_target,$(1)) : CLASSPATH := $(2) +$(eval $(call gb_JavaClassSet_get_target,$(1)) : CLASSPATH := $(2)) endef # problem: currently we can't get these dependencies to work # build order dependency is a hack to get these prerequisites out of the way in the build command define gb_JavaClassSet_add_jar $(eval $(call gb_JavaClassSet_get_target,$(1)) : $(2)) +$(eval $(call gb_JavaClassSet_get_target,$(1)) : CLASSPATH := $$(CLASSPATH)$(gb_CLASSPATHSEP)$(2)) $(eval $(call gb_JavaClassSet_get_target,$(1)) : JARDEPS += $(2)) +endef + +# this does not generate dependency on the jar +define gb_JavaClassSet_add_system_jar +$(eval $(call gb_JavaClassSet_get_target,$(1)) : CLASSPATH := $$(CLASSPATH)$(gb_CLASSPATHSEP)$(2)) +$(eval $(call gb_JavaClassSet_get_target,$(1)) : JARDEPS += $(2)) +endef + +define gb_JavaClassSet_add_jars +$(foreach jar,$(2),$(call gb_JavaClassSet_add_jar,$(1),$(jar))) +endef + +define gb_JavaClassSet_add_system_jars +$(foreach jar,$(2),$(call gb_JavaClassSet_add_system_jar,$(1),$(jar))) +endef + +# this forwards to functions that must be defined in RepositoryExternal.mk. +# $(call gb_LinkTarget_use_external,library,external) +define gb_JavaClassSet_use_external +$(eval $(if $(value gb_JavaClassSet__use_$(2)),\ + $(call gb_JavaClassSet__use_$(2),$(1)),\ + $(error gb_JavaClassSet_use_external: unknown external: $(2)))) +endef +define gb_JavaClassSet_use_externals +$(foreach external,$(2),$(call gb_JavaClassSet_use_external,$(1),$(external))) endef # vim: set noet sw=4 ts=4: