summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2011-12-12 12:57:38 -0800
committerYing Wang <wangying@google.com>2011-12-12 12:57:38 -0800
commitfd626f2d21a55aec9133424f4303d5450ad9622e (patch)
treee17e02b459b077d467b0caf30a503a672338a502
parent21984f9581189eb51806df62b31f9ecfe4e3fc1a (diff)
downloadbuild-fd626f2d21a55aec9133424f4303d5450ad9622e.zip
build-fd626f2d21a55aec9133424f4303d5450ad9622e.tar.gz
build-fd626f2d21a55aec9133424f4303d5450ad9622e.tar.bz2
Collect the GPL source files.
Bug: 5693205 Change-Id: I045b83949f8b29d7c5cf5c0ab32c5b83cf398e71
-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 242b53d..66d2465 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 154c026..3f70a05 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