summaryrefslogtreecommitdiffstats
path: root/Android.mk
diff options
context:
space:
mode:
authortorne@chromium.org <torne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-05 14:50:00 +0000
committertorne@chromium.org <torne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-05 14:50:00 +0000
commitce0e15915b9ee6c01d210151af1e4669195d1da0 (patch)
tree9696b0ee05b16cfa69fa879cbf6db56a67343e40 /Android.mk
parentd480d0e4974707af2c9af65f08d1df54278e6609 (diff)
downloadchromium_src-ce0e15915b9ee6c01d210151af1e4669195d1da0.zip
chromium_src-ce0e15915b9ee6c01d210151af1e4669195d1da0.tar.gz
chromium_src-ce0e15915b9ee6c01d210151af1e4669195d1da0.tar.bz2
Android WebView: make use of host multilib support.
Set the gyp variables that control the use of the Android build system's host multilib support so that we can: 1) not break host multilib builds 2) correctly specify whether we want our host binaries to be build as 32 or 64 bit, fixing Mac host builds of V8 for 64-bit targets. BUG=358141 NOTRY=true R=mkosiba@chromium.org Review URL: https://codereview.chromium.org/305163002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275110 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk40
1 files changed, 36 insertions, 4 deletions
diff --git a/Android.mk b/Android.mk
index a4ce729..4871185 100644
--- a/Android.mk
+++ b/Android.mk
@@ -21,21 +21,53 @@ include $(CHROMIUM_DIR)/android_webview/Android.mk
# If the gyp-generated makefile exists for the current host OS and primary
# target architecture, we need to include it. If it doesn't exist then just do
# nothing, since we may not have finished bringing up this architecture yet.
+ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk))
+
# We set GYP_VAR_PREFIX to the empty string to indicate that we are building for
# the primary target architecture.
-ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk))
GYP_VAR_PREFIX :=
-include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk
+
+# If the host is declared as being 64-bit, set the host multilib variables
+# appropriately to ensure that the host targets are the same "bitness" as the
+# primary target, which is required by V8.
+ifeq ($(HOST_IS_64_BIT),true)
+ifeq ($(TARGET_IS_64_BIT),true)
+GYP_HOST_VAR_PREFIX :=
+GYP_HOST_MULTILIB := 64
+else # Target is 32-bit.
+GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
+GYP_HOST_MULTILIB := 32
endif
+endif
+
+include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk
+
+endif # End primary architecture handling.
# Do the same check for the secondary architecture; if this doesn't exist then
# the current target platform probably doesn't have a secondary architecture and
# we can just do nothing.
+ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk))
+
# We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are
# building for the secondary target architecture.
-ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk))
GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
-include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk
+
+# If the host is declared as being 64-bit, set the host multilib variables
+# appropriately to ensure that the host targets are the same "bitness" as the
+# secondary target, which is required by V8.
+ifeq ($(HOST_IS_64_BIT),true)
+ifeq ($(2ND_TARGET_IS_64_BIT),true)
+GYP_HOST_VAR_PREFIX :=
+GYP_HOST_MULTILIB := 64
+else # Second target is 32-bit.
+GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
+GYP_HOST_MULTILIB := 32
endif
+endif
+
+include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk
+
+endif # End secondary architecture handling.
endif