1# Copyright 2007 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# The libffi code is organized primarily by architecture, but at some
16# point OS-specific issues started to creep in. In some cases there
17# are OS-specific source files, in others there are just #ifdefs in
18# the code. We need to generate the appropriate defines and select the
19# right set of source files for the OS and architecture.
20
21LOCAL_C_INCLUDES := \
22	external/libffi/include \
23	external/libffi/$(ffi_os)-$(ffi_arch)
24
25ifeq ($(ffi_os)-$(ffi_arch),linux-arm)
26  LOCAL_SRC_FILES := src/arm/sysv.S src/arm/ffi.c
27endif
28
29ifeq ($(ffi_os)-$(ffi_arch),linux-x86)
30  LOCAL_SRC_FILES := src/x86/ffi.c src/x86/sysv.S
31endif
32
33ifeq ($(ffi_os)-$(ffi_arch),linux-sh)
34  LOCAL_SRC_FILES := src/sh/ffi.c src/sh/sysv.S
35endif
36
37ifeq ($(ffi_os)-$(ffi_arch),darwin-x86)
38  LOCAL_SRC_FILES := src/x86/ffi.c src/x86/darwin.S
39endif
40
41ifeq ($(LOCAL_SRC_FILES),)
42  $(info The os/architecture $(ffi_os)-$(ffi_arch) is not supported by libffi.)
43  LOCAL_SRC_FILES := your-architecture-not-supported-by-ffi-makefile.c
44endif
45
46LOCAL_SRC_FILES += \
47	src/debug.c \
48	src/java_raw_api.c \
49	src/prep_cif.c \
50        src/raw_api.c \
51	src/types.c
52