Home | History | Annotate | Download | only in valgrind
      1 # Copyright (C) 2014 The Android Open Source Project
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 
     15 ifeq ($(HOST_OS), linux)
     16 include $(CLEAR_VARS)
     17 
     18 ifeq ($(vg_build_second_arch),true)
     19   LOCAL_MULTILIB := 32
     20   vg_local_arch := x86
     21 else
     22   LOCAL_MULTILIB := first
     23   vg_local_arch := amd64
     24 endif
     25 
     26 # TODO: This workaround is to avoid calling memset from VG(memset)
     27 # wrapper because of invalid clang optimization; This seems to be
     28 # limited to amd64/x86 codegen(?);
     29 LOCAL_CLANG := false
     30 
     31 LOCAL_MODULE := $(vg_local_module)-$(vg_local_arch)-linux
     32 
     33 LOCAL_SRC_FILES := $(vg_local_src_files)
     34 
     35 LOCAL_C_INCLUDES := $(common_includes) $(vg_local_c_includes)
     36 
     37 LOCAL_CFLAGS := $(vg_local_cflags) $(vg_local_host_arch_cflags)
     38 
     39 LOCAL_ASFLAGS := $(common_cflags) $(vg_local_host_arch_cflags)
     40 
     41 LOCAL_LDFLAGS := $(vg_local_ldflags) -lpthread
     42 
     43 LOCAL_MODULE_CLASS := $(vg_local_module_class)
     44 
     45 LOCAL_STATIC_LIBRARIES := \
     46     $(foreach l,$(vg_local_static_libraries),$l-$(vg_local_arch)-linux)
     47 LOCAL_WHOLE_STATIC_LIBRARIES := \
     48     $(foreach l,$(vg_local_whole_static_libraries),$l-$(vg_local_arch)-linux)
     49 
     50 ifeq ($(vg_local_target),EXECUTABLE)
     51   LOCAL_FORCE_STATIC_EXECUTABLE := true
     52   LOCAL_NO_FPIE := true
     53 endif
     54 
     55 ifneq ($(vg_local_target),STATIC_LIBRARY)
     56   LOCAL_MODULE_PATH=$(HOST_OUT)/lib64/valgrind
     57 endif
     58 
     59 ifeq ($(vg_local_without_system_shared_libraries),true)
     60   LOCAL_SYSTEM_SHARED_LIBRARIES :=
     61   # for host 32 bit we need -static-libgcc
     62   LOCAL_LDFLAGS += -lgcc
     63 endif
     64 
     65 ifeq ($(vg_local_no_crt),true)
     66   LOCAL_NO_CRT := true
     67 endif
     68 
     69 LOCAL_CXX_STL := none
     70 LOCAL_SANITIZE := never
     71 
     72 include $(BUILD_HOST_$(vg_local_target))
     73 
     74 endif
     75