Files
android_development/ndk/sources/android/libportable/Android.mk
Pete Delaney 183963db80 [MIPS] Portable versions of setjmp, sigsetjmp, ...
The portable (ARM) jmp_buf and sigjmp_buf structures are smaller than the native
(MIPS) structures so it is not safe to simply call the standard bionic routines.

Luckily there is a lot of redundant space in the standard MIPS structures
and it is possible to save all of the needed registers in the area provided by the
ARM application.

Change-Id: I694a90516cdf96d581863e833776092830afe3cc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Pete Delaney <piet.delaney@imgtec.com>
Signed-off-by: Paul Lind <paul.lind@imgtec.com>
2013-02-20 20:07:33 -08:00

98 lines
2.4 KiB
Makefile

#
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
#=====================================================================
# Device Shared Library libportable
#=====================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libportable
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_CFLAGS := -I $(LOCAL_PATH)/common/include
# Uncomment the next line to easily enable Lib-Portable logging during development.
# LOCAL_CFLAGS += -DLOG_NDEBUG=0
ifeq ($(TARGET_ARCH),mips)
libportable_arch_src_files += \
arch-mips/clone.c \
arch-mips/epoll.c \
arch-mips/errno.c \
arch-mips/eventfd.c \
arch-mips/fcntl.c \
arch-mips/filefd.c \
arch-mips/flags.c \
arch-mips/inotify.c \
arch-mips/ioctl.c \
arch-mips/mmap.c \
arch-mips/open.c \
arch-mips/poll.c \
arch-mips/pipe.c \
arch-mips/pthread.c \
arch-mips/resource.c \
arch-mips/signal.c \
arch-mips/socket.c \
arch-mips/sockopt.c \
arch-mips/stat.c \
arch-mips/statfs.c \
arch-mips/syscall.c \
arch-mips/timer.c \
arch-mips/timerfd.c \
arch-mips/waitpid.c
libportable_arch_src_files += \
arch-mips/_setjmp.S \
arch-mips/setjmp.S \
arch-mips/sigsetjmp.S
endif
ifeq ($(TARGET_ARCH),arm)
libportable_arch_src_files += \
arch-arm/epoll.c \
arch-arm/errno.c \
arch-arm/socket.c \
arch-arm/sockopt.c \
arch-arm/stat.c
endif
ifeq ($(TARGET_ARCH),x86)
libportable_arch_src_files += \
arch-x86/epoll.c \
arch-x86/errno.c \
arch-x86/fcntl.c \
arch-x86/ioctl.c \
arch-x86/open.c \
arch-x86/socket.c \
arch-x86/sockopt.c \
arch-x86/stat.c
endif
LOCAL_SRC_FILES := \
$(libportable_common_src_files) \
$(libportable_arch_src_files)
LOCAL_WHOLE_STATIC_LIBRARIES += cpufeatures
LOCAL_SHARED_LIBRARIES += liblog
include $(BUILD_SHARED_LIBRARY)