Mac: Speculative fix for tracking area crashes
[chromium-blink-merge.git] / Android.mk
blob6249a1c1b3863d5b963b3216e3a06d907925d95e
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # This Android makefile is used to build WebView in the Android build system.
6 # gyp autogenerates most of the real makefiles, which we include below.
8 LOCAL_PATH := $(call my-dir)
9 CHROMIUM_DIR := $(LOCAL_PATH)
11 # We default to release for the Android build system. Developers working on
12 # WebView code can build with "make GYP_CONFIGURATION=Debug".
13 GYP_CONFIGURATION := Release
15 # If the product is using a prebuilt libwebviewchromium then we need to skip
16 # including most of the makefiles to avoid duplicate target definitions. Some
17 # targets are still needed, so list their makefiles explicitly.
18 ifeq ($(PRODUCT_PREBUILT_WEBVIEWCHROMIUM),yes)
19 GYP_MAKEFILE_STEMS := \
20 $(addprefix $(CHROMIUM_DIR)/v8/tools/gyp/, \
21 generate_trig_table.host \
22 js2c.host \
23 mksnapshot.host \
24 v8_base.host \
25 v8_libbase.host \
26 v8_nosnapshot.host \
27 v8_base.target \
28 v8_libbase.target \
29 v8_snapshot.target \
30 ) \
31 $(addprefix $(CHROMIUM_DIR)/third_party/icu/, \
32 icudata.host \
33 icui18n.host \
34 icuuc.host \
35 icui18n.target \
36 icuuc.target \
37 system_icu.target \
39 else
40 # Not using a prebuilt; include the manually-written makefile that builds all
41 # the WebView java code, and use the main autogenerated makefile.
42 include $(CHROMIUM_DIR)/android_webview/Android.mk
43 GYP_MAKEFILE_STEMS := $(CHROMIUM_DIR)/GypAndroid
44 endif
46 # If the gyp-generated makefile exists for the current host OS and primary
47 # target architecture, we need to include it. If it doesn't exist then just do
48 # nothing, since we may not have finished bringing up this architecture yet.
49 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk))
51 # We set GYP_VAR_PREFIX to the empty string to indicate that we are building for
52 # the primary target architecture.
53 GYP_VAR_PREFIX :=
55 # If the host is declared as being 64-bit, set the host multilib variables
56 # appropriately to ensure that the host targets are the same "bitness" as the
57 # primary target, which is required by V8.
58 ifeq ($(HOST_IS_64_BIT),true)
59 ifeq ($(TARGET_IS_64_BIT),true)
60 GYP_HOST_VAR_PREFIX :=
61 GYP_HOST_MULTILIB := 64
62 else # Target is 32-bit.
63 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
64 GYP_HOST_MULTILIB := 32
65 endif
66 endif
68 # Include the appropriate version of each of the makefiles.
69 include $(addsuffix .$(HOST_OS)-$(TARGET_ARCH).mk,$(GYP_MAKEFILE_STEMS))
71 endif # End primary architecture handling.
73 # Do the same check for the secondary architecture; if this doesn't exist then
74 # the current target platform probably doesn't have a secondary architecture and
75 # we can just do nothing.
76 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk))
78 # We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are
79 # building for the secondary target architecture.
80 GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
82 # If the host is declared as being 64-bit, set the host multilib variables
83 # appropriately to ensure that the host targets are the same "bitness" as the
84 # secondary target, which is required by V8.
85 ifeq ($(HOST_IS_64_BIT),true)
86 ifeq ($(2ND_TARGET_IS_64_BIT),true)
87 GYP_HOST_VAR_PREFIX :=
88 GYP_HOST_MULTILIB := 64
89 else # Second target is 32-bit.
90 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX)
91 GYP_HOST_MULTILIB := 32
92 endif
93 endif
95 # Include the appropriate version of each of the makefiles.
96 include $(addsuffix .$(HOST_OS)-$(TARGET_2ND_ARCH).mk,$(GYP_MAKEFILE_STEMS))
98 endif # End secondary architecture handling.