Home | History | Annotate | Download | only in build
      1 #
      2 # Copyright (C) 2011 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 ifndef ANDROID_COMMON_MK
     18 ANDROID_COMMON_MK = true
     19 
     20 ART_TARGET_SUPPORTED_ARCH := arm arm64 mips x86 x86_64
     21 ART_HOST_SUPPORTED_ARCH := x86 x86_64
     22 
     23 ifeq (,$(filter $(TARGET_ARCH),$(ART_TARGET_SUPPORTED_ARCH)))
     24 $(warning unsupported TARGET_ARCH=$(TARGET_ARCH))
     25 endif
     26 ifeq (,$(filter $(HOST_ARCH),$(ART_HOST_SUPPORTED_ARCH)))
     27 $(warning unsupported HOST_ARCH=$(HOST_ARCH))
     28 endif
     29 
     30 # Primary vs. secondary
     31 2ND_TARGET_ARCH := $(TARGET_2ND_ARCH)
     32 TARGET_INSTRUCTION_SET_FEATURES := $(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES)
     33 2ND_TARGET_INSTRUCTION_SET_FEATURES := $($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES)
     34 ifdef TARGET_2ND_ARCH
     35   ifneq ($(filter %64,$(TARGET_ARCH)),)
     36     ART_PHONY_TEST_TARGET_SUFFIX := 64
     37     2ND_ART_PHONY_TEST_TARGET_SUFFIX := 32
     38     ART_TARGET_ARCH_32 := $(TARGET_2ND_ARCH)
     39     ART_TARGET_ARCH_64 := $(TARGET_ARCH)
     40   else
     41     # TODO: ???
     42     $(error Do not know what to do with this multi-target configuration!)
     43   endif
     44 else
     45   ART_PHONY_TEST_TARGET_SUFFIX := 32
     46   2ND_ART_PHONY_TEST_TARGET_SUFFIX :=
     47   ART_TARGET_ARCH_32 := $(TARGET_ARCH)
     48   ART_TARGET_ARCH_64 :=
     49 endif
     50 
     51 ART_HOST_SHLIB_EXTENSION := $(HOST_SHLIB_SUFFIX)
     52 ART_HOST_SHLIB_EXTENSION ?= .so
     53 ifeq ($(HOST_PREFER_32_BIT),true)
     54   ART_PHONY_TEST_HOST_SUFFIX := 32
     55   2ND_ART_PHONY_TEST_HOST_SUFFIX :=
     56   ART_HOST_ARCH_32 := x86
     57   ART_HOST_ARCH_64 :=
     58   ART_HOST_ARCH := x86
     59   2ND_ART_HOST_ARCH :=
     60   2ND_HOST_ARCH :=
     61   ART_HOST_LIBRARY_PATH := $(HOST_LIBRARY_PATH)
     62   ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES)
     63   2ND_ART_HOST_OUT_SHARED_LIBRARIES :=
     64 else
     65   ART_PHONY_TEST_HOST_SUFFIX := 64
     66   2ND_ART_PHONY_TEST_HOST_SUFFIX := 32
     67   ART_HOST_ARCH_32 := x86
     68   ART_HOST_ARCH_64 := x86_64
     69   ART_HOST_ARCH := x86_64
     70   2ND_ART_HOST_ARCH := x86
     71   2ND_HOST_ARCH := x86
     72   ART_HOST_LIBRARY_PATH := $(HOST_LIBRARY_PATH)
     73   ART_HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT_SHARED_LIBRARIES)
     74   2ND_ART_HOST_OUT_SHARED_LIBRARIES := $(2ND_HOST_OUT_SHARED_LIBRARIES)
     75 endif
     76 
     77 endif # ANDROID_COMMON_MK
     78