merge intel x86 patches into gingerbread branch
This commit is contained in:
commit
09636e1771
|
@ -1219,7 +1219,7 @@ ifneq ($(TARGET_SIMULATOR),true)
|
|||
|
||||
INTERNAL_EMULATOR_PACKAGE_FILES += \
|
||||
$(HOST_OUT_EXECUTABLES)/emulator$(HOST_EXECUTABLE_SUFFIX) \
|
||||
prebuilt/android-arm/kernel/kernel-qemu \
|
||||
prebuilt/android-$(TARGET_ARCH)/kernel/kernel-qemu \
|
||||
$(INSTALLED_RAMDISK_TARGET) \
|
||||
$(INSTALLED_SYSTEMIMAGE) \
|
||||
$(INSTALLED_USERDATAIMAGE_TARGET)
|
||||
|
@ -1291,6 +1291,14 @@ sdk_atree_files := \
|
|||
$(atree_dir)/sdk-$(HOST_OS)-$(HOST_ARCH).atree \
|
||||
sdk/build/tools.atree
|
||||
|
||||
# development/build/sdk-android-<abi>.atree is used to differentiate
|
||||
# between architecture models (e.g. ARMv5TE versus ARMv7) when copying
|
||||
# files like the kernel image. We use TARGET_CPU_ABI because we don't
|
||||
# have a better way to distinguish between CPU models.
|
||||
ifneq (,$(strip $(wildcard $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree)))
|
||||
sdk_atree_files += $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree
|
||||
endif
|
||||
|
||||
deps := \
|
||||
$(target_notice_file_txt) \
|
||||
$(tools_notice_file_txt) \
|
||||
|
@ -1337,9 +1345,11 @@ $(INTERNAL_SDK_TARGET): $(deps)
|
|||
-I $(HOST_OUT) \
|
||||
-I $(TARGET_COMMON_OUT_ROOT) \
|
||||
-v "PLATFORM_NAME=android-$(PLATFORM_VERSION)" \
|
||||
-v "TARGET_ARCH=$(TARGET_ARCH)" \
|
||||
-v "TARGET_CPU_ABI=$(TARGET_CPU_ABI)" \
|
||||
-o $(PRIVATE_DIR) && \
|
||||
cp -f $(target_notice_file_txt) \
|
||||
$(PRIVATE_DIR)/platforms/android-$(PLATFORM_VERSION)/images/NOTICE.txt && \
|
||||
$(PRIVATE_DIR)/platforms/android-$(PLATFORM_VERSION)/images/$(TARGET_CPU_ABI)/NOTICE.txt && \
|
||||
cp -f $(tools_notice_file_txt) $(PRIVATE_DIR)/tools/NOTICE.txt && \
|
||||
HOST_OUT_EXECUTABLES=$(HOST_OUT_EXECUTABLES) HOST_OS=$(HOST_OS) \
|
||||
development/build/tools/sdk_clean.sh $(PRIVATE_DIR) && \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
@ -36,7 +38,7 @@ endif
|
|||
# You can set TARGET_TOOLS_PREFIX to get gcc from somewhere else
|
||||
ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
|
||||
TARGET_TOOLS_PREFIX := \
|
||||
prebuilt/$(HOST_PREBUILT_TAG)/toolchain/i686-unknown-linux-gnu-4.2.1/bin/i686-unknown-linux-gnu-
|
||||
prebuilt/$(HOST_PREBUILT_TAG)/toolchain/i686-android-linux-4.4.3/bin/i686-android-linux-
|
||||
endif
|
||||
|
||||
TARGET_CC := $(TARGET_TOOLS_PREFIX)gcc$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
@ -44,11 +46,12 @@ 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 := \
|
||||
$(shell $(TARGET_CC) -m32 -print-file-name=libgcc.a) \
|
||||
$(shell $(TARGET_CC) -m32 -print-file-name=libgcc_eh.a)
|
||||
$(shell $(TARGET_CC) -m32 -print-file-name=libgcc.a)
|
||||
endif
|
||||
|
||||
TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
|
||||
|
@ -72,14 +75,48 @@ endif
|
|||
KERNEL_HEADERS := $(KERNEL_HEADERS_COMMON) $(KERNEL_HEADERS_ARCH)
|
||||
|
||||
TARGET_GLOBAL_CFLAGS += \
|
||||
-march=i686 \
|
||||
-m32 \
|
||||
-O2 \
|
||||
-Ulinux \
|
||||
-Wa,--noexecstack \
|
||||
-Werror=format-security \
|
||||
-Wstrict-aliasing=2 \
|
||||
-fPIC \
|
||||
-ffunction-sections \
|
||||
-finline-functions \
|
||||
-finline-limit=300 \
|
||||
-fno-inline-functions-called-once \
|
||||
-fno-short-enums \
|
||||
-fstrict-aliasing \
|
||||
-funswitch-loops \
|
||||
-funwind-tables \
|
||||
-include $(call select-android-config-h,target_linux-x86)
|
||||
|
||||
TARGET_GLOBAL_CFLAGS += -fstack-protector
|
||||
|
||||
# Needs to be added for RELEASE
|
||||
#TARGET_GLOBAL_CFLAGS += \
|
||||
# -DNDEBUG
|
||||
|
||||
|
||||
# Fix this after ssp.c is fixed for x86
|
||||
# TARGET_GLOBAL_CFLAGS += -fstack-protector
|
||||
|
||||
TARGET_GLOBAL_CPPFLAGS += \
|
||||
-fno-use-cxa-atexit
|
||||
|
||||
ifeq ($(TARGET_ARCH_VARIANT),x86-atom)
|
||||
TARGET_GLOBAL_CFLAGS += -march=atom -mstackrealign -DUSE_SSSE3 -DUSE_SSE2 -mfpmath=sse
|
||||
else
|
||||
TARGET_GLOBAL_CFLAGS += -march=i686
|
||||
endif
|
||||
|
||||
TARGET_GLOBAL_CFLAGS += -mbionic
|
||||
TARGET_GLOBAL_CFLAGS += -D__ANDROID__
|
||||
|
||||
TARGET_GLOBAL_LDFLAGS += -m32
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,-z,noexecstack
|
||||
TARGET_GLOBAL_LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
TARGET_C_INCLUDES := \
|
||||
$(libc_root)/arch-x86/include \
|
||||
$(libc_root)/include \
|
||||
|
@ -97,7 +134,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 +144,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 +194,4 @@ $(TARGET_CXX) \
|
|||
$(TARGET_CRTEND_O)
|
||||
endef
|
||||
|
||||
TARGET_GLOBAL_CFLAGS += -m32
|
||||
TARGET_GLOBAL_LDFLAGS += -m32
|
||||
|
||||
endif #simulator
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -142,6 +142,16 @@ include $(board_config_mk)
|
|||
TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
|
||||
board_config_mk :=
|
||||
|
||||
# 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
|
||||
|
||||
# Clean up/verify variables defined by the board config file.
|
||||
TARGET_BOOTLOADER_BOARD_NAME := $(strip $(TARGET_BOOTLOADER_BOARD_NAME))
|
||||
TARGET_CPU_ABI := $(strip $(TARGET_CPU_ABI))
|
||||
|
@ -232,7 +242,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)),)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -55,10 +55,11 @@ files_to_copy += $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SDK_ADDON_COPY_FILES)
|
|||
|
||||
# All SDK add-ons have these files
|
||||
files_to_copy += \
|
||||
$(BUILT_SYSTEMIMAGE):images/system.img \
|
||||
$(BUILT_USERDATAIMAGE_TARGET):images/userdata.img \
|
||||
$(BUILT_RAMDISK_TARGET):images/ramdisk.img \
|
||||
$(target_notice_file_txt):images/NOTICE.txt
|
||||
$(BUILT_SYSTEMIMAGE):images/$(TARGET_CPU_ABI)/system.img \
|
||||
$(BUILT_USERDATAIMAGE_TARGET):images/$(TARGET_CPU_ABI)/userdata.img \
|
||||
$(BUILT_RAMDISK_TARGET):images/$(TARGET_CPU_ABI)/ramdisk.img \
|
||||
$(ANDROID_PRODUCT_OUT)/system/build.prop:images/$(TARGET_CPU_ABI)/build.prop \
|
||||
$(target_notice_file_txt):images/$(TARGET_CPU_ABI)/NOTICE.txt
|
||||
|
||||
# Generate rules to copy the requested files
|
||||
$(foreach cf,$(files_to_copy), \
|
||||
|
|
13
envsetup.sh
13
envsetup.sh
|
@ -314,7 +314,7 @@ function chooseproduct()
|
|||
if [ "$TARGET_SIMULATOR" = true ] ; then
|
||||
default_value=sim
|
||||
else
|
||||
default_value=generic
|
||||
default_value=full
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -432,7 +432,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
|
||||
|
@ -467,7 +468,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
|
||||
|
||||
|
@ -475,7 +476,7 @@ function lunch()
|
|||
|
||||
if [ -z "$answer" ]
|
||||
then
|
||||
selection=generic-eng
|
||||
selection=full-eng
|
||||
elif [ "$answer" = "simulator" ]
|
||||
then
|
||||
selection=simulator
|
||||
|
@ -563,7 +564,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
|
||||
|
@ -1096,7 +1097,7 @@ fi
|
|||
unset _xarray
|
||||
|
||||
# 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
|
||||
|
|
|
@ -6,9 +6,30 @@
|
|||
# The generic product target doesn't have any hardware-specific pieces.
|
||||
TARGET_NO_BOOTLOADER := true
|
||||
TARGET_NO_KERNEL := true
|
||||
TARGET_CPU_ABI := armeabi
|
||||
|
||||
# Note: we build the platform images for ARMv7-A _without_ NEON.
|
||||
#
|
||||
# Technically, the emulator supports ARMv7-A _and_ NEON instructions, but
|
||||
# emulated NEON code paths typically ends up 2x slower than the normal C code
|
||||
# it is supposed to replace (unlike on real devices where it is 2x to 3x
|
||||
# faster).
|
||||
#
|
||||
# What this means is that the platform image will not use NEON code paths
|
||||
# that are slower to emulate. On the other hand, it is possible to emulate
|
||||
# application code generated with the NDK that uses NEON in the emulator.
|
||||
#
|
||||
TARGET_ARCH_VARIANT := armv7-a
|
||||
TARGET_CPU_ABI := armeabi-v7a
|
||||
TARGET_CPU_ABI2 := armeabi
|
||||
|
||||
HAVE_HTC_AUDIO_DRIVER := true
|
||||
BOARD_USES_GENERIC_AUDIO := true
|
||||
|
||||
# no hardware camera
|
||||
USE_CAMERA_STUB := true
|
||||
|
||||
# Enable dex-preoptimization to speed up the first boot sequence
|
||||
# of an SDK AVD. Note that this operation only works on Linux for now
|
||||
ifeq ($(HOST_OS),linux)
|
||||
WITH_DEXPREOPT := true
|
||||
endif
|
||||
|
|
|
@ -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
|
|
@ -1,17 +1,3 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.rc
|
||||
LOCAL_SRC_FILES := init.rc
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
ifeq ($(TARGET_PREBUILT_KERNEL),)
|
||||
LOCAL_KERNEL := prebuilt/android-x86/kernel/kernel
|
||||
else
|
||||
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_KERNEL):kernel
|
||||
#
|
||||
|
|
|
@ -1,20 +1,28 @@
|
|||
TARGET_COMPRESS_MODULE_SYMBOLS := false
|
||||
TARGET_PRELINK_MODULE := false
|
||||
TARGET_NO_RECOVERY := true
|
||||
TARGET_HARDWARE_3D := false
|
||||
BOARD_USES_GENERIC_AUDIO := true
|
||||
USE_CAMERA_STUB := true
|
||||
TARGET_PROVIDES_INIT_RC := true
|
||||
USE_CUSTOM_RUNTIME_HEAP_MAX := "32M"
|
||||
TARGET_CPU_ABI := x86
|
||||
TARGET_USERIMAGES_USE_EXT2 := true
|
||||
TARGET_BOOTIMAGE_USE_EXT2 := true
|
||||
# config.mk
|
||||
#
|
||||
# Product-specific compile-time definitions.
|
||||
#
|
||||
|
||||
# For VirtualBox and likely other emulators
|
||||
BOARD_INSTALLER_CMDLINE := init=/init console=ttyS0 console=tty0 androidboot.hardware=generic_x86 vga=788 verbose
|
||||
BOARD_KERNEL_CMDLINE := init=/init console=tty0 console=ttyS0 androidboot.hardware=generic_x86 vga=788
|
||||
TARGET_USE_DISKINSTALLER := true
|
||||
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 generic product target doesn't have any hardware-specific pieces.
|
||||
TARGET_NO_BOOTLOADER := true
|
||||
TARGET_NO_KERNEL := true
|
||||
TARGET_CPU_ABI := x86
|
||||
TARGET_ARCH := x86
|
||||
TARGET_ARCH_VARIANT := x86-atom
|
||||
TARGET_PRELINK_MODULE := false
|
||||
|
||||
# The IA emulator (qemu) uses the Goldfish devices
|
||||
HAVE_HTC_AUDIO_DRIVER := true
|
||||
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
|
||||
|
||||
# Enable dex-preoptimization to speed up the first boot sequence
|
||||
# of an SDK AVD. Note that this operation only works on Linux for now
|
||||
ifeq ($(HOST_OS),linux)
|
||||
WITH_DEXPREOPT := true
|
||||
endif
|
||||
|
|
|
@ -1,33 +1,8 @@
|
|||
The generic_x86 board target provides basic services on very basic
|
||||
hardware (really for an emulation). To build with generic_x86, you will
|
||||
need an appropriate kernel for your emulation (or device).
|
||||
The "generic_x86" product defines a non-hardware-specific IA target
|
||||
without a kernel or bootloader.
|
||||
|
||||
A1. Create a new top level directory and pull the AOSP repository
|
||||
mkdir $HOME/AOSP
|
||||
cd $HOME/AOSP
|
||||
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
|
||||
cd $HOME/AOSP
|
||||
cp ~/bzImage.your_device $HOME/AOSP/prebuilt/android-x86/kernel/kernel
|
||||
|
||||
A4. Build
|
||||
cd $HOME/AOSP
|
||||
source build/envsetup.sh
|
||||
lunch generic_x86-eng
|
||||
make -j8
|
||||
|
||||
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
|
||||
cd $HOME/AOSP
|
||||
source build/envsetup.sh
|
||||
lunch generic_x86-eng
|
||||
make -j8 installer_vdi
|
||||
It can be used to build the entire user-level system, and
|
||||
will work with the IA version of the emulator,
|
||||
|
||||
It is not a product "base class"; no other products inherit
|
||||
from it or use it in any way.
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -1,54 +0,0 @@
|
|||
device {
|
||||
path /dev/block/sda
|
||||
|
||||
scheme mbr
|
||||
|
||||
# bytes in a disk sector (== 1 LBA), must be a power of 2!
|
||||
sector_size 512
|
||||
|
||||
# What LBA should the partitions start at?
|
||||
start_lba 2048
|
||||
|
||||
# Autodetect disk size if == 0
|
||||
num_lba 0
|
||||
|
||||
partitions {
|
||||
sysloader {
|
||||
active y
|
||||
type linux
|
||||
len 7M
|
||||
}
|
||||
|
||||
recovery {
|
||||
active y
|
||||
type linux
|
||||
len 16M
|
||||
}
|
||||
|
||||
boot {
|
||||
active y
|
||||
type linux
|
||||
len 8M
|
||||
}
|
||||
|
||||
cache {
|
||||
type linux
|
||||
len 512M
|
||||
}
|
||||
|
||||
system {
|
||||
type linux
|
||||
len 512M
|
||||
}
|
||||
|
||||
third_party {
|
||||
type linux
|
||||
len 512M
|
||||
}
|
||||
|
||||
data {
|
||||
type linux
|
||||
len -1
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,254 +0,0 @@
|
|||
|
||||
on init
|
||||
|
||||
sysclktz 0
|
||||
|
||||
loglevel 3
|
||||
|
||||
# setup the global environment
|
||||
export PATH /sbin:/system/sbin:/system/bin:/system/xbin
|
||||
export LD_LIBRARY_PATH /system/lib
|
||||
export ANDROID_BOOTLOGO 1
|
||||
export ANDROID_ROOT /system
|
||||
export ANDROID_ASSETS /system/app
|
||||
export ANDROID_DATA /data
|
||||
export EXTERNAL_STORAGE /sdcard
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
mount rootfs rootfs / rw 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
|
||||
|
||||
# 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 ext3 /dev/block/sda8 /data
|
||||
|
||||
# We chown/chmod /data again so because mount is run as root + defaults
|
||||
chown system system /data
|
||||
chmod 0771 /data
|
||||
|
||||
# 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
|
||||
chmod 0770 /cache/recovery
|
||||
|
||||
# create basic filesystem structure
|
||||
mkdir /data/misc 01771 system misc
|
||||
mkdir /data/misc/hcid 0770 bluetooth bluetooth
|
||||
mkdir /data/local 0771 shell shell
|
||||
mkdir /data/local/tmp 0771 shell shell
|
||||
mkdir /data/data 0771 system system
|
||||
mkdir /data/app-private 0771 system system
|
||||
mkdir /data/app 0771 system system
|
||||
mkdir /data/property 0700 root root
|
||||
|
||||
# create dalvik-cache and double-check the perms
|
||||
mkdir /data/dalvik-cache 0771 system system
|
||||
chown system system /data/dalvik-cache
|
||||
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
|
||||
|
||||
# double check the perms, in case lost+found already exists, and set owner
|
||||
chown root root /data/lost+found
|
||||
chmod 0770 /data/lost+found
|
||||
chown root root /cache/lost+found
|
||||
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.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).
|
||||
setprop ro.FOREGROUND_APP_MEM 1536
|
||||
setprop ro.VISIBLE_APP_MEM 2048
|
||||
setprop ro.SECONDARY_SERVER_MEM 4096
|
||||
setprop ro.BACKUP_APP_MEM 4096
|
||||
setprop ro.HOME_APP_MEM 4096
|
||||
setprop ro.HIDDEN_APP_MEM 5120
|
||||
setprop ro.CONTENT_PROVIDER_MEM 5632
|
||||
setprop ro.EMPTY_APP_MEM 6144
|
||||
|
||||
|
||||
# Write value must be consistent with the above properties.
|
||||
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
|
||||
|
||||
# Set init its forked children's oom_adj.
|
||||
write /proc/1/oom_adj -16
|
||||
|
||||
# Permissions for System Server and daemons.
|
||||
chown radio system /sys/android_power/state
|
||||
chown radio system /sys/android_power/request_state
|
||||
chown radio system /sys/android_power/acquire_full_wake_lock
|
||||
chown radio system /sys/android_power/acquire_partial_wake_lock
|
||||
chown radio system /sys/android_power/release_wake_lock
|
||||
chown radio system /sys/power/state
|
||||
chown radio system /sys/power/wake_lock
|
||||
chown radio system /sys/power/wake_unlock
|
||||
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/red/brightness
|
||||
chown system system /sys/class/leds/green/brightness
|
||||
chown system system /sys/class/leds/blue/brightness
|
||||
chown system system /sys/class/leds/red/device/grpfreq
|
||||
chown system system /sys/class/leds/red/device/grppwm
|
||||
chown system system /sys/class/leds/red/device/blink
|
||||
chown system system /sys/class/leds/red/brightness
|
||||
chown system system /sys/class/leds/green/brightness
|
||||
chown system system /sys/class/leds/blue/brightness
|
||||
chown system system /sys/class/leds/red/device/grpfreq
|
||||
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
|
||||
chown system system /sys/kernel/ipv4/tcp_rmem_min
|
||||
chown system system /sys/kernel/ipv4/tcp_rmem_def
|
||||
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
|
||||
setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
|
||||
setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
|
||||
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
|
||||
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
|
||||
|
||||
class_start default
|
||||
|
||||
|
||||
## Daemon processes to be run by init.
|
||||
##
|
||||
service console /system/bin/sh
|
||||
console
|
||||
|
||||
# adbd is controlled by the persist.service.adb.enable system property
|
||||
service adbd /sbin/adbd
|
||||
# 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
|
||||
|
||||
on property:persist.service.adb.enable=0
|
||||
stop adbd
|
||||
|
||||
service servicemanager /system/bin/servicemanager
|
||||
user system
|
||||
critical
|
||||
onrestart restart zygote
|
||||
onrestart restart media
|
||||
|
||||
service vold /system/bin/vold
|
||||
socket vold stream 0660 root mount
|
||||
|
||||
service zygote /system/bin/app_process -Xzygote -Xint:fast /system/bin --zygote --start-system-server
|
||||
socket zygote stream 666
|
||||
onrestart write /sys/android_power/request_state wake
|
||||
|
||||
service media /system/bin/mediaserver
|
||||
user media
|
||||
group system audio camera graphics inet net_bt net_bt_admin
|
||||
|
||||
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
|
||||
disabled
|
||||
|
||||
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 start_eth0 /system/bin/netcfg eth0 dhcp
|
||||
oneshot
|
||||
disabled
|
|
@ -0,0 +1,6 @@
|
|||
#
|
||||
# system.prop for generic sdk
|
||||
#
|
||||
|
||||
rild.libpath=/system/lib/libreference-ril.so
|
||||
rild.libargs=-d /dev/ttyS0
|
|
@ -36,6 +36,8 @@ PRODUCT_MAKEFILES := \
|
|||
$(LOCAL_DIR)/generic.mk \
|
||||
$(LOCAL_DIR)/generic_x86.mk \
|
||||
$(LOCAL_DIR)/full.mk \
|
||||
$(LOCAL_DIR)/full_x86.mk \
|
||||
$(LOCAL_DIR)/sdk.mk \
|
||||
$(LOCAL_DIR)/sdk_x86.mk \
|
||||
$(LOCAL_DIR)/sim.mk
|
||||
endif
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
#
|
||||
# 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
|
||||
|
||||
# Put en_US first in the list, to make it default.
|
||||
PRODUCT_LOCALES := en_US
|
||||
|
||||
# Pick up some sounds - stick with the short list to save space
|
||||
# on smaller devices.
|
||||
$(call inherit-product-if-exists, 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 the list of languages.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
|
|
@ -0,0 +1,29 @@
|
|||
#
|
||||
# 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
|
||||
# build quite specifically for the emulator, and might not be
|
||||
# entirely appropriate to inherit from for on-device configurations.
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic/device.mk)
|
||||
|
||||
# Overrides
|
||||
PRODUCT_NAME := full_x86
|
||||
PRODUCT_DEVICE := generic_x86
|
||||
PRODUCT_BRAND := Android
|
||||
PRODUCT_MODEL := Full Android on x86 Emulator
|
|
@ -1,34 +1,26 @@
|
|||
#
|
||||
# Copyright (C) 2007 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 generic product that isn't specialized for a specific device.
|
||||
# It includes the base Android platform. If you need Google-specific features,
|
||||
# you should derive from generic_with_google.mk
|
||||
|
||||
PRODUCT_PACKAGES := \
|
||||
AlarmClock \
|
||||
AlarmProvider \
|
||||
Calendar \
|
||||
Camera \
|
||||
DrmProvider \
|
||||
LatinIME \
|
||||
Mms \
|
||||
Music \
|
||||
Settings \
|
||||
Sync \
|
||||
Updater \
|
||||
CalendarProvider \
|
||||
SubscribedFeedsProvider \
|
||||
SyncProvider
|
||||
# It includes the base Android platform.
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
|
||||
|
||||
# Overrides
|
||||
PRODUCT_BRAND := generic_x86
|
||||
PRODUCT_DEVICE := generic_x86
|
||||
PRODUCT_NAME := generic_x86
|
||||
PRODUCT_POLICY := android.policy_phone
|
||||
|
||||
# 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
|
||||
|
|
|
@ -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 := en_US
|
|
@ -60,6 +60,8 @@ PRODUCT_PACKAGES += \
|
|||
hprof-conv \
|
||||
mksdcard \
|
||||
emulator \
|
||||
bios.bin \
|
||||
vgabios-cirrus.bin \
|
||||
ddms \
|
||||
hierarchyviewer \
|
||||
draw9patch \
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
#
|
||||
# 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
|
||||
# build quite specifically for the emulator, and might not be
|
||||
# entirely appropriate to inherit from for on-device configurations.
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/sdk.mk)
|
||||
|
||||
# Overrides
|
||||
PRODUCT_BRAND := generic_x86
|
||||
PRODUCT_NAME := sdk_x86
|
||||
PRODUCT_DEVICE := generic_x86
|
||||
PRODUCT_MODEL := Android SDK built for x86
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue