aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/Makefile33
-rw-r--r--core/combo/TARGET_linux-arm.mk21
-rw-r--r--core/combo/arch/arm/armv7-a-neon.mk5
-rw-r--r--core/combo/arch/arm/armv7-a.mk5
-rw-r--r--core/combo/include/arch/linux-arm/AndroidConfig.h7
-rw-r--r--core/combo/select.mk14
-rw-r--r--core/config.mk16
-rw-r--r--core/definitions.mk2
-rw-r--r--core/legacy_prebuilts.mk11
-rw-r--r--core/linaro_compilerchecks.mk43
-rw-r--r--core/main.mk44
-rw-r--r--target/board/Android.mk10
-rw-r--r--target/board/generic/BoardConfig.mk4
-rw-r--r--target/product/core.mk8
-rw-r--r--target/product/full_base_telephony.mk2
15 files changed, 189 insertions, 36 deletions
diff --git a/core/Makefile b/core/Makefile
index 55ab6a512d..3018734e90 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -371,13 +371,22 @@ INTERNAL_RAMDISK_FILES := $(filter $(TARGET_ROOT_OUT)/%, \
$(ALL_GENERATED_SOURCES) \
$(ALL_DEFAULT_INSTALLED_MODULES))
-BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img
+ifeq ($(TARGET_BOOTLOADER_TYPE),uboot)
+BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/uInitrd
+else
+BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/$(or $(INSTALLED_RAMDISK_TARGET_NAME),ramdisk.img)
+endif
# We just build this directly to the install location.
INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET)
$(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP)
$(call pretty,"Target ram disk: $@")
+ifeq ($(TARGET_BOOTLOADER_TYPE),uboot)
+ $(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $(PRODUCT_OUT)/obj/ramdisk.img
+ mkimage -A arm -O linux -T ramdisk -n "Android Ramdisk Image" -d $(PRODUCT_OUT)/obj/ramdisk.img $@
+else
$(hide) $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@
+endif
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
@@ -386,6 +395,7 @@ ifneq ($(strip $(TARGET_NO_KERNEL)),true)
# the boot image, which is a collection of other images.
INTERNAL_BOOTIMAGE_ARGS := \
$(addprefix --second ,$(INSTALLED_2NDBOOTLOADER_TARGET)) \
+ $(addprefix --dt ,$(INSTALLED_DTB_TARGET)) \
--kernel $(INSTALLED_KERNEL_TARGET) \
--ramdisk $(INSTALLED_RAMDISK_TARGET)
@@ -401,6 +411,11 @@ ifdef BOARD_KERNEL_BASE
INTERNAL_BOOTIMAGE_ARGS += --base $(BOARD_KERNEL_BASE)
endif
+TARGET_TAG_ADDRESS := $(strip $(TARGET_TAG_ADDRESS))
+ifdef TARGET_TAG_ADDRESS
+ INTERNAL_BOOTIMAGE_ARGS += --tags-addr $(TARGET_TAG_ADDRESS)
+endif
+
BOARD_KERNEL_PAGESIZE := $(strip $(BOARD_KERNEL_PAGESIZE))
ifdef BOARD_KERNEL_PAGESIZE
INTERNAL_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE)
@@ -412,13 +427,13 @@ ifeq ($(TARGET_BOOTIMAGE_USE_EXT2),true)
tmp_dir_for_image := $(call intermediates-dir-for,EXECUTABLES,boot_img)/bootimg
INTERNAL_BOOTIMAGE_ARGS += --tmpdir $(tmp_dir_for_image)
INTERNAL_BOOTIMAGE_ARGS += --genext2fs $(MKEXT2IMG)
-$(INSTALLED_BOOTIMAGE_TARGET): $(MKEXT2IMG) $(INTERNAL_BOOTIMAGE_FILES)
+$(INSTALLED_BOOTIMAGE_TARGET): $(MKEXT2IMG) $(INTERNAL_BOOTIMAGE_FILES) $(INSTALLED_KERNEL_TARGET)
$(call pretty,"Target boot image: $@")
$(hide) $(MKEXT2BOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) --output $@
else # TARGET_BOOTIMAGE_USE_EXT2 != true
-$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES)
+$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(INSTALLED_KERNEL_TARGET)
$(call pretty,"Target boot image: $@")
$(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@
$(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw)
@@ -758,7 +773,16 @@ ifdef is_tests_build
# $(tests_MODULES))
endif
-FULL_SYSTEMIMAGE_DEPS := $(INTERNAL_SYSTEMIMAGE_FILES) $(INTERNAL_USERIMAGES_DEPS)
+# FIXME The ifneq ... construct below is a workaround for a bug in the
+# version of make currently (2013/02) installed on android-build.
+# On android-build, even if native-toolchain is present, gcc gets built
+# after system.img, causing it to be missing.
+# Local builds with make 3.82 work fine without this hack.
+ifneq ($(findstring developer,-$(LINARO_BUILD_SPEC)),)
+INTERNAL_SYSTEMIMAGE_FILES += $(PRODUCT_OUT)/system/bin/gcc
+endif
+FULL_SYSTEMIMAGE_DEPS := $(INTERNAL_SYSTEMIMAGE_FILES) \
+ $(INTERNAL_USERIMAGES_DEPS)
# -----------------------------------------------------------------
# installed file list
# Depending on anything that $(BUILT_SYSTEMIMAGE) depends on.
@@ -1590,6 +1614,7 @@ $(INTERNAL_FINDBUGS_HTML_TARGET): $(INTERNAL_FINDBUGS_XML_TARGET)
include $(sort $(wildcard $(BUILD_SYSTEM)/tasks/*.mk))
-include $(sort $(wildcard vendor/*/build/tasks/*.mk))
-include $(sort $(wildcard device/*/build/tasks/*.mk))
+-include $(sort $(wildcard device/*/common/tasks/*.mk))
# -----------------------------------------------------------------
# Create SDK repository packages. Must be done after tasks/* since
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index 371ba9670f..68ef27db75 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -68,16 +68,25 @@ endif
TARGET_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
-TARGET_arm_CFLAGS := -O2 \
+TARGET_arm_CFLAGS := -O3 \
-fomit-frame-pointer \
-fstrict-aliasing \
-funswitch-loops
# Modules can choose to compile some source as thumb.
TARGET_thumb_CFLAGS := -mthumb \
- -Os \
+ -O3 \
-fomit-frame-pointer \
- -fno-strict-aliasing
+ -fstrict-aliasing \
+ -Wstrict-aliasing=2 \
+ -Werror=strict-aliasing
+
+# Turn off strict-aliasing if we're building an AOSP variant without the
+# patchset...
+ifeq ($(DEBUG_NO_STRICT_ALIASING),yes)
+TARGET_arm_CFLAGS += -fno-strict-aliasing -Wno-error=strict-aliasing
+TARGET_thumb_CFLAGS += -fno-strict-aliasing -Wno-error=strict-aliasing
+endif
# Set FORCE_ARM_DEBUGGING to "true" in your buildspec.mk
# or in your environment to force a full arm build, even for
@@ -140,12 +149,16 @@ TARGET_GLOBAL_LDFLAGS += \
TARGET_GLOBAL_CFLAGS += -mthumb-interwork
TARGET_GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden
+ifneq ($(DEBUG_NO_STDCXX11),yes)
+TARGET_GLOBAL_CPPFLAGS += $(call cc-option,-std=gnu++11)
+endif
# More flags/options can be added here
-TARGET_RELEASE_CFLAGS := \
+TARGET_RELEASE_CFLAGS += \
-DNDEBUG \
-g \
-Wstrict-aliasing=2 \
+ -Werror=strict-aliasing \
-fgcse-after-reload \
-frerun-cse-after-loop \
-frename-registers
diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk
index f2c1ca779d..ea4b011586 100644
--- a/core/combo/arch/arm/armv7-a-neon.mk
+++ b/core/combo/arch/arm/armv7-a-neon.mk
@@ -20,5 +20,10 @@ arch_variant_cflags += \
-mfloat-abi=softfp \
-mfpu=neon
+ifneq (,$(findstring cpu=cortex-a9,$(TARGET_EXTRA_CFLAGS)))
+arch_variant_ldflags := \
+ -Wl,--no-fix-cortex-a8
+else
arch_variant_ldflags := \
-Wl,--fix-cortex-a8
+endif
diff --git a/core/combo/arch/arm/armv7-a.mk b/core/combo/arch/arm/armv7-a.mk
index 4a519770f5..686969a66d 100644
--- a/core/combo/arch/arm/armv7-a.mk
+++ b/core/combo/arch/arm/armv7-a.mk
@@ -12,5 +12,10 @@ arch_variant_cflags := \
-mfloat-abi=softfp \
-mfpu=vfpv3-d16
+ifneq (,$(findstring cpu=cortex-a9,$(TARGET_EXTRA_CFLAGS)))
+arch_variant_ldflags := \
+ -Wl,--no-fix-cortex-a8
+else
arch_variant_ldflags := \
-Wl,--fix-cortex-a8
+endif
diff --git a/core/combo/include/arch/linux-arm/AndroidConfig.h b/core/combo/include/arch/linux-arm/AndroidConfig.h
index 9257d3e53d..9041ede2fc 100644
--- a/core/combo/include/arch/linux-arm/AndroidConfig.h
+++ b/core/combo/include/arch/linux-arm/AndroidConfig.h
@@ -364,4 +364,11 @@
*/
#define HAVE_GNU_QSORT_R 0
+#ifdef __clang__
+/*
+ * Define to 1 when using Clang
+ */
+#define HAVE_UNWIND_CONTEXT_STRUCT 1
+#endif
+
#endif /* _ANDROID_CONFIG_H */
diff --git a/core/combo/select.mk b/core/combo/select.mk
index e485d00e2a..61ff93a5f3 100644
--- a/core/combo/select.mk
+++ b/core/combo/select.mk
@@ -47,8 +47,18 @@ $(combo_target)HAVE_STRLCAT := 0
$(combo_target)HAVE_KERNEL_MODULES := 0
$(combo_target)GLOBAL_CFLAGS := -fno-exceptions -Wno-multichar
-$(combo_target)RELEASE_CFLAGS := -O2 -g -fno-strict-aliasing
-$(combo_target)GLOBAL_LDFLAGS :=
+$(combo_target)RELEASE_CFLAGS := -O3 -g -Wstrict-aliasing=2
+ifneq ($(combo_target),HOST_)
+$(combo_target)RELEASE_CFLAGS += -Werror=strict-aliasing
+else
+$(combo_target)RELEASE_CFLAGS += -Wno-error=strict-aliasing
+endif
+# Turn off strict-aliasing if we're building an AOSP variant without the
+# patchset...
+ifeq ($(DEBUG_NO_STRICT_ALIASING),yes)
+$(combo_target)RELEASE_CFLAGS += -fno-strict-aliasing -Wno-error=strict-aliasing
+endif
+$(combo_target)GLOBAL_LDFLAGS := -Wl,-O2
$(combo_target)GLOBAL_ARFLAGS := crsP
$(combo_target)EXECUTABLE_SUFFIX :=
diff --git a/core/config.mk b/core/config.mk
index e7ee49f009..3c975774a6 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -136,6 +136,9 @@ endif
# are specific to the user's build configuration.
include $(BUILD_SYSTEM)/envsetup.mk
+# Useful macros that can be used in board configs
+include $(BUILD_SYSTEM)/linaro_compilerchecks.mk
+
# Boards may be defined under $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)
# or under vendor/*/$(TARGET_DEVICE). Search in both places, but
# make sure only one exists.
@@ -272,6 +275,7 @@ endif
endif
+
# ---------------------------------------------------------------
# Generic tools.
@@ -291,7 +295,11 @@ PROTOC := $(HOST_OUT_EXECUTABLES)/aprotoc$(HOST_EXECUTABLE_SUFFIX)
SIGNAPK_JAR := $(HOST_OUT_JAVA_LIBRARIES)/signapk$(COMMON_JAVA_PACKAGE_SUFFIX)
MKBOOTFS := $(HOST_OUT_EXECUTABLES)/mkbootfs$(HOST_EXECUTABLE_SUFFIX)
MINIGZIP := $(HOST_OUT_EXECUTABLES)/minigzip$(HOST_EXECUTABLE_SUFFIX)
+ifeq (,$(strip $(PREBUILT_MKBOOTIMG)))
MKBOOTIMG := $(HOST_OUT_EXECUTABLES)/mkbootimg$(HOST_EXECUTABLE_SUFFIX)
+else
+MKBOOTIMG := $(PREBUILT_MKBOOTIMG)
+endif
MKYAFFS2 := $(HOST_OUT_EXECUTABLES)/mkyaffs2image$(HOST_EXECUTABLE_SUFFIX)
APICHECK := $(HOST_OUT_EXECUTABLES)/apicheck$(HOST_EXECUTABLE_SUFFIX)
FS_GET_STATS := $(HOST_OUT_EXECUTABLES)/fs_get_stats$(HOST_EXECUTABLE_SUFFIX)
@@ -402,11 +410,15 @@ TARGET_PROJECT_INCLUDES:= $(SRC_HEADERS) $(TARGET_OUT_HEADERS) \
TARGET_GLOBAL_CFLAGS += $(TARGET_ERROR_FLAGS)
TARGET_GLOBAL_CPPFLAGS += $(TARGET_ERROR_FLAGS)
+ifeq ($(TARGET_EXTRA_CPPFLAGS),)
+TARGET_EXTRA_CPPFLAGS := $(TARGET_EXTRA_CFLAGS)
+endif
+
HOST_GLOBAL_CFLAGS += $(HOST_RELEASE_CFLAGS)
HOST_GLOBAL_CPPFLAGS += $(HOST_RELEASE_CPPFLAGS)
-TARGET_GLOBAL_CFLAGS += $(TARGET_RELEASE_CFLAGS)
-TARGET_GLOBAL_CPPFLAGS += $(TARGET_RELEASE_CPPFLAGS)
+TARGET_GLOBAL_CFLAGS += $(TARGET_RELEASE_CFLAGS) $(TARGET_EXTRA_CFLAGS)
+TARGET_GLOBAL_CPPFLAGS += $(TARGET_RELEASE_CPPFLAGS) $(TARGET_EXTRA_CPPFLAGS)
# define llvm tools and global flags
include $(BUILD_SYSTEM)/llvm_config.mk
diff --git a/core/definitions.mk b/core/definitions.mk
index 06437f7a38..8d1c01bbc2 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1784,7 +1784,7 @@ endef
define copy-xml-file-checked
$(2): $(1) | $(ACP)
@echo "Copy xml: $$@"
- $(hide) xmllint $$< >/dev/null # Don't print the xml file to stdout.
+ $(hide) if which xmllint &>/dev/null; then xmllint $$< >/dev/null; fi # Don't print the xml file to stdout.
$$(copy-file-to-target)
endef
diff --git a/core/legacy_prebuilts.mk b/core/legacy_prebuilts.mk
index f767644c4f..6eca7fbc46 100644
--- a/core/legacy_prebuilts.mk
+++ b/core/legacy_prebuilts.mk
@@ -95,4 +95,13 @@ GRANDFATHERED_ALL_PREBUILT := \
ueventd.rc \
ueventd.stingray.rc \
vold.fstab \
- wl1271.bin
+ wl1271.bin \
+ zoneinfo.dat \
+ zoneinfo.idx \
+ zoneinfo.version
+
+ifeq ($(TARGET_BOOTLOADER_TYPE),uboot)
+GRANDFATHERED_ALL_PREBUILT += \
+ build-uboot \
+ build-mkenvimg
+endif
diff --git a/core/linaro_compilerchecks.mk b/core/linaro_compilerchecks.mk
new file mode 100644
index 0000000000..d172703ab2
--- /dev/null
+++ b/core/linaro_compilerchecks.mk
@@ -0,0 +1,43 @@
+# The try-run, cc-version, cc-ifversion and cc-option macros are inspired
+# by the Linux kernel build system's versions of the macros with the same
+# name.
+#
+# The implementations here are rewritten to avoid license clashes, and
+# they're a lot simpler than their kernel counterparts because, at least
+# for now, we don't need to support all the compilers the kernel supports,
+# and we don't need to be aware of all the details the kernel checks for.
+#
+# Usage examples:
+# echo "GCC version $(cc-version)" [e.g. 46 for 4.6]
+# echo $(call cc-ifversion, -lt, 46, GCC older than 4.6)
+# # Use -mcpu=cortex-a9 if supported, otherwise -mcpu=cortex-a8
+# echo $(call cc-option, -mcpu=cortex-a9, -mcpu=cortex-a8)
+# # Use -mcpu=cortex-a9 if supported, otherwise -mcpu=cortex-a8
+# # if supported, otherwise nothing
+# echo $(call cc-option, -mcpu=cortex-a9, $(call cc-option, -mcpu=cortex-a8))
+#
+
+# We have to do our own version of setting TARGET_CC because we can be
+# included before TARGET_CC is set, but we may want to use cc-option and
+# friends in the same file that sets TARGET_CC...
+
+ifeq ($(strip $(TARGET_TOOLS_PREFIX)),)
+LINARO_COMPILERCHECK_CC := prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc$(HOST_EXECUTABLE_SUFFIX)
+else
+LINARO_COMPILERCHECK_CC := $(TARGET_TOOLS_PREFIX)gcc$(HOST_EXECUTABLE_SUFFIX)
+endif
+
+try-run = $(shell set -e; \
+ if ($(1)) >/dev/null 2>&1; then \
+ echo "$(2)"; \
+ else \
+ echo "$(3)"; \
+ fi)
+
+cc-version = $(shell echo '__GNUC__ __GNUC_MINOR__' \
+ |$(LINARO_COMPILERCHECK_CC) -E -xc - |tail -n1 |sed -e 's, ,,g')
+
+cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
+
+cc-option = $(call try-run, echo -e "$(1)" \
+ |$(LINARO_COMPILERCHECK_CC) $(1) -c -xc /dev/null -o /dev/null,$(1),$(2))
diff --git a/core/main.mk b/core/main.mk
index 282d9c3f21..af902c534b 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -141,30 +141,32 @@ endif
# Check for the corrent jdk
ifneq ($(shell java -version 2>&1 | grep -i openjdk),)
-$(info ************************************************************)
-$(info You are attempting to build with an unsupported JDK.)
-$(info $(space))
-$(info You use OpenJDK but only Sun/Oracle JDK is supported.)
-$(info Please follow the machine setup instructions at)
-$(info $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
-$(info ************************************************************)
-$(error stop)
+$(warning ************************************************************)
+$(warning You are attempting to build with an unsupported JDK.)
+$(warning $(space))
+$(warning AOSP errors out when using OpenJDK, saying you need to use)
+$(warning Java SE 1.6 instead.)
+$(warning A build with OpenJDK seems to work fine though - if you)
+$(warning run into any Java errors, you may want to try using the)
+$(warning version required by AOSP though using instructions at)
+$(warning $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
+$(warning ************************************************************)
endif
# Check for the correct version of java
java_version := $(shell java -version 2>&1 | head -n 1 | grep '^java .*[ "]1\.6[\. "$$]')
ifeq ($(strip $(java_version)),)
-$(info ************************************************************)
-$(info You are attempting to build with the incorrect version)
-$(info of java.)
-$(info $(space))
-$(info Your version is: $(shell java -version 2>&1 | head -n 1).)
-$(info The correct version is: Java SE 1.6.)
-$(info $(space))
-$(info Please follow the machine setup instructions at)
-$(info $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
-$(info ************************************************************)
-$(error stop)
+$(warning ************************************************************)
+$(warning You are attempting to build with the incorrect version)
+$(warning of java.)
+$(warning $(space))
+$(warning Your version is: $(shell java -version 2>&1 | head -n 1).)
+$(warning The AOSP supported version is: Java SE 1.6.)
+$(warning $(space))
+$(warning Linaro builds with java version "1.7.0_09" seems to work fine though.)
+$(warning AOSP supported machine setup instructions are at)
+$(warning $(space)$(space)$(space)$(space)https://source.android.com/source/download.html)
+$(warning ************************************************************)
endif
# Check for the correct version of javac
@@ -599,6 +601,10 @@ ifdef FULL_BUILD
$(foreach p,$(product_FILES),$(info : $(p)))
$(error done)
endif
+ ifneq ($(TARGET_BOOTLOADER_TYPE),fastboot)
+ # We need (host) fs_get_stats for the boottarball target
+ subdirs += build/tools/fs_get_stats
+ endif
else
# We're not doing a full build, and are probably only including
# a subset of the module makefiles. Don't try to build any modules
diff --git a/target/board/Android.mk b/target/board/Android.mk
index 7d94ee0364..b95e34b5ba 100644
--- a/target/board/Android.mk
+++ b/target/board/Android.mk
@@ -15,11 +15,19 @@ else
endif # TARGET_NO_BOOTLOADER
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
- INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
+ ifeq ($(TARGET_BOOTLOADER_TYPE),uboot)
+ INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/uImage
+ else
+ INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/$(or $(INSTALLED_KERNEL_TARGET_NAME),kernel)
+ endif
else
INSTALLED_KERNEL_TARGET :=
endif
+ifeq ($(strip $(TARGET_HAS_DEVICETREE)),true)
+ INSTALLED_DTB_TARGET := $(PRODUCT_OUT)/boot/$(or $(INSTALLED_DTB_TARGET_NAME),board.dtb)
+endif
+
-include $(TARGET_DEVICE_DIR)/AndroidBoard.mk
# Generate a file that contains various information about the
diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk
index 35cbd2750f..eacfb4e882 100644
--- a/target/board/generic/BoardConfig.mk
+++ b/target/board/generic/BoardConfig.mk
@@ -19,7 +19,7 @@ TARGET_ARCH := arm
# 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_ARCH_VARIANT := armv7-a-neon
TARGET_CPU_VARIANT := generic
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
@@ -43,4 +43,6 @@ BUILD_EMULATOR_OPENGL := true
# Build and enable the OpenGL ES View renderer. When running on the emulator,
# the GLES renderer disables itself if host GL acceleration isn't available.
+
USE_OPENGL_RENDERER := true
+BUILD_KERNEL_MODULES := false
diff --git a/target/product/core.mk b/target/product/core.mk
index 93667fb296..706ab1ddea 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -75,6 +75,14 @@ PRODUCT_PACKAGES += \
telephony-common \
voip-common
+# linaro dependencies
+PRODUCT_PACKAGES += \
+ aib \
+ aibd \
+ busybox \
+ rz \
+ sz
+
# host-only dependencies
ifeq ($(WITH_HOST_DALVIK),true)
PRODUCT_PACKAGES += \
diff --git a/target/product/full_base_telephony.mk b/target/product/full_base_telephony.mk
index f98e9a2699..5ddb6d7656 100644
--- a/target/product/full_base_telephony.mk
+++ b/target/product/full_base_telephony.mk
@@ -24,7 +24,7 @@ PRODUCT_PACKAGES := \
PRODUCT_PROPERTY_OVERRIDES := \
keyguard.no_require_sim=true \
- ro.com.android.dataroaming=true
+ ro.com.android.dataroaming=false
PRODUCT_COPY_FILES := \
device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml