From fd626f2d21a55aec9133424f4303d5450ad9622e Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Mon, 12 Dec 2011 12:57:38 -0800 Subject: [PATCH] Collect the GPL source files. Bug: 5693205 Change-Id: I045b83949f8b29d7c5cf5c0ab32c5b83cf398e71 --- core/base_rules.mk | 4 +++- core/definitions.mk | 3 +++ core/tasks/collect_gpl_sources.mk | 30 ++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 core/tasks/collect_gpl_sources.mk diff --git a/core/base_rules.mk b/core/base_rules.mk index 242b53d55..66d246526 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 154c026e6..3f70a0574 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 000000000..3c7afcc3b --- /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