Android.mk revision fac061ffdea9dc61a3b7c53cb85a44594a4354ba
1# Copyright (C) 2012 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 15LOCAL_PATH := $(call my-dir) 16 17supported_platforms := linux-x86 darwin-x86 18cur_platform := $(filter $(HOST_OS)-$(HOST_ARCH),$(supported_platforms)) 19 20ifdef cur_platform 21 22# 23# host libdw 24# 25 26include $(CLEAR_VARS) 27 28LIBDW_SRC_FILES := \ 29 dwarf_abbrevhaschildren.c \ 30 dwarf_abbrev_hash.c \ 31 dwarf_addrdie.c \ 32 dwarf_arrayorder.c \ 33 dwarf_attr.c \ 34 dwarf_attr_integrate.c \ 35 dwarf_begin.c \ 36 dwarf_begin_elf.c \ 37 dwarf_bitoffset.c \ 38 dwarf_bitsize.c \ 39 dwarf_bytesize.c \ 40 dwarf_child.c \ 41 dwarf_cuoffset.c \ 42 dwarf_decl_column.c \ 43 dwarf_decl_file.c \ 44 dwarf_decl_line.c \ 45 dwarf_diecu.c \ 46 dwarf_diename.c \ 47 dwarf_dieoffset.c \ 48 dwarf_end.c \ 49 dwarf_entry_breakpoints.c \ 50 dwarf_entrypc.c \ 51 dwarf_error.c \ 52 dwarf_filesrc.c \ 53 dwarf_formaddr.c \ 54 dwarf_formblock.c \ 55 dwarf_formflag.c \ 56 dwarf_formref.c \ 57 dwarf_formref_die.c \ 58 dwarf_formsdata.c \ 59 dwarf_formstring.c \ 60 dwarf_formudata.c \ 61 dwarf_func_inline.c \ 62 dwarf_getabbrevattr.c \ 63 dwarf_getabbrev.c \ 64 dwarf_getabbrevcode.c \ 65 dwarf_getabbrevtag.c \ 66 dwarf_getarange_addr.c \ 67 dwarf_getarangeinfo.c \ 68 dwarf_getaranges.c \ 69 dwarf_getattrcnt.c \ 70 dwarf_getattrs.c \ 71 dwarf_getelf.c \ 72 dwarf_getfuncs.c \ 73 dwarf_getlocation.c \ 74 dwarf_getmacros.c \ 75 dwarf_getpubnames.c \ 76 dwarf_getscopes.c \ 77 dwarf_getscopes_die.c \ 78 dwarf_getscopevar.c \ 79 dwarf_getsrc_die.c \ 80 dwarf_getsrcdirs.c \ 81 dwarf_getsrc_file.c \ 82 dwarf_getsrcfiles.c \ 83 dwarf_getsrclines.c \ 84 dwarf_getstring.c \ 85 dwarf_hasattr.c \ 86 dwarf_hasattr_integrate.c \ 87 dwarf_haschildren.c \ 88 dwarf_hasform.c \ 89 dwarf_haspc.c \ 90 dwarf_highpc.c \ 91 dwarf_lineaddr.c \ 92 dwarf_linebeginstatement.c \ 93 dwarf_lineblock.c \ 94 dwarf_linecol.c \ 95 dwarf_lineendsequence.c \ 96 dwarf_lineepiloguebegin.c \ 97 dwarf_lineno.c \ 98 dwarf_lineprologueend.c \ 99 dwarf_linesrc.c \ 100 dwarf_lowpc.c \ 101 dwarf_macro_opcode.c \ 102 dwarf_macro_param1.c \ 103 dwarf_macro_param2.c \ 104 dwarf_nextcu.c \ 105 dwarf_offabbrev.c \ 106 dwarf_offdie.c \ 107 dwarf_onearange.c \ 108 dwarf_onesrcline.c \ 109 dwarf_ranges.c \ 110 dwarf_siblingof.c \ 111 dwarf_srclang.c \ 112 dwarf_tag.c \ 113 dwarf_whatattr.c \ 114 dwarf_whatform.c \ 115 libdw_alloc.c \ 116 libdw_findcu.c \ 117 libdw_form.c \ 118 libdw_visit_scopes.c \ 119 memory-access.c 120 121LOCAL_SRC_FILES := $(LIBDW_SRC_FILES) 122 123LOCAL_C_INCLUDES := \ 124 $(LOCAL_PATH)/.. \ 125 $(LOCAL_PATH)/../lib \ 126 $(LOCAL_PATH)/../libdw \ 127 $(LOCAL_PATH)/../libelf 128 129ifeq ($(HOST_OS),darwin) 130 LOCAL_CFLAGS += -fnested-functions 131endif 132 133LOCAL_C_INCLUDES += $(LOCAL_PATH)/../host-$(HOST_OS)-fixup 134 135LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE -DIS_LIBDW 136 137LOCAL_MODULE_TAGS := optional 138 139LOCAL_MODULE:= libdw 140 141include $(BUILD_HOST_STATIC_LIBRARY) 142 143# 144# target libdw 145# 146 147include $(CLEAR_VARS) 148 149LOCAL_SRC_FILES := $(LIBDW_SRC_FILES) 150 151# missing utility functions in bionic 152LOCAL_SRC_FILES += \ 153 ../bionic-fixup/getline.c \ 154 155LOCAL_C_INCLUDES := \ 156 $(LOCAL_PATH)/.. \ 157 $(LOCAL_PATH)/../lib \ 158 $(LOCAL_PATH)/../libdw \ 159 $(LOCAL_PATH)/../libelf 160 161LOCAL_C_INCLUDES += $(LOCAL_PATH)/../bionic-fixup 162 163LOCAL_CFLAGS += -include $(LOCAL_PATH)/../bionic-fixup/AndroidFixup.h 164 165LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -DIS_LIBDW -Werror 166 167# to suppress the "pointer of type ‘void *’ used in arithmetic" warning 168LOCAL_CFLAGS += -Wno-pointer-arith 169 170LOCAL_MODULE_TAGS := optional 171 172LOCAL_MODULE:= libdw 173 174include $(BUILD_STATIC_LIBRARY) 175 176endif #cur_platform 177