summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CleanSpec.mk2
-rw-r--r--core/Makefile43
-rw-r--r--core/base_rules.mk2
-rw-r--r--core/binary.mk13
-rw-r--r--core/build-system.html6
-rw-r--r--core/build_id.mk2
-rw-r--r--core/clear_vars.mk1
-rw-r--r--core/combo/HOST_darwin-x86.mk2
-rw-r--r--core/combo/TARGET_linux-arm.mk2
-rw-r--r--core/combo/TARGET_linux-sh.mk4
-rw-r--r--core/combo/TARGET_linux-x86.mk23
-rw-r--r--core/combo/select.mk1
-rw-r--r--core/config.mk14
-rw-r--r--core/definitions.mk15
-rw-r--r--core/dumpvar.mk78
-rw-r--r--core/dynamic_binary.mk4
-rw-r--r--core/envsetup.mk88
-rwxr-xr-xcore/find-jdk-tools-jar.sh2
-rw-r--r--core/main.mk32
-rw-r--r--core/pathmap.mk1
-rw-r--r--core/user_tags.mk9
-rw-r--r--core/version_defaults.mk4
-rw-r--r--envsetup.sh36
-rw-r--r--libs/host/CopyFile.c18
-rw-r--r--target/board/generic/BoardConfig.mk3
-rw-r--r--target/board/generic/device.mk26
-rw-r--r--target/board/generic_x86/BoardConfig.mk7
-rw-r--r--target/board/generic_x86/README.txt10
-rw-r--r--target/board/generic_x86/buildspec-generic_x86.mk7
-rw-r--r--target/board/generic_x86/init.rc238
-rw-r--r--target/product/AndroidProducts.mk6
-rw-r--r--target/product/core.mk1
-rw-r--r--target/product/full.mk42
-rw-r--r--target/product/full_base.mk49
-rw-r--r--target/product/full_x86.mk34
-rw-r--r--target/product/generic_x86.mk2
-rw-r--r--target/product/locales_full.mk5
-rw-r--r--target/product/sdk.mk16
-rw-r--r--target/product/sim.mk2
-rwxr-xr-xtools/mktarball.sh9
40 files changed, 603 insertions, 256 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk
index f0beb1d..2663780 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -51,8 +51,6 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/android-info.txt)
$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************
diff --git a/core/Makefile b/core/Makefile
index 72d4ae7..1bbcbbd 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -112,7 +112,7 @@ $(word 3, 3, $(call default-locale, $(1)))
endef
BUILDINFO_SH := build/tools/buildinfo.sh
-$(INSTALLED_BUILD_PROP_TARGET): $(BUILDINFO_SH) $(INTERNAL_BUILD_ID_MAKEFILE)
+$(INSTALLED_BUILD_PROP_TARGET): $(BUILDINFO_SH) $(INTERNAL_BUILD_ID_MAKEFILE) $(BUILD_SYSTEM)/version_defaults.mk $(wildcard $(TARGET_DEVICE_DIR)/system.prop)
@echo Target buildinfo: $@
@mkdir -p $(dir $@)
$(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
@@ -690,8 +690,14 @@ ifneq ($(BOARD_NAND_PAGE_SIZE),)
mkyaffs2_extra_flags := -c $(BOARD_NAND_PAGE_SIZE)
else
mkyaffs2_extra_flags :=
+BOARD_NAND_PAGE_SIZE := 2048
endif
+ifneq ($(BOARD_NAND_SPARE_SIZE),)
+mkyaffs2_extra_flags += -s $(BOARD_NAND_SPARE_SIZE)
+else
+BOARD_NAND_SPARE_SIZE := 64
+endif
# -----------------------------------------------------------------
# system image
@@ -772,8 +778,12 @@ define build-systemtarball-target
$(INSTALLED_SYSTEMTARBALL_TARGET)
endef
+ifndef SYSTEM_TARBALL_FORMAT
+ SYSTEM_TARBALL_FORMAT := bz2
+endif
+
system_tar := $(PRODUCT_OUT)/system.tar
-INSTALLED_SYSTEMTARBALL_TARGET := $(system_tar).bz2
+INSTALLED_SYSTEMTARBALL_TARGET := $(system_tar).$(SYSTEM_TARBALL_FORMAT)
$(INSTALLED_SYSTEMTARBALL_TARGET): PRIVATE_SYSTEM_TAR := $(system_tar)
$(INSTALLED_SYSTEMTARBALL_TARGET): $(FS_GET_STATS) $(INTERNAL_SYSTEMIMAGE_FILES)
$(build-systemtarball-target)
@@ -787,6 +797,34 @@ systemtarball-nodeps: $(FS_GET_STATS) \
stnod: systemtarball-nodeps
+#######
+## boot tarball
+define build-boottarball-target
+ $(hide) echo "Target boot fs tarball: $(INSTALLED_BOOTTARBALL_TARGET)"
+ $(hide) mkdir -p $(PRODUCT_OUT)/boot
+ $(hide) cp -f $(INTERNAL_BOOTIMAGE_FILES) $(PRODUCT_OUT)/boot/.
+ $(hide) echo $(BOARD_KERNEL_CMDLINE) > $(PRODUCT_OUT)/boot/cmdline
+ $(hide) $(MKTARBALL) $(FS_GET_STATS) \
+ $(PRODUCT_OUT) boot $(PRIVATE_BOOT_TAR) \
+ $(INSTALLED_BOOTTARBALL_TARGET)
+endef
+
+ifndef BOOT_TARBALL_FORMAT
+ BOOT_TARBALL_FORMAT := bz2
+endif
+
+boot_tar := $(PRODUCT_OUT)/boot.tar
+INSTALLED_BOOTTARBALL_TARGET := $(boot_tar).$(BOOT_TARBALL_FORMAT)
+$(INSTALLED_BOOTTARBALL_TARGET): PRIVATE_BOOT_TAR := $(boot_tar)
+$(INSTALLED_BOOTTARBALL_TARGET): $(FS_GET_STATS) $(INTERNAL_BOOTIMAGE_FILES)
+ $(build-boottarball-target)
+
+.PHONY: boottarball-nodeps btnod
+boottarball-nodeps btnod: $(FS_GET_STATS) \
+ $(filter-out boottarball-nodeps btnod,$(MAKECMDGOALS))
+ $(build-boottarball-target)
+
+
# -----------------------------------------------------------------
# data partition image
INTERNAL_USERDATAIMAGE_FILES := \
@@ -1365,3 +1403,4 @@ $(INTERNAL_FINDBUGS_HTML_TARGET): $(INTERNAL_FINDBUGS_XML_TARGET)
# -----------------------------------------------------------------
# These are some additional build tasks that need to be run.
include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk))
+-include $(sort $(wildcard vendor/*/build/tasks/*.mk))
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 3c11673..afd699b 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -69,7 +69,7 @@ endif
# Only the tags mentioned in this test are expected to be set by module
# makefiles. Anything else is either a typo or a source of unexpected
# behaviors.
-ifneq ($(filter-out user debug eng tests optional samples,$(LOCAL_MODULE_TAGS)),)
+ifneq ($(filter-out user debug eng tests optional samples shell_ash shell_mksh,$(LOCAL_MODULE_TAGS)),)
$(warning unusual tags $(LOCAL_MODULE_TAGS) on $(LOCAL_MODULE) at $(LOCAL_PATH))
endif
diff --git a/core/binary.mk b/core/binary.mk
index 5fb0e75..48d1ba7 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -48,6 +48,12 @@ ifeq ($(strip $(LOCAL_NO_FDO_SUPPORT)),)
endif
###########################################################
+## Explicitly declare assembly-only __ASSEMBLY__ macro for
+## assembly source
+###########################################################
+LOCAL_ASFLAGS += -D__ASSEMBLY__
+
+###########################################################
## Define PRIVATE_ variables from global vars
###########################################################
ifdef LOCAL_NDK_VERSION
@@ -102,6 +108,7 @@ endif
## Define arm-vs-thumb-mode flags.
###########################################################
LOCAL_ARM_MODE := $(strip $(LOCAL_ARM_MODE))
+ifeq ($(TARGET_ARCH),arm)
arm_objects_mode := $(if $(LOCAL_ARM_MODE),$(LOCAL_ARM_MODE),arm)
normal_objects_mode := $(if $(LOCAL_ARM_MODE),$(LOCAL_ARM_MODE),thumb)
@@ -110,6 +117,12 @@ normal_objects_mode := $(if $(LOCAL_ARM_MODE),$(LOCAL_ARM_MODE),thumb)
# actually used (although they are usually empty).
arm_objects_cflags := $($(my_prefix)$(arm_objects_mode)_CFLAGS)
normal_objects_cflags := $($(my_prefix)$(normal_objects_mode)_CFLAGS)
+else
+arm_objects_mode :=
+normal_objects_mode :=
+arm_objects_cflags :=
+normal_objects_cflags :=
+endif
###########################################################
## Define per-module debugging flags. Users can turn on
diff --git a/core/build-system.html b/core/build-system.html
index ce5e869..e547185 100644
--- a/core/build-system.html
+++ b/core/build-system.html
@@ -247,6 +247,7 @@ for these).
for <code>eng</code>.
<ul>
<li>Installs modules tagged with: <code>eng</code>, <code>debug</code>,
+ <code>shell_</code>$(TARGET_SHELL),
<code>user</code>, and/or <code>development</code>.
<li>Installs non-APK modules that have no tags specified.
<li>Installs APKs according to the product definition files, in
@@ -266,7 +267,7 @@ for these).
<p>
This is the flavor intended to be the final release bits.
<ul>
- <li>Installs modules tagged with <code>user</code>.
+ <li>Installs modules tagged with <code>shell_</code>$(TARGET_SHELL) and <code>user</code>.
<li>Installs non-APK modules that have no tags specified.
<li>Installs APKs according to the product definition files; tags
are ignored for APK modules.
@@ -681,7 +682,8 @@ up.</p>
<h4>LOCAL_MODULE_TAGS</h4>
<p>Set <code>LOCAL_MODULE_TAGS</code> to any number of whitespace-separated
tags. If the tag list is empty or contains <code>droid</code>, the module
-will get installed as part of a <code>make droid</code>. Otherwise, it will
+will get installed as part of a <code>make droid</code>. Modules with the tag
+<code>shell_</code>$(TARGET_SHELL) will also be installed. Otherwise, it will
only get installed by running <code>make &lt;your-module&gt;</code>
or with the <code>make all</code> pseudotarget.</p>
diff --git a/core/build_id.mk b/core/build_id.mk
index 4b7b0e4..e954794 100644
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -23,7 +23,7 @@
# (like "TC1-RC5"). It must be a single word, and is
# capitalized by convention.
#
-BUILD_ID := GINGERBREAD
+BUILD_ID := OPENMASTER
# DISPLAY_BUILD_NUMBER should only be set for development branches,
# If set, the BUILD_NUMBER (cl) is appended to the BUILD_ID for
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index ee28f21..2c27300 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -96,6 +96,7 @@ LOCAL_PROGUARD_ENABLED:= # '',optonly,full,custom
LOCAL_PROGUARD_FLAGS:=
LOCAL_PROGUARD_FLAG_FILES:=
LOCAL_EMMA_COVERAGE_FILTER:=
+LOCAL_WARNINGS_ENABLE:=
LOCAL_MANIFEST_FILE:=
LOCAL_BUILD_HOST_DEX:=
LOCAL_DEX_PREOPT:=
diff --git a/core/combo/HOST_darwin-x86.mk b/core/combo/HOST_darwin-x86.mk
index 093ecbe..121f89b 100644
--- a/core/combo/HOST_darwin-x86.mk
+++ b/core/combo/HOST_darwin-x86.mk
@@ -45,6 +45,8 @@ HOST_NO_UNDEFINED_LDFLAGS := -Wl,-undefined,error
HOST_CC := $(CC)
HOST_CXX := $(CXX)
HOST_AR := $(AR)
+HOST_STRIP := $(STRIP)
+HOST_STRIP_COMMAND = $(HOST_STRIP) --strip-debug $< -o $@
HOST_SHLIB_SUFFIX := .dylib
HOST_JNILIB_SUFFIX := .jnilib
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index ae1997c..6139b67 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -52,6 +52,8 @@ TARGET_CXX := $(TARGET_TOOLS_PREFIX)g++$(HOST_EXECUTABLE_SUFFIX)
TARGET_AR := $(TARGET_TOOLS_PREFIX)ar$(HOST_EXECUTABLE_SUFFIX)
TARGET_OBJCOPY := $(TARGET_TOOLS_PREFIX)objcopy$(HOST_EXECUTABLE_SUFFIX)
TARGET_LD := $(TARGET_TOOLS_PREFIX)ld$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP := $(HOST_OUT_EXECUTABLES)/soslim$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP_COMMAND = $(TARGET_STRIP) --strip --shady --quiet $< --outfile $@
TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
diff --git a/core/combo/TARGET_linux-sh.mk b/core/combo/TARGET_linux-sh.mk
index f373d21..cf945fe 100644
--- a/core/combo/TARGET_linux-sh.mk
+++ b/core/combo/TARGET_linux-sh.mk
@@ -28,6 +28,8 @@ TARGET_CXX := $(TARGET_TOOLS_PREFIX)c++$(HOST_EXECUTABLE_SUFFIX)
TARGET_AR := $(TARGET_TOOLS_PREFIX)ar$(HOST_EXECUTABLE_SUFFIX)
TARGET_OBJCOPY := $(TARGET_TOOLS_PREFIX)objcopy$(HOST_EXECUTABLE_SUFFIX)
TARGET_LD := $(TARGET_TOOLS_PREFIX)ld$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP := $(TARGET_TOOLS_PREFIX)strip$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP_COMMAND = $(TARGET_STRIP) --strip-debug $< -o $@
TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
@@ -106,7 +108,7 @@ TARGET_CRTEND_O := $(TARGET_OUT_STATIC_LIBRARIES)/crtend_android.o
TARGET_CRTBEGIN_SO_O := $(TARGET_OUT_STATIC_LIBRARIES)/sobegin.o
TARGET_CRTEND_SO_O := $(TARGET_OUT_STATIC_LIBRARIES)/soend.o
-TARGET_STRIP_MODULE:=false
+TARGET_STRIP_MODULE:=true
TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
diff --git a/core/combo/TARGET_linux-x86.mk b/core/combo/TARGET_linux-x86.mk
index 6629cbd..86695a4 100644
--- a/core/combo/TARGET_linux-x86.mk
+++ b/core/combo/TARGET_linux-x86.mk
@@ -25,7 +25,9 @@ TARGET_AR := $(HOST_AR)
TARGET_GLOBAL_CFLAGS := $(HOST_GLOBAL_CFLAGS) -m32
TARGET_GLOBAL_LDFLAGS := $(HOST_GLOBAL_LDFLAGS) -m32 -lpthread
TARGET_NO_UNDEFINED_LDFLAGS := $(HOST_NO_UNDEFINED_LDFLAGS)
+ifeq ($(strip $(TARGET_ARCH_VARIANT)),)
TARGET_ARCH_VARIANT := x86
+endif
else #simulator
# Provide a default variant.
@@ -44,6 +46,8 @@ TARGET_CXX := $(TARGET_TOOLS_PREFIX)g++$(HOST_EXECUTABLE_SUFFIX)
TARGET_AR := $(TARGET_TOOLS_PREFIX)ar$(HOST_EXECUTABLE_SUFFIX)
TARGET_OBJCOPY := $(TARGET_TOOLS_PREFIX)objcopy$(HOST_EXECUTABLE_SUFFIX)
TARGET_LD := $(TARGET_TOOLS_PREFIX)ld$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP := $(TARGET_TOOLS_PREFIX)strip$(HOST_EXECUTABLE_SUFFIX)
+TARGET_STRIP_COMMAND = $(TARGET_STRIP) --strip-debug $< -o $@
ifneq ($(wildcard $(TARGET_CC)),)
TARGET_LIBGCC := \
@@ -72,7 +76,7 @@ endif
KERNEL_HEADERS := $(KERNEL_HEADERS_COMMON) $(KERNEL_HEADERS_ARCH)
TARGET_GLOBAL_CFLAGS += \
- -march=i686 \
+ -Ulinux \
-m32 \
-fPIC \
-include $(call select-android-config-h,target_linux-x86)
@@ -80,6 +84,16 @@ TARGET_GLOBAL_CFLAGS += \
TARGET_GLOBAL_CPPFLAGS += \
-fno-use-cxa-atexit
+ifeq ($(TARGET_ARCH_VARIANT),x86-atom)
+ TARGET_GLOBAL_CFLAGS += -mtune=i686 -DUSE_SSSE3 -DUSE_SSE2 -mfpmath=sse -msse2
+else
+ TARGET_GLOBAL_CFLAGS += -march=i686
+endif
+
+TARGET_GLOBAL_CFLAGS += -D__ANDROID__
+TARGET_GLOBAL_LDFLAGS += -m32
+
+
TARGET_C_INCLUDES := \
$(libc_root)/arch-x86/include \
$(libc_root)/include \
@@ -97,7 +111,7 @@ TARGET_CRTEND_O := $(TARGET_OUT_STATIC_LIBRARIES)/crtend_android.o
TARGET_CRTBEGIN_SO_O := $(TARGET_OUT_STATIC_LIBRARIES)/crtbegin_so.o
TARGET_CRTEND_SO_O := $(TARGET_OUT_STATIC_LIBRARIES)/crtend_so.o
-# TARGET_STRIP_MODULE:=true
+TARGET_STRIP_MODULE:=true
TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
@@ -107,7 +121,7 @@ $(TARGET_CXX) \
$(PRIVATE_TARGET_GLOBAL_LDFLAGS) \
-nostdlib -Wl,-soname,$(notdir $@) \
-shared -Bsymbolic \
- -fPIC -march=i686 \
+ $(TARGET_GLOBAL_CFLAGS) \
$(PRIVATE_TARGET_GLOBAL_LD_DIRS) \
$(PRIVATE_TARGET_CRTBEGIN_SO_O) \
$(PRIVATE_ALL_OBJECTS) \
@@ -157,7 +171,4 @@ $(TARGET_CXX) \
$(TARGET_CRTEND_O)
endef
-TARGET_GLOBAL_CFLAGS += -m32
-TARGET_GLOBAL_LDFLAGS += -m32
-
endif #simulator
diff --git a/core/combo/select.mk b/core/combo/select.mk
index 797c573..c886342 100644
--- a/core/combo/select.mk
+++ b/core/combo/select.mk
@@ -28,6 +28,7 @@ combo_os_arch := $($(combo_target)OS)-$($(combo_target)ARCH)
$(combo_target)CC := $(CC)
$(combo_target)CXX := $(CXX)
$(combo_target)AR := $(AR)
+$(combo_target)STRIP := $(STRIP)
$(combo_target)BINDER_MINI := 0
diff --git a/core/config.mk b/core/config.mk
index a3bcbf1..0dec4be 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -106,6 +106,9 @@ TARGET_COMPRESS_MODULE_SYMBOLS := false
# Default is to prelink modules.
TARGET_PRELINK_MODULE := true
+# Default shell is ash. Other possible value is mksh.
+TARGET_SHELL := ash
+
# ###############################################################
# Include sub-configuration files
# ###############################################################
@@ -232,7 +235,6 @@ EMMA_JAR := external/emma/lib/emma$(COMMON_JAVA_PACKAGE_SUFFIX)
# Binary prelinker/compressor tools
APRIORI := $(HOST_OUT_EXECUTABLES)/apriori$(HOST_EXECUTABLE_SUFFIX)
LSD := $(HOST_OUT_EXECUTABLES)/lsd$(HOST_EXECUTABLE_SUFFIX)
-SOSLIM := $(HOST_OUT_EXECUTABLES)/soslim$(HOST_EXECUTABLE_SUFFIX)
# Deal with archaic version of bison on Mac OS X.
ifeq ($(filter 1.28,$(shell $(YACC) -V)),)
@@ -347,3 +349,13 @@ TARGET_AVAILABLE_NDK_VERSIONS := $(call numerically_sort,\
$(wildcard $(HISTORICAL_NDK_VERSIONS_ROOT)/android-ndk-r*)))
INTERNAL_PLATFORM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/public_api.xml
+
+# This is the standard way to name a directory containing prebuilt target
+# objects. E.g., prebuilt/$(TARGET_PREBUILT_TAG)/libc.so
+ifeq ($(TARGET_SIMULATOR),true)
+ TARGET_PREBUILT_TAG := $(TARGET_OS)-$(TARGET_ARCH)
+else
+ TARGET_PREBUILT_TAG := android-$(TARGET_ARCH)
+endif
+
+include $(BUILD_SYSTEM)/dumpvar.mk
diff --git a/core/definitions.mk b/core/definitions.mk
index 19bba5c..91024f2 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1086,13 +1086,10 @@ endef
## Commands for filtering a target executable or library
###########################################################
-# Because of bug 743462 ("Prelinked image magic gets stripped
-# by arm-elf-objcopy"), we have to use soslim to strip target
-# binaries.
define transform-to-stripped
@mkdir -p $(dir $@)
@echo "target Strip: $(PRIVATE_MODULE) ($@)"
-$(hide) $(SOSLIM) --strip --shady --quiet $< --outfile $@
+$(hide) $(TARGET_STRIP_COMMAND)
endef
define transform-to-prelinked
@@ -1231,7 +1228,7 @@ endef
ifeq ($(HOST_OS),windows)
xlint_unchecked :=
else
-#xlint_unchecked := -Xlint:unchecked
+xlint_unchecked := -Xlint:unchecked
endif
# emit-line, <word list>, <output file>
@@ -1301,7 +1298,8 @@ $(hide) tr ' ' '\n' < $(dir $(PRIVATE_CLASS_INTERMEDIATES_DIR))/java-source-list
$(hide) $(TARGET_JAVAC) -encoding ascii $(PRIVATE_BOOTCLASSPATH) \
$(addprefix -classpath ,$(strip \
$(call normalize-path-list,$(PRIVATE_ALL_JAVA_LIBRARIES)))) \
- $(PRIVATE_JAVACFLAGS) $(strip $(PRIVATE_JAVAC_DEBUG_FLAGS)) $(xlint_unchecked) \
+ $(PRIVATE_JAVACFLAGS) $(strip $(PRIVATE_JAVAC_DEBUG_FLAGS)) \
+ $(if $(findstring true,$(LOCAL_WARNINGS_ENABLE)),$(xlint_unchecked),) \
-extdirs "" -d $(PRIVATE_CLASS_INTERMEDIATES_DIR) \
\@$(dir $(PRIVATE_CLASS_INTERMEDIATES_DIR))/java-source-list-uniq \
|| ( rm -rf $(PRIVATE_CLASS_INTERMEDIATES_DIR) ; exit 41 )
@@ -1656,10 +1654,11 @@ endif
# Convert a partition data size (eg, as reported in /proc/mtd) to the
# size of the image used to flash that partition (which includes a
-# 64-byte spare area for each 2048-byte page).
+# spare area for each page).
# $(1): the partition data size
define image-size-from-data-size
-$(shell echo $$(($(1) / 2048 * (2048+64))))
+$(shell echo $$(($(1) / $(BOARD_NAND_PAGE_SIZE) * \
+ ($(BOARD_NAND_PAGE_SIZE)+$(BOARD_NAND_SPARE_SIZE)))))
endef
# $(1): The file(s) to check (often $@)
diff --git a/core/dumpvar.mk b/core/dumpvar.mk
new file mode 100644
index 0000000..0c58559
--- /dev/null
+++ b/core/dumpvar.mk
@@ -0,0 +1,78 @@
+# ---------------------------------------------------------------
+# the setpath shell function in envsetup.sh uses this to figure out
+# what to add to the path given the config we have chosen.
+ifeq ($(CALLED_FROM_SETUP),true)
+
+ABP:=$(PWD)/$(HOST_OUT_EXECUTABLES)
+
+ifeq ($(TARGET_SIMULATOR),true)
+ ABP:=$(ABP):$(TARGET_OUT_EXECUTABLES)
+else
+ # this should be copied to HOST_OUT_EXECUTABLES instead
+ ABP:=$(ABP):$(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-eabi-4.4.3/bin
+endif
+ANDROID_BUILD_PATHS := $(ABP)
+ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
+
+# The "dumpvar" stuff lets you say something like
+#
+# CALLED_FROM_SETUP=true \
+# make -f config/envsetup.make dumpvar-TARGET_OUT
+# or
+# CALLED_FROM_SETUP=true \
+# make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES
+#
+# The plain (non-abs) version just dumps the value of the named variable.
+# The "abs" version will treat the variable as a path, and dumps an
+# absolute path to it.
+#
+dumpvar_goals := \
+ $(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS))))
+ifdef dumpvar_goals
+
+ ifneq ($(words $(dumpvar_goals)),1)
+ $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)")
+ endif
+
+ # If the goal is of the form "dumpvar-abs-VARNAME", then
+ # treat VARNAME as a path and return the absolute path to it.
+ absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals)))
+ ifdef absolute_dumpvar
+ dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals))
+ DUMPVAR_VALUE := $(PWD)/$($(dumpvar_goals))
+ dumpvar_target := dumpvar-abs-$(dumpvar_goals)
+ else
+ DUMPVAR_VALUE := $($(dumpvar_goals))
+ dumpvar_target := dumpvar-$(dumpvar_goals)
+ endif
+
+.PHONY: $(dumpvar_target)
+$(dumpvar_target):
+ @echo $(DUMPVAR_VALUE)
+
+endif # dumpvar_goals
+
+ifneq ($(dumpvar_goals),report_config)
+PRINT_BUILD_CONFIG:=
+endif
+
+endif # CALLED_FROM_SETUP
+
+
+ifneq ($(PRINT_BUILD_CONFIG),)
+$(info ============================================)
+$(info PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME))
+$(info PLATFORM_VERSION=$(PLATFORM_VERSION))
+$(info TARGET_PRODUCT=$(TARGET_PRODUCT))
+$(info TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT))
+$(info TARGET_SIMULATOR=$(TARGET_SIMULATOR))
+$(info TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE))
+$(info TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
+$(info TARGET_ARCH=$(TARGET_ARCH))
+$(info TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT))
+$(info HOST_ARCH=$(HOST_ARCH))
+$(info HOST_OS=$(HOST_OS))
+$(info HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
+$(info BUILD_ID=$(BUILD_ID))
+$(info ============================================)
+endif
diff --git a/core/dynamic_binary.mk b/core/dynamic_binary.mk
index cfbe740..0fa7647 100644
--- a/core/dynamic_binary.mk
+++ b/core/dynamic_binary.mk
@@ -75,7 +75,7 @@ ifeq ($(LOCAL_COMPRESS_MODULE_SYMBOLS),true)
$(error Symbol compression not yet supported.)
compress_output := $(intermediates)/COMPRESSED-$(LOCAL_BUILT_MODULE_STEM)
-#TODO: write the real $(SOSLIM) rule.
+#TODO: write the real $(STRIPPER) rule.
#TODO: define a rule to build TARGET_SYMBOL_FILTER_FILE, and
# make it depend on ALL_ORIGINAL_DYNAMIC_BINARIES.
$(compress_output): $(compress_input) $(TARGET_SYMBOL_FILTER_FILE) | $(ACP)
@@ -137,7 +137,7 @@ endif
ifeq ($(LOCAL_STRIP_MODULE),true)
# Strip the binary
-$(strip_output): $(strip_input) | $(SOSLIM)
+$(strip_output): $(strip_input) | $(TARGET_STRIP)
$(transform-to-stripped)
else
# Don't strip the binary, just copy it. We can't skip this step
diff --git a/core/envsetup.mk b/core/envsetup.mk
index c70a5e2..e4c99d5 100644
--- a/core/envsetup.mk
+++ b/core/envsetup.mk
@@ -26,7 +26,7 @@ ifeq ($(TARGET_PRODUCT),)
ifeq ($(TARGET_SIMULATOR),true)
TARGET_PRODUCT := sim
else
-TARGET_PRODUCT := generic
+TARGET_PRODUCT := full
endif
endif
@@ -158,14 +158,6 @@ ifneq ($(TARGET_BUILD_TYPE),debug)
TARGET_BUILD_TYPE := release
endif
-# This is the standard way to name a directory containing prebuilt target
-# objects. E.g., prebuilt/$(TARGET_PREBUILT_TAG)/libc.so
-ifeq ($(TARGET_SIMULATOR),true)
- TARGET_PREBUILT_TAG := $(TARGET_OS)-$(TARGET_ARCH)
-else
- TARGET_PREBUILT_TAG := android-$(TARGET_ARCH)
-endif
-
# ---------------------------------------------------------------
# figure out the output directories
@@ -283,81 +275,3 @@ endif
ifeq ($(PRINT_BUILD_CONFIG),)
PRINT_BUILD_CONFIG := true
endif
-
-# ---------------------------------------------------------------
-# the setpath shell function in envsetup.sh uses this to figure out
-# what to add to the path given the config we have chosen.
-ifeq ($(CALLED_FROM_SETUP),true)
-
-ABP:=$(PWD)/$(HOST_OUT_EXECUTABLES)
-
-ifeq ($(TARGET_SIMULATOR),true)
- ABP:=$(ABP):$(TARGET_OUT_EXECUTABLES)
-else
- # this should be copied to HOST_OUT_EXECUTABLES instead
- ABP:=$(ABP):$(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-eabi-4.4.3/bin
-endif
-ANDROID_BUILD_PATHS := $(ABP)
-ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
-
-# The "dumpvar" stuff lets you say something like
-#
-# CALLED_FROM_SETUP=true \
-# make -f config/envsetup.make dumpvar-TARGET_OUT
-# or
-# CALLED_FROM_SETUP=true \
-# make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES
-#
-# The plain (non-abs) version just dumps the value of the named variable.
-# The "abs" version will treat the variable as a path, and dumps an
-# absolute path to it.
-#
-dumpvar_goals := \
- $(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS))))
-ifdef dumpvar_goals
-
- ifneq ($(words $(dumpvar_goals)),1)
- $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)")
- endif
-
- # If the goal is of the form "dumpvar-abs-VARNAME", then
- # treat VARNAME as a path and return the absolute path to it.
- absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals)))
- ifdef absolute_dumpvar
- dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals))
- DUMPVAR_VALUE := $(PWD)/$($(dumpvar_goals))
- dumpvar_target := dumpvar-abs-$(dumpvar_goals)
- else
- DUMPVAR_VALUE := $($(dumpvar_goals))
- dumpvar_target := dumpvar-$(dumpvar_goals)
- endif
-
-.PHONY: $(dumpvar_target)
-$(dumpvar_target):
- @echo $(DUMPVAR_VALUE)
-
-endif # dumpvar_goals
-
-ifneq ($(dumpvar_goals),report_config)
-PRINT_BUILD_CONFIG:=
-endif
-
-endif # CALLED_FROM_SETUP
-
-
-ifneq ($(PRINT_BUILD_CONFIG),)
-$(info ============================================)
-$(info PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME))
-$(info PLATFORM_VERSION=$(PLATFORM_VERSION))
-$(info TARGET_PRODUCT=$(TARGET_PRODUCT))
-$(info TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT))
-$(info TARGET_SIMULATOR=$(TARGET_SIMULATOR))
-$(info TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE))
-$(info TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
-$(info TARGET_ARCH=$(TARGET_ARCH))
-$(info HOST_ARCH=$(HOST_ARCH))
-$(info HOST_OS=$(HOST_OS))
-$(info HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
-$(info BUILD_ID=$(BUILD_ID))
-$(info ============================================)
-endif
diff --git a/core/find-jdk-tools-jar.sh b/core/find-jdk-tools-jar.sh
index e772a15..f555576 100755
--- a/core/find-jdk-tools-jar.sh
+++ b/core/find-jdk-tools-jar.sh
@@ -3,7 +3,7 @@ if [ "x$ANDROID_JAVA_HOME" != x ] && [ -e "$ANDROID_JAVA_HOME/lib/tools.jar" ] ;
else
JAVAC=$(which javac)
if [ -z "$JAVAC" ] ; then
- echo "Please-install-JDK-6.0,-which-you-can-download-from-java.sun.com"
+ echo "Please-install-JDK-6,-which-you-can-download-from-java.sun.com"
exit 1
fi
while [ -L $JAVAC ] ; do
diff --git a/core/main.mk b/core/main.mk
index 81bebc8..a6768c4 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -31,11 +31,11 @@ endif
#endif
# check for broken versions of make
-ifeq (0,$(shell expr $$(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") \>= 3.81))
+ifeq (0,$(shell expr $$(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 3.81))
$(warning ********************************************************************************)
$(warning * You are using version $(MAKE_VERSION) of make.)
-$(warning * You must upgrade to version 3.81 or greater.)
-$(warning * see http://source.android.com/download)
+$(warning * Android can only be built by version 3.81.)
+$(warning * see http://source.android.com/source/download.html)
$(warning ********************************************************************************)
$(error stopping)
endif
@@ -124,7 +124,7 @@ $(info Your version is: $(shell java -version 2>&1 | head -n 1).)
$(info The correct version is: 1.6.)
$(info $(space))
$(info Please follow the machine setup instructions at)
-$(info $(space)$(space)$(space)$(space)http://source.android.com/download)
+$(info $(space)$(space)$(space)$(space)http://source.android.com/source/download.html)
$(info ************************************************************)
$(error stop)
endif
@@ -140,7 +140,7 @@ $(info Your version is: $(shell javac -version 2>&1 | head -n 1).)
$(info The correct version is: 1.6.)
$(info $(space))
$(info Please follow the machine setup instructions at)
-$(info $(space)$(space)$(space)$(space)http://source.android.com/download)
+$(info $(space)$(space)$(space)$(space)http://source.android.com/source/download.html)
$(info ************************************************************)
$(error stop)
endif
@@ -152,7 +152,7 @@ endif
# These are the modifier targets that don't do anything themselves, but
# change the behavior of the build.
# (must be defined before including definitions.make)
-INTERNAL_MODIFIER_TARGETS := showcommands checkbuild
+INTERNAL_MODIFIER_TARGETS := showcommands checkbuild all
# Bring in standard build system definitions.
include $(BUILD_SYSTEM)/definitions.mk
@@ -391,17 +391,18 @@ subdirs := \
dalvik/libdex \
dalvik/tools/dmtracedump \
dalvik/tools/hprof-conv \
- development/tools/line_endings \
- development/tools/etc1tool \
- sdk/emulator/mksdcard \
- sdk/sdklauncher \
development/host \
+ development/tools/etc1tool \
+ development/tools/line_endings \
+ external/easymock \
external/expat \
external/libpng \
external/qemu \
external/sqlite/dist \
external/zlib \
frameworks/base \
+ sdk/emulator/mksdcard \
+ sdk/sdklauncher \
system/core/adb \
system/core/fastboot \
system/core/libcutils \
@@ -418,13 +419,15 @@ subdirs += \
sdk/archquery \
sdk/androidprefs \
sdk/apkbuilder \
+ sdk/ddms \
+ sdk/hierarchyviewer2 \
+ sdk/ide_common \
sdk/jarutils \
sdk/layoutlib_api \
- sdk/layoutlib_utils \
+ sdk/layoutopt \
sdk/ninepatch \
sdk/sdkstats \
sdk/sdkmanager \
- sdk/layoutopt \
development/apps \
development/tools/mkstubs \
packages
@@ -577,7 +580,7 @@ else
endif
# Use tags to get the non-APPS user modules. Use the product
# definition files to get the APPS user modules.
-user_MODULES := $(sort $(call get-tagged-modules,user))
+user_MODULES := $(sort $(call get-tagged-modules,user shell_$(TARGET_SHELL)))
user_MODULES := $(user_MODULES) $(user_PACKAGES)
eng_MODULES := $(sort $(call get-tagged-modules,eng))
@@ -676,6 +679,9 @@ ramdisk: $(INSTALLED_RAMDISK_TARGET)
.PHONY: systemtarball
systemtarball: $(INSTALLED_SYSTEMTARBALL_TARGET)
+.PHONY: boottarball
+boottarball: $(INSTALLED_BOOTTARBALL_TARGET)
+
.PHONY: userdataimage
userdataimage: $(INSTALLED_USERDATAIMAGE_TARGET)
diff --git a/core/pathmap.mk b/core/pathmap.mk
index 6cd3b8f..fe7ba1a 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -82,6 +82,7 @@ FRAMEWORKS_BASE_SUBDIRS := \
graphics \
location \
media \
+ drm \
opengl \
sax \
telephony \
diff --git a/core/user_tags.mk b/core/user_tags.mk
index 3d8e5a6..7800710 100644
--- a/core/user_tags.mk
+++ b/core/user_tags.mk
@@ -79,6 +79,8 @@ GRANDFATHERED_USER_MODULES += \
dasm \
dbus-daemon \
ddmlib \
+ ddmlibTests \
+ ddmlib-prebuilt \
ddms \
ddmuilib \
debuggerd \
@@ -131,6 +133,9 @@ GRANDFATHERED_USER_MODULES += \
gzip \
hciattach \
hierarchyviewer \
+ hierarchyviewer1 \
+ hierarchyviewer2 \
+ hierarchyviewerlib \
hist_trace \
hosttestlib \
icudata \
@@ -150,6 +155,7 @@ GRANDFATHERED_USER_MODULES += \
jdwpspy \
jfreechart-1.0.9 \
jfreechart-1.0.9-swt \
+ jsilver \
jsr305 \
jsr305lib \
junit \
@@ -196,6 +202,7 @@ GRANDFATHERED_USER_MODULES += \
libdb \
libdbus \
libdiskconfig \
+ libdiskconfig_host \
libdl \
libdrm1 \
libdrm1_jni \
@@ -375,6 +382,7 @@ GRANDFATHERED_USER_MODULES += \
mkyaffs2image \
monkey \
monkeyrunner \
+ MonkeyRunnerTest \
mtpd \
ndc \
netcfg \
@@ -401,6 +409,7 @@ GRANDFATHERED_USER_MODULES += \
profile_trace \
q2dm \
q2g \
+ qemu-android \
qwerty2.kcm \
qwerty.kcm \
racoon \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 3238a45..22c15ca 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -41,7 +41,7 @@ ifeq "" "$(PLATFORM_VERSION)"
# which is the version that we reveal to the end user.
# Update this value when the platform version changes (rather
# than overriding it somewhere else). Can be an arbitrary string.
- PLATFORM_VERSION := 2.4
+ PLATFORM_VERSION := AOSP
endif
ifeq "" "$(PLATFORM_SDK_VERSION)"
@@ -59,7 +59,7 @@ endif
ifeq "" "$(PLATFORM_VERSION_CODENAME)"
# This is the current development code-name, if the build is not a final
# release build. If this is a final release build, it is simply "REL".
- PLATFORM_VERSION_CODENAME := REL
+ PLATFORM_VERSION_CODENAME := AOSP
endif
ifeq "" "$(DEFAULT_APP_TARGET_SDK)"
diff --git a/envsetup.sh b/envsetup.sh
index a68f73e..8289c82 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -311,7 +311,7 @@ function chooseproduct()
if [ "$TARGET_SIMULATOR" = true ] ; then
default_value=sim
else
- default_value=generic
+ default_value=full
fi
fi
@@ -376,7 +376,7 @@ function choosevariant()
export TARGET_BUILD_VARIANT=$default_value
elif (echo -n $ANSWER | grep -q -e "^[0-9][0-9]*$") ; then
if [ "$ANSWER" -le "${#VARIANT_CHOICES[@]}" ] ; then
- export TARGET_BUILD_VARIANT=${VARIANT_CHOICES[$(($ANSWER-$_arrayoffset))]}
+ export TARGET_BUILD_VARIANT=${VARIANT_CHOICES[$(($ANSWER-1))]}
fi
else
if check_variant $ANSWER
@@ -429,7 +429,8 @@ function add_lunch_combo()
}
# add the default one here
-add_lunch_combo generic-eng
+add_lunch_combo full-eng
+add_lunch_combo full_x86-eng
# if we're on linux, add the simulator. There is a special case
# in lunch to deal with the simulator
@@ -464,7 +465,7 @@ function lunch()
answer=$1
else
print_lunch_menu
- echo -n "Which would you like? [generic-eng] "
+ echo -n "Which would you like? [full-eng] "
read answer
fi
@@ -472,7 +473,7 @@ function lunch()
if [ -z "$answer" ]
then
- selection=generic-eng
+ selection=full-eng
elif [ "$answer" = "simulator" ]
then
selection=simulator
@@ -480,7 +481,7 @@ function lunch()
then
if [ $answer -le ${#LUNCH_MENU_CHOICES[@]} ]
then
- selection=${LUNCH_MENU_CHOICES[$(($answer-$_arrayoffset))]}
+ selection=${LUNCH_MENU_CHOICES[$(($answer-1))]}
fi
elif (echo -n $answer | grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$")
then
@@ -560,7 +561,7 @@ function tapas()
apps=all
fi
- export TARGET_PRODUCT=generic
+ export TARGET_PRODUCT=full
export TARGET_BUILD_VARIANT=$variant
export TARGET_SIMULATOR=false
export TARGET_BUILD_TYPE=release
@@ -1059,10 +1060,9 @@ function godir () {
echo "Invalid choice"
continue
fi
- pathname=${lines[$(($choice-$_arrayoffset))]}
+ pathname=${lines[$(($choice-1))]}
done
else
- # even though zsh arrays are 1-based, $foo[0] is an alias for $foo[1]
pathname=${lines[0]}
fi
cd $T/$pathname
@@ -1082,18 +1082,16 @@ function set_java_home() {
fi
}
-# determine whether arrays are zero-based (bash) or one-based (zsh)
-_xarray=(a b c)
-if [ -z "${_xarray[${#_xarray[@]}]}" ]
-then
- _arrayoffset=1
-else
- _arrayoffset=0
-fi
-unset _xarray
+case `ps -o command -p $$` in
+ *bash*)
+ ;;
+ *)
+ echo "WARNING: Only bash is supported, use of other shell would lead to erroneous results"
+ ;;
+esac
# Execute the contents of any vendorsetup.sh files we can find.
-for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/build/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null`
+for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null`
do
echo "including $f"
. $f
diff --git a/libs/host/CopyFile.c b/libs/host/CopyFile.c
index a822b41..3cbe34a 100644
--- a/libs/host/CopyFile.c
+++ b/libs/host/CopyFile.c
@@ -63,6 +63,22 @@ static bool isSourceNewer(const struct stat* pSrcStat, const struct stat* pDstSt
}
/*
+ * Returns true if the source file has high resolution modification
+ * date. Cygwin doesn't support st_mtim in normal build, so always
+ * return false.
+ */
+static bool isHiresMtime(const struct stat* pSrcStat)
+{
+#if defined(WIN32) || defined(USE_MINGW)
+ return 0;
+#elif defined(MACOSX_RSRC)
+ return pSrcStat->st_mtimespec.tv_nsec > 0;
+#else
+ return pSrcStat->st_mtim.tv_nsec > 0;
+#endif
+}
+
+/*
* Returns true if the source and destination files are actually the
* same thing. We detect this by checking the inode numbers, which seems
* to work on Cygwin.
@@ -151,6 +167,8 @@ static int setPermissions(const char* dst, const struct stat* pSrcStat, unsigned
*/
ut.actime = pSrcStat->st_atime;
ut.modtime = pSrcStat->st_mtime;
+ if (isHiresMtime(pSrcStat))
+ ut.modtime += 1;
if (utime(dst, &ut) != 0) {
DBUG(("--- unable to set timestamps on '%s': %s\n",
dst, strerror(errno)));
diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk
index 9e52d25..26bf6ab 100644
--- a/target/board/generic/BoardConfig.mk
+++ b/target/board/generic/BoardConfig.mk
@@ -12,3 +12,6 @@ BOARD_USES_GENERIC_AUDIO := true
# no hardware camera
USE_CAMERA_STUB := true
+
+# Set /system/bin/sh to mksh, not ash, to test the transition.
+TARGET_SHELL := mksh
diff --git a/target/board/generic/device.mk b/target/board/generic/device.mk
new file mode 100644
index 0000000..0b4dc27
--- /dev/null
+++ b/target/board/generic/device.mk
@@ -0,0 +1,26 @@
+#
+# Copyright (C) 2009 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.
+#
+
+# This is a build configuration for the product aspects that
+# are specific to the emulator.
+
+PRODUCT_PROPERTY_OVERRIDES := \
+ ro.ril.hsxpa=1 \
+ ro.ril.gprsclass=10
+
+PRODUCT_COPY_FILES := \
+ development/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
+ development/data/etc/vold.conf:system/etc/vold.conf
diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk
index 608aee1..7586db8 100644
--- a/target/board/generic_x86/BoardConfig.mk
+++ b/target/board/generic_x86/BoardConfig.mk
@@ -1,3 +1,5 @@
+TARGET_ARCH=x86
+DISABLE_DEXPREOPT := true
TARGET_COMPRESS_MODULE_SYMBOLS := false
TARGET_PRELINK_MODULE := false
TARGET_NO_RECOVERY := true
@@ -18,3 +20,8 @@ TARGET_DISK_LAYOUT_CONFIG := build/target/board/generic_x86/disk_layout.conf
BOARD_BOOTIMAGE_MAX_SIZE := 8388608
BOARD_SYSLOADER_MAX_SIZE := 7340032
BOARD_FLASH_BLOCK_SIZE := 512
+
+
+# The eth0 device should be started with dhcp on boot.
+# Useful for emulators that don't provide a wifi connection.
+NET_ETH0_STARTONBOOT := true
diff --git a/target/board/generic_x86/README.txt b/target/board/generic_x86/README.txt
index 97e2d5b..585a373 100644
--- a/target/board/generic_x86/README.txt
+++ b/target/board/generic_x86/README.txt
@@ -8,15 +8,11 @@ A1. Create a new top level directory and pull the AOSP repository
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync
-A2. Copy in the buildspeck.mk
- cd $HOME/AOSP
- cp build/target/board/generic_x86/buildspec-generic_x86.mk buildspec.mk
-
-A3. Copy in the kernel
+A2. Copy in the kernel
cd $HOME/AOSP
cp ~/bzImage.your_device $HOME/AOSP/prebuilt/android-x86/kernel/kernel
-A4. Build
+A3. Build
cd $HOME/AOSP
source build/envsetup.sh
lunch generic_x86-eng
@@ -25,7 +21,7 @@ A4. Build
The build will generate some image files whose format may or may not be correct for your
device. You can build an installer image disk for the VirtualBox emulator using the command:
-A5. Build a VirtualBox installer image
+A4. Build a VirtualBox installer image
cd $HOME/AOSP
source build/envsetup.sh
lunch generic_x86-eng
diff --git a/target/board/generic_x86/buildspec-generic_x86.mk b/target/board/generic_x86/buildspec-generic_x86.mk
deleted file mode 100644
index fbc3947..0000000
--- a/target/board/generic_x86/buildspec-generic_x86.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-BUILD_ENV_SEQUENCE_NUMBER := 9
-DISABLE_DEXPREOPT := true
-TARGET_ARCH := x86
-
-# The eth0 device should be started with dhcp on boot.
-# Useful for emulators that don't provide a wifi connection.
-NET_ETH0_STARTONBOOT := true
diff --git a/target/board/generic_x86/init.rc b/target/board/generic_x86/init.rc
index 235083d..180acaf 100644
--- a/target/board/generic_x86/init.rc
+++ b/target/board/generic_x86/init.rc
@@ -12,58 +12,138 @@ loglevel 3
export ANDROID_ROOT /system
export ANDROID_ASSETS /system/app
export ANDROID_DATA /data
- export EXTERNAL_STORAGE /sdcard
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export ASEC_MOUNTPOINT /mnt/asec
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
# Backward compatibility
symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+ mkdir /mnt/sdcard 0000 system system
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+
+# Backwards Compat - XXX: Going away in G*
+ symlink /mnt/sdcard /sdcard
-# create mountpoints and mount tmpfs on sqlite_stmt_journals and debugfs on d
- mkdir /d
- mkdir /sdcard 0000 system system
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
- mkdir /sqlite_stmt_journals 01777 root root
- mount tmpfs tmpfs /sqlite_stmt_journals
- mount debugfs debugfs /d
+ mkdir /config 0500 root root
+
+ # Directory for putting things only root should see.
+ mkdir /mnt/secure 0700 root root
+
+ # Directory for staging bindmounts
+ mkdir /mnt/secure/staging 0700 root root
- mount rootfs rootfs / rw remount
+ # Directory-target for where the secure container
+ # imagefile directory will be bind-mounted
+ mkdir /mnt/secure/asec 0700 root root
+
+ # Secure container public mount points.
+ mkdir /mnt/asec 0700 root system
+ mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
+
+ mount rootfs rootfs / ro remount
write /proc/sys/kernel/panic_on_oops 1
write /proc/sys/kernel/hung_task_timeout_secs 0
write /proc/cpu/alignment 4
write /proc/sys/kernel/sched_latency_ns 10000000
write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ write /proc/sys/kernel/sched_compat_yield 1
+ write /proc/sys/kernel/sched_child_runs_first 0
+
+# Create cgroup mount points for process groups
+ mkdir /dev/cpuctl
+ mount cgroup none /dev/cpuctl cpu
+ chown system system /dev/cpuctl
+ chown system system /dev/cpuctl/tasks
+ chmod 0777 /dev/cpuctl/tasks
+ write /dev/cpuctl/cpu.shares 1024
+
+ mkdir /dev/cpuctl/fg_boost
+ chown system system /dev/cpuctl/fg_boost/tasks
+ chmod 0777 /dev/cpuctl/fg_boost/tasks
+ write /dev/cpuctl/fg_boost/cpu.shares 1024
+
+ mkdir /dev/cpuctl/bg_non_interactive
+ chown system system /dev/cpuctl/bg_non_interactive/tasks
+ chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
+ # 5.0 %
+ write /dev/cpuctl/bg_non_interactive/cpu.shares 52
# mount mtd partitions
# Hack...
# We'll attempt to mount both as sdcard and harddisk...
# Only one or the other will actually work... this way, we can
# use the same init.rc for both
- mount ext3 /dev/block/mmcblk0p6 /system
- mount ext3 /dev/block/mmcblk0p6 /system rw remount
- mount ext3 /dev/block/mmcblk0p2 /data nosuid nodev
- mount ext3 /dev/block/mmcblk0p7 /cache nosuid nodev
- mount ext3 /dev/block/sda6 /system
- mount ext3 /dev/block/sda6 /system rw remount
+ # Mount /system rw first to give the filesystem a chance to save a checkpoint
+ mount ext3 /dev/block/sda6 /system rw
+ mount ext3 /dev/block/sda6 /system ro remount
mount ext3 /dev/block/sda8 /data
+ mount ext3 /dev/block/sda7 /cache nosuid nodev
# We chown/chmod /data again so because mount is run as root + defaults
chown system system /data
chmod 0771 /data
+ # Create dump dir and collect dumps.
+ # Do this before we mount cache so eventually we can use cache for
+ # storing dumps on platforms which do not have a dedicated dump partition.
+
+ mkdir /data/dontpanic
+ chown root log /data/dontpanic
+ chmod 0750 /data/dontpanic
+
+ # Collect apanic data, free resources and re-arm trigger
+ copy /proc/apanic_console /data/dontpanic/apanic_console
+ chown root log /data/dontpanic/apanic_console
+ chmod 0640 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0640 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
# Same reason as /data above
chown system cache /cache
chmod 0770 /cache
# This may have been created by the recovery system with odd permissions
- chown system system /cache/recovery
+ chown system cache /cache/recovery
chmod 0770 /cache/recovery
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+
# create basic filesystem structure
mkdir /data/misc 01771 system misc
- mkdir /data/misc/hcid 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetooth 0770 system system
+ mkdir /data/misc/keystore 0700 keystore keystore
+ mkdir /data/misc/vpn 0770 system system
+ mkdir /data/misc/systemkeys 0700 system system
+ mkdir /data/misc/vpn/profiles 0770 system system
+ # give system access to wpa_supplicant.conf for backup and restore
+ mkdir /data/misc/wifi 0770 wifi wifi
+ chmod 0770 /data/misc/wifi
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
mkdir /data/local 0771 shell shell
mkdir /data/local/tmp 0771 shell shell
mkdir /data/data 0771 system system
@@ -77,7 +157,6 @@ loglevel 3
chmod 0771 /data/dalvik-cache
# create the lost+found directories, so as to enforce our permissions
- mkdir /system/lost+found 0770
mkdir /data/lost+found 0770
mkdir /cache/lost+found 0770
@@ -88,32 +167,24 @@ loglevel 3
chmod 0770 /cache/lost+found
on boot
-
-### Load some modules
-
# basic network init
ifup lo
hostname localhost
domainname localdomain
-
# set RLIMIT_NICE to allow priorities from 19 to -20
setrlimit 13 40 40
- mkdir /data/core 0777
- write /proc/sys/kernel/core_pattern /data/core/%e.%p
- setrlimit 4 -1 -1
# Define the oom_adj values for the classes of processes that can be
# killed by the kernel. These are used in ActivityManagerService.
setprop ro.FOREGROUND_APP_ADJ 0
setprop ro.VISIBLE_APP_ADJ 1
setprop ro.SECONDARY_SERVER_ADJ 2
+ setprop ro.BACKUP_APP_ADJ 2
+ setprop ro.HOME_APP_ADJ 4
setprop ro.HIDDEN_APP_MIN_ADJ 7
setprop ro.CONTENT_PROVIDER_ADJ 14
setprop ro.EMPTY_APP_ADJ 15
- setprop ro.BACKUP_APP_ADJ 2
- setprop ro.HOME_APP_ADJ 4
-
# Define the memory thresholds at which the above process classes will
# be killed. These numbers are in pages (4k).
@@ -126,16 +197,22 @@ on boot
setprop ro.CONTENT_PROVIDER_MEM 5632
setprop ro.EMPTY_APP_MEM 6144
-
# Write value must be consistent with the above properties.
+# Note that the driver only supports 6 slots, so we have HOME_APP at the
+# same memory level as services.
write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
write /proc/sys/vm/overcommit_memory 1
- write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,8192,16384
+ write /proc/sys/vm/min_free_order_shift 4
+ write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144
# Set init its forked children's oom_adj.
write /proc/1/oom_adj -16
+ # Tweak background writeout
+ write /proc/sys/vm/dirty_expire_centisecs 200
+ write /proc/sys/vm/dirty_background_ratio 5
+
# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
@@ -148,11 +225,11 @@ on boot
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
-
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
@@ -166,10 +243,7 @@ on boot
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
- chown bluetooth bluetooth /sys/module/board_trout/parameters/bluetooth_power_on
chown system system /sys/module/sco/parameters/disable_esco
- chmod 0660 /sys/module/board_trout/parameters/bluetooth_power_on
- chown radio audio /system/etc/AudioPara4.csv
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
@@ -178,9 +252,6 @@ on boot
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
-# Enable audio based on existing /dev/dsp
- chmod 0666 /dev/snd/dsp
-
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
@@ -191,7 +262,6 @@ on boot
class_start default
-
## Daemon processes to be run by init.
##
service console /system/bin/sh
@@ -199,16 +269,12 @@ service console /system/bin/sh
# adbd is controlled by the persist.service.adb.enable system property
service adbd /sbin/adbd
-# disabled
+ disabled
# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd
-# adbd on at boot in insecure builds
-on property:ro.secure=0
- start adbd
-
on property:persist.service.adb.enable=1
start adbd
@@ -223,32 +289,104 @@ service servicemanager /system/bin/servicemanager
service vold /system/bin/vold
socket vold stream 0660 root mount
+ ioprio be 2
+
+service netd /system/bin/netd
+ socket netd stream 0660 root system
+
+service debuggerd /system/bin/debuggerd
+
+service ril-daemon /system/bin/rild
+ socket rild stream 660 root radio
+ socket rild-debug stream 660 radio system
+ user root
+ group radio cache inet misc audio
+
+service rcpvr /system/bin/sh /system/etc/rc.pvr start
+ oneshot
+# service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
service zygote /system/bin/app_process -Xzygote -Xint:fast /system/bin --zygote --start-system-server
socket zygote stream 666
+ write /sys/power/wake_lock always_on
onrestart write /sys/android_power/request_state wake
+ onrestart write /sys/power/state on
+ onrestart restart media
service media /system/bin/mediaserver
user media
- group system audio camera graphics inet net_bt net_bt_admin
+ group system audio camera graphics inet net_bt net_bt_admin net_raw
+ ioprio rt 4
+
+service bootanim /system/bin/bootanimation
+ user graphics
+ group graphics
+ disabled
+ oneshot
service dbus /system/bin/dbus-daemon --system --nofork
socket dbus stream 660 bluetooth bluetooth
user bluetooth
group bluetooth net_bt_admin
-service brick /system/bin/wipe nuke
+service bluetoothd /system/bin/bluetoothd -n
+ socket bluetooth stream 660 bluetooth bluetooth
+ socket dbus_bluetooth stream 660 bluetooth bluetooth
+ # init.rc does not yet support applying capabilities, so run as root and
+ # let bluetoothd drop uid to bluetooth with the right linux capabilities
+ group bluetooth net_bt_admin misc
disabled
+service hfag /system/bin/sdptool add --channel=10 HFAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service opush /system/bin/sdptool add --channel=12 OPUSH
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service pbap /system/bin/sdptool add --channel=19 PBAP
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
service installd /system/bin/installd
socket installd stream 600 system system
-#
-# Set by PRODUCT_PROPERTY_OVERRIDES in <product>.mk
-on property:net.eth0.startonboot=1
- setprop ro.com.android.dataroaming true
- start start_eth0
+service flash_recovery /system/etc/install-recovery.sh
+ oneshot
+
+service racoon /system/bin/racoon
+ socket racoon stream 600 system system
+ # racoon will setuid to vpn after getting necessary resources.
+ group net_admin
+ disabled
+ oneshot
-service start_eth0 /system/bin/netcfg eth0 dhcp
+service mtpd /system/bin/mtpd
+ socket mtpd stream 600 system system
+ user vpn
+ group vpn net_admin net_raw
+ disabled
oneshot
+
+service keystore /system/bin/keystore /data/misc/keystore
+ user keystore
+ group keystore
+ socket keystore stream 666
+
+service dumpstate /system/bin/dumpstate -s
+ socket dumpstate stream 0660 shell log
disabled
+ oneshot
diff --git a/target/product/AndroidProducts.mk b/target/product/AndroidProducts.mk
index 9a91da9..32416c5 100644
--- a/target/product/AndroidProducts.mk
+++ b/target/product/AndroidProducts.mk
@@ -25,17 +25,19 @@
# it includes.
#
-# An unbundled app build needs only generic.mk.
+# Unbundled apps will be built with the default product config.
ifneq ($(TARGET_BUILD_APPS),)
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/core.mk \
- $(LOCAL_DIR)/generic.mk
+ $(LOCAL_DIR)/generic.mk \
+ $(LOCAL_DIR)/full.mk
else
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/core.mk \
$(LOCAL_DIR)/generic.mk \
$(LOCAL_DIR)/generic_x86.mk \
$(LOCAL_DIR)/full.mk \
+ $(LOCAL_DIR)/full_x86.mk \
$(LOCAL_DIR)/sdk.mk \
$(LOCAL_DIR)/sim.mk
endif
diff --git a/target/product/core.mk b/target/product/core.mk
index 0b906e0..55d6c26 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -41,6 +41,7 @@ PRODUCT_PACKAGES := \
framework-res \
hprof-conv \
icu.dat \
+ ip-up-vpn \
jasmin \
jasmin.jar \
libcrypto \
diff --git a/target/product/full.mk b/target/product/full.mk
index c204aad..c563bcc 100644
--- a/target/product/full.mk
+++ b/target/product/full.mk
@@ -16,44 +16,14 @@
# This is a build configuration for a full-featured build of the
# Open-Source part of the tree. It's geared toward a US-centric
-# build of the emulator, but all those aspects can be overridden
-# in inherited configurations.
+# build quite specifically for the emulator, and might not be
+# entirely appropriate to inherit from for on-device configurations.
-PRODUCT_PACKAGES := \
- OpenWnn \
- PinyinIME \
- VoiceDialer \
- libWnnEngDic \
- libWnnJpnDic \
- libwnndict
-
-# Additional settings used in all AOSP builds
-PRODUCT_PROPERTY_OVERRIDES := \
- keyguard.no_require_sim=true \
- ro.com.android.dateformat=MM-dd-yyyy \
- ro.com.android.dataroaming=true \
- ro.ril.hsxpa=1 \
- ro.ril.gprsclass=10
-
-PRODUCT_COPY_FILES := \
- development/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
- development/data/etc/vold.conf:system/etc/vold.conf
-
-# Pick up some sounds - stick with the short list to save space
-# on smaller devices.
-$(call inherit-product, frameworks/base/data/sounds/OriginalAudio.mk)
-
-# Get the TTS language packs
-$(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)
-
-# Get a list of languages. We use the small list to save space
-# on smaller devices.
-$(call inherit-product, build/target/product/languages_small.mk)
-
-$(call inherit-product, build/target/product/generic.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/board/generic/device.mk)
# Overrides
PRODUCT_NAME := full
-PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
-PRODUCT_MODEL := Full Android
+PRODUCT_BRAND := Android
+PRODUCT_MODEL := Full Android on Emulator
diff --git a/target/product/full_base.mk b/target/product/full_base.mk
new file mode 100644
index 0000000..fb9b528
--- /dev/null
+++ b/target/product/full_base.mk
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2009 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.
+#
+
+# This is a build configuration for a full-featured build of the
+# Open-Source part of the tree. This is a base configuration to
+# bes used for AOSP builds on various target devices.
+
+PRODUCT_PACKAGES := \
+ OpenWnn \
+ PinyinIME \
+ VoiceDialer \
+ libWnnEngDic \
+ libWnnJpnDic \
+ libwnndict
+
+# Additional settings used in all AOSP builds
+PRODUCT_PROPERTY_OVERRIDES := \
+ keyguard.no_require_sim=true \
+ ro.com.android.dateformat=MM-dd-yyyy \
+ ro.com.android.dataroaming=true \
+ ro.config.ringtone=Ring_Synth_04.ogg \
+ ro.config.notification_sound=pixiedust.ogg
+
+# Put en_US first in the list, to make it default.
+PRODUCT_LOCALES := en_US
+
+# Get some sounds
+$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)
+
+# Get the TTS language packs
+$(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)
+
+# Get the list of languages.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
diff --git a/target/product/full_x86.mk b/target/product/full_x86.mk
new file mode 100644
index 0000000..affdc13
--- /dev/null
+++ b/target/product/full_x86.mk
@@ -0,0 +1,34 @@
+#
+# Copyright (C) 2009 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.
+#
+
+# This is a build configuration for a full-featured build of the
+# Open-Source part of the tree. It's geared toward a US-centric
+# x86 build, but all those aspects can be overridden
+# in inherited configurations.
+
+# If running on an emulator or some other device that has a LAN connection
+# that isn't a wifi connection. This will instruct init.rc to enable the
+# network connection so that you can use it with ADB
+ifdef NET_ETH0_STARTONBOOT
+ PRODUCT_PROPERTY_OVERRIDES += net.eth0.startonboot=1
+endif
+
+$(call inherit-product, build/target/product/full.mk)
+
+# Overrides
+PRODUCT_NAME := full_x86
+PRODUCT_DEVICE := generic_x86
+PRODUCT_MODEL := Full Android x86
diff --git a/target/product/generic_x86.mk b/target/product/generic_x86.mk
index 9713900..345a79a 100644
--- a/target/product/generic_x86.mk
+++ b/target/product/generic_x86.mk
@@ -3,7 +3,7 @@
# you should derive from generic_with_google.mk
PRODUCT_PACKAGES := \
- AlarmClock \
+ DeskClock \
AlarmProvider \
Calendar \
Camera \
diff --git a/target/product/locales_full.mk b/target/product/locales_full.mk
new file mode 100644
index 0000000..cf10392
--- /dev/null
+++ b/target/product/locales_full.mk
@@ -0,0 +1,5 @@
+# The locales from the ICU "-large.dat" data set.
+# See external/icu4c/stubdata.
+# This is distinct from "languages_full.mk", which contains those locales for
+# which we have translations. If you like, this file is i18n rather than l18n.
+PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index d73e702..7a986bd 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -49,7 +49,12 @@ PRODUCT_PACKAGES := \
GestureBuilder \
SoftKeyboard \
CubeLiveWallpapers \
- QuickSearchBox
+ QuickSearchBox \
+ monkeyrunner \
+ guavalib \
+ jsr305lib \
+ jython \
+ jsilver
# Host tools that are parts of the SDK.
# See development/build/sdk.atree
@@ -66,7 +71,8 @@ PRODUCT_PACKAGES += \
layoutopt \
traceview \
android \
- dexdump
+ dexdump \
+ monkeyrunner
# Native host Java libraries that are parts of the SDK.
# See development/build/sdk.atree
@@ -99,7 +105,11 @@ PRODUCT_PACKAGES += \
org.eclipse.equinox.common_3.4.0.v20080421-2006 \
org.eclipse.jface_3.4.2.M20090107-0800 \
osgi \
- layoutlib
+ layoutlib \
+ monkeyrunner \
+ guavalib \
+ jsr305lib \
+ jython
PRODUCT_PACKAGE_OVERLAYS := development/sdk_overlay
diff --git a/target/product/sim.mk b/target/product/sim.mk
index 51b3676..09722d6 100644
--- a/target/product/sim.mk
+++ b/target/product/sim.mk
@@ -1,6 +1,6 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
# Overrides
PRODUCT_NAME := sim
PRODUCT_DEVICE := sim
-PRODUCT_LOCALES := en_US
diff --git a/tools/mktarball.sh b/tools/mktarball.sh
index ea1a8ed..3e32006 100755
--- a/tools/mktarball.sh
+++ b/tools/mktarball.sh
@@ -39,7 +39,14 @@ for f in ${subdirs} ${files} ; do
done
if [ $? -eq 0 ] ; then
- bzip2 -c ${target_tar} > ${target_tarball}
+ case "${target_tarball}" in
+ *.bz2 )
+ bzip2 -c ${target_tar} > ${target_tarball}
+ ;;
+ *.gz )
+ gzip -c ${target_tar} > ${target_tarball}
+ ;;
+ esac
success=$?
[ $success -eq 0 ] || rm -f ${target_tarball}
rm -f ${target_tar}