summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2011-12-16 17:00:46 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-12-16 17:00:46 -0800
commit4b9d4ea2e23fa1a97ae912b7d6d2729fe267c290 (patch)
tree5b7873d7263c146757a2bbb3ea6a1ac681317f83
parent89686538d77c47ed7816594c7597f5d1e456d656 (diff)
parentfd626f2d21a55aec9133424f4303d5450ad9622e (diff)
downloadbuild-4b9d4ea2e23fa1a97ae912b7d6d2729fe267c290.zip
build-4b9d4ea2e23fa1a97ae912b7d6d2729fe267c290.tar.gz
build-4b9d4ea2e23fa1a97ae912b7d6d2729fe267c290.tar.bz2
Merge "Collect the GPL source files."
-rw-r--r--core/base_rules.mk4
-rw-r--r--core/definitions.mk3
-rw-r--r--core/tasks/collect_gpl_sources.mk30
3 files changed, 36 insertions, 1 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 324c624..38c2c10 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -110,8 +110,10 @@ endif
# find files like MODULE_LICENSE_GPL_AND_AFL but exclude files like
# MODULE_LICENSE_LGPL.
#
-ifneq ($(call find-parent-file,$(LOCAL_PATH),MODULE_LICENSE*_GPL* MODULE_LICENSE*_MPL*),)
+gpl_license_file := $(call find-parent-file,$(LOCAL_PATH),MODULE_LICENSE*_GPL* MODULE_LICENSE*_MPL*)
+ifneq ($(gpl_license_file),)
LOCAL_MODULE_TAGS += gnu
+ ALL_GPL_MODULE_LICENSE_FILES := $(sort $(ALL_GPL_MODULE_LICENSE_FILES) $(gpl_license_file))
endif
#
diff --git a/core/definitions.mk b/core/definitions.mk
index b7a74b6..99e38d5 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -78,6 +78,9 @@ INTERNAL_DALVIK_MODULES:=
# All findbugs xml files
ALL_FINDBUGS_FILES:=
+# GPL module license files
+ALL_GPL_MODULE_LICENSE_FILES:=
+
###########################################################
## Debugging; prints a variable list to stdout
###########################################################
diff --git a/core/tasks/collect_gpl_sources.mk b/core/tasks/collect_gpl_sources.mk
new file mode 100644
index 0000000..3c7afcc
--- /dev/null
+++ b/core/tasks/collect_gpl_sources.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+gpl_source_tgz := $(call intermediates-dir-for,PACKAGING,gpl_source,HOST,COMMON)/gpl_source.tgz
+
+$(gpl_source_tgz): PRIVATE_PATHS := $(sort $(patsubst %/, %, $(dir $(ALL_GPL_MODULE_LICENSE_FILES))))
+$(gpl_source_tgz) : $(ALL_GPL_MODULE_LICENSE_FILES)
+ @echo Package gpl sources: $@
+ @rm -rf $(dir $@) && mkdir -p $(dir $@)
+ $(hide) tar cfz $@ --exclude ".git*" $(PRIVATE_PATHS)
+
+
+.PHONY: gpl_source_tgz
+gpl_source_tgz : $(gpl_source_tgz)
+
+# Dist the tgz only if we are doing a full build
+ifeq (,$(TARGET_BUILD_APPS))
+$(call dist-for-goals, droidcore, $(gpl_source_tgz))
+endif