Merge "Moving notice file generation to a python script (it was getting fairly complicated in bash), update HTML output to have a table of contents, and fix typos/bugs in notice file CSS"
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index 711041d..ca12ba2 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -43,7 +43,7 @@
# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
-TARGET_TOOLCHAIN_ROOT := prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x
+TARGET_TOOLCHAIN_ROOT := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-4.6
TARGET_TOOLS_PREFIX := $(TARGET_TOOLCHAIN_ROOT)/bin/arm-linux-androideabi-
endif
diff --git a/core/config.mk b/core/config.mk
index 7156b46..dabdfde 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -151,12 +151,43 @@
TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
board_config_mk :=
-# pull in device specific kernel headers. Files should be in
-# $(TARGET_DEVICE_DIR)/kernel-headers, e.g.
-# $(TARGET_DEVICE_DIR)/kernel-headers/linux/
-# $(TARGET_DEVICE_DIR)/kernel-headers/media/
-# $(TARGET_DEVICE_DIR)/kernel-headers/video/
-# etc.
+# The build system exposes several variables for where to find the kernel
+# headers:
+# TARGET_DEVICE_KERNEL_HEADERS is automatically created for the current
+# device being built. It is set as $(TARGET_DEVICE_DIR)/kernel-headers,
+# e.g. device/samsung/tuna/kernel-headers. This directory is not
+# explicitly set by anyone, the build system always adds this subdir.
+#
+# TARGET_BOARD_KERNEL_HEADERS is specified by the BoardConfig.mk file
+# to allow other directories to be included. This is useful if there's
+# some common place where a few headers are being kept for a group
+# of devices. For example, device/<vendor>/common/kernel-headers could
+# contain some headers for several of <vendor>'s devices.
+#
+# TARGET_PRODUCT_KERNEL_HEADERS is generated by the product inheritance
+# graph. This allows architecture products to provide headers for the
+# devices using that architecture. For example,
+# hardware/ti/omap4xxx/omap4.mk will specify
+# PRODUCT_VENDOR_KERNEL_HEADERS variable that specify where the omap4
+# specific headers are, e.g. hardware/ti/omap4xxx/kernel-headers.
+# The build system then combines all the values specified by all the
+# PRODUCT_VENDOR_KERNEL_HEADERS directives in the product inheritance
+# tree and then exports a TARGET_PRODUCT_KERNEL_HEADERS variable.
+#
+# The layout of subdirs in any of the kernel-headers dir should mirror the
+# layout of the kernel include/ directory. For example,
+# device/samsung/tuna/kernel-headers/linux/,
+# hardware/ti/omap4xxx/kernel-headers/media/,
+# etc.
+#
+# NOTE: These directories MUST contain post-processed headers using the
+# bionic/libc/kernel/clean_header.py tool. Additionally, the original kernel
+# headers must also be checked in, but in a different subdirectory. By
+# convention, the originals should be checked into original-kernel-headers
+# directory of the same parent dir. For example,
+# device/samsung/tuna/kernel-headers <----- post-processed
+# device/samsung/tuna/original-kernel-headers <----- originals
+#
TARGET_DEVICE_KERNEL_HEADERS := $(strip $(wildcard $(TARGET_DEVICE_DIR)/kernel-headers))
define validate-kernel-headers
@@ -358,7 +389,8 @@
HOST_PROJECT_INCLUDES:= $(SRC_HEADERS) $(SRC_HOST_HEADERS) $(HOST_OUT_HEADERS)
TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS) \
- $(TARGET_OUT_KERNEL_HEADERS)
+ $(TARGET_DEVICE_KERNEL_HEADERS) $(TARGET_BOARD_KERNEL_HEADERS) \
+ $(TARGET_PRODUCT_KERNEL_HEADERS)
# Many host compilers don't support these flags, so we have to make
# sure to only specify them for the target compilers checked in to
diff --git a/core/dumpvar.mk b/core/dumpvar.mk
index 87f7086..0f7dd8f 100644
--- a/core/dumpvar.mk
+++ b/core/dumpvar.mk
@@ -10,18 +10,19 @@
endif
# Add the ARM toolchain bin dir if it actually exists
-ifneq ($(wildcard $(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x/bin),)
+ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-4.6/bin),)
# this should be copied to HOST_OUT_EXECUTABLES instead
- ABP:=$(ABP):$(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x/bin
+ ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-4.6/bin
endif
# Add the x86 toolchain bin dir if it actually exists
ifneq ($(wildcard $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/x86/i686-android-linux-4.4.3/bin),)
# this should be copied to HOST_OUT_EXECUTABLES instead
- ABP:=$(ABP):$(PWD)/prebuilts/gcc//$(HOST_PREBUILT_TAG)/x86/i686-android-linux-4.4.3/bin
+ ABP:=$(ABP):$(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/x86/i686-android-linux-4.4.3/bin
endif
ANDROID_BUILD_PATHS := $(ABP)
ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
+ANDROID_GCC_PREBUILTS := prebuilts/gcc/$(HOST_PREBUILT_TAG)
# The "dumpvar" stuff lets you say something like
#
diff --git a/core/envsetup.mk b/core/envsetup.mk
index 9cc32c3..74e9100 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -191,7 +191,6 @@
TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj
TARGET_OUT_HEADERS:= $(TARGET_OUT_INTERMEDIATES)/include
-TARGET_OUT_KERNEL_HEADERS:= $(TARGET_OUT_INTERMEDIATES)/kernel-headers
TARGET_OUT_INTERMEDIATE_LIBRARIES := $(TARGET_OUT_INTERMEDIATES)/lib
TARGET_OUT_COMMON_INTERMEDIATES := $(TARGET_COMMON_OUT_ROOT)/obj
diff --git a/core/main.mk b/core/main.mk
index ed93a3c..841bd3f 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -719,9 +719,6 @@
ifeq ($(BUILD_TINY_ANDROID), true)
INSTALLED_RECOVERYIMAGE_TARGET :=
endif
-ifneq ($(TARGET_BUILD_PDK),)
-INSTALLED_RECOVERYIMAGE_TARGET :=
-endif
# Build files and then package it into the rom formats
.PHONY: droidcore
@@ -769,9 +766,6 @@
$(INTERNAL_UPDATE_PACKAGE_TARGET) \
$(INTERNAL_OTA_PACKAGE_TARGET) \
$(SYMBOLS_ZIP) \
- $(APPS_ZIP) \
- $(INTERNAL_EMULATOR_PACKAGE_TARGET) \
- $(PACKAGE_STATS_FILE) \
$(INSTALLED_FILES_FILE) \
$(INSTALLED_BUILD_PROP_TARGET) \
$(BUILT_TARGET_FILES_PACKAGE) \
@@ -780,6 +774,14 @@
$(INSTALLED_FACTORY_RAMDISK_TARGET) \
)
+ ifneq ($(TARGET_BUILD_PDK),true)
+ $(call dist-for-goals, droidcore, \
+ $(APPS_ZIP) \
+ $(INTERNAL_EMULATOR_PACKAGE_TARGET) \
+ $(PACKAGE_STATS_FILE) \
+ )
+ endif
+
# Building a full system-- the default is to build droidcore
droid: droidcore dist_files
diff --git a/envsetup.sh b/envsetup.sh
index b7ca7d2..7711e0d 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -112,18 +112,19 @@
# and in with the new
CODE_REVIEWS=
prebuiltdir=$(getprebuilt)
+ gccprebuiltdir=$(get_abs_build_var ANDROID_GCC_PREBUILTS)
# The gcc toolchain does not exists for windows/cygwin. In this case, do not reference it.
export ANDROID_EABI_TOOLCHAIN=
- toolchaindir=toolchain/arm-linux-androideabi-4.4.x/bin
- if [ -d "$prebuiltdir/$toolchaindir" ]; then
- export ANDROID_EABI_TOOLCHAIN=$prebuiltdir/$toolchaindir
+ toolchaindir=arm/arm-linux-androideabi-4.6/bin
+ if [ -d "$gccprebuiltdir/$toolchaindir" ]; then
+ export ANDROID_EABI_TOOLCHAIN=$gccprebuiltdir/$toolchaindir
fi
export ARM_EABI_TOOLCHAIN=
- toolchaindir=toolchain/arm-eabi-4.4.3/bin
- if [ -d "$prebuiltdir/$toolchaindir" ]; then
- export ARM_EABI_TOOLCHAIN=$prebuiltdir/$toolchaindir
+ toolchaindir=arm/arm-eabi-4.6/bin
+ if [ -d "$gccprebuiltdir/$toolchaindir" ]; then
+ export ARM_EABI_TOOLCHAIN=$gccprebuiltdir/$toolchaindir
fi
export ANDROID_TOOLCHAIN=$ANDROID_EABI_TOOLCHAIN
diff --git a/target/product/core.mk b/target/product/core.mk
index 318ed38..732e476 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -102,6 +102,7 @@
libstagefright_soft_mpeg4dec \
libstagefright_soft_vorbisdec \
libstagefright_soft_vpxdec \
+ libstagefright_soft_rawdec \
libvariablespeed \
libwebrtc_audio_preprocessing \
libwilhelm \
diff --git a/tools/adbs b/tools/adbs
index 1a400f7..598af85 100755
--- a/tools/adbs
+++ b/tools/adbs
@@ -140,13 +140,13 @@
uname = "darwin-x86"
elif uname == "Linux":
uname = "linux-x86"
- prefix = "./prebuilt/" + uname + "/toolchain/arm-linux-androideabi-4.4.x/bin/"
+ prefix = "./prebuilts/gcc/" + uname + "/arm/arm-linux-androideabi-4.6/bin/"
addr2line_cmd = prefix + "arm-linux-androideabi-addr2line"
if (not os.path.exists(addr2line_cmd)):
try:
- prefix = os.environ['ANDROID_BUILD_TOP'] + "/prebuilt/" + uname + \
- "/toolchain/arm-linux-androideabi-4.4.x/bin/"
+ prefix = os.environ['ANDROID_BUILD_TOP'] + "/prebuilts/gcc/" + \
+ uname + "/arm/arm-linux-androideabi-4.6/bin/"
except:
prefix = "";