87 lines
2.1 KiB
Makefile
87 lines
2.1 KiB
Makefile
LOCAL_PATH := $(call my-dir)
|
|
|
|
# Test -1: Throw in exec, catch in exec covered elsewhere
|
|
|
|
# Test 0: Throw in lib, catch in lib
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test0_foo
|
|
LOCAL_SRC_FILES := test0_foo.cpp
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := Lib_catching_lib_throwing
|
|
LOCAL_SRC_FILES := test0_main.cpp
|
|
LOCAL_SHARED_LIBRARIES := test0_foo
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
# Test 1: Throw in lib, catch in exec
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test1_foo
|
|
LOCAL_SRC_FILES := test1_foo.cpp
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := exec_catching_lib_throwing
|
|
LOCAL_SRC_FILES := test1_main.cpp
|
|
LOCAL_SHARED_LIBRARIES := test1_foo
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
# Test 2: Throw in exec, catch in lib
|
|
# Note: Symbol lookup from lib at exec fixed in bionic after android-14
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test2_foo
|
|
LOCAL_SRC_FILES := test2_foo.cpp
|
|
# This is required to rely on dynamic loader to resolve foo defined in exec
|
|
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := exec_throwing_lib_catching
|
|
LOCAL_SRC_FILES := test2_main.cpp
|
|
LOCAL_SHARED_LIBRARIES := test2_foo
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
#
|
|
# 3 libs cases
|
|
#
|
|
|
|
# Test 3: Throw in lib2, catch in exec
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test3_bar
|
|
LOCAL_SRC_FILES := test3_bar.cpp
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test3_foo
|
|
LOCAL_SRC_FILES := test3_foo.cpp
|
|
LOCAL_SHARED_LIBRARIES := test3_bar
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := exec_catching_lib2_throwing
|
|
LOCAL_SRC_FILES := test3_main.cpp
|
|
LOCAL_SHARED_LIBRARIES := test3_foo test3_bar
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
# Test 4: Throw in lib2, catch in lib1
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test4_bar
|
|
LOCAL_SRC_FILES := test4_bar.cpp
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := test4_foo
|
|
LOCAL_SRC_FILES := test4_foo.cpp
|
|
LOCAL_SHARED_LIBRARIES := test4_bar
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := Lib1_catching_lib2_throwing
|
|
LOCAL_SRC_FILES := test4_main.cpp
|
|
LOCAL_SHARED_LIBRARIES := test4_foo test4_bar
|
|
include $(BUILD_EXECUTABLE)
|
|
|