mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 15:03:34 +00:00
176 lines
7.4 KiB
Makefile
176 lines
7.4 KiB
Makefile
#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐
|
|
#── vi: set noet ft=make ts=8 sw=8 fenc=utf-8 :vi ────────────────────┘
|
|
|
|
PKGS += THIRD_PARTY_LIBCXXABI_TEST
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_A = o/$(MODE)/third_party/libcxxabi/test/test.a
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_HDRS = \
|
|
third_party/libcxxabi/libcxx/test/support/make_test_thread.hh \
|
|
third_party/libcxxabi/libcxx/test/support/test_macros.hh \
|
|
third_party/libcxxabi/test/support/timer.hh
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_SRCS = \
|
|
third_party/libcxxabi/test/catch_array_02.pass.cc \
|
|
third_party/libcxxabi/test/catch_class_01.pass.cc \
|
|
third_party/libcxxabi/test/catch_class_02.pass.cc \
|
|
third_party/libcxxabi/test/catch_class_03.pass.cc \
|
|
third_party/libcxxabi/test/catch_class_04.pass.cc \
|
|
third_party/libcxxabi/test/catch_const_pointer_nullptr.pass.cc \
|
|
third_party/libcxxabi/test/catch_function_02.pass.cc \
|
|
third_party/libcxxabi/test/catch_function_03.pass.cc \
|
|
third_party/libcxxabi/test/catch_in_noexcept.pass.cc \
|
|
third_party/libcxxabi/test/catch_member_data_pointer_01.pass.cc \
|
|
third_party/libcxxabi/test/catch_member_pointer_nullptr.pass.cc \
|
|
third_party/libcxxabi/test/catch_pointer_nullptr.pass.cc \
|
|
third_party/libcxxabi/test/catch_pointer_reference.pass.cc \
|
|
third_party/libcxxabi/test/catch_ptr.pass.cc \
|
|
third_party/libcxxabi/test/catch_ptr_02.pass.cc \
|
|
third_party/libcxxabi/test/catch_reference_nullptr.pass.cc \
|
|
third_party/libcxxabi/test/cxa_bad_cast.pass.cc \
|
|
third_party/libcxxabi/test/cxa_bad_typeid.pass.cc \
|
|
third_party/libcxxabi/test/cxa_thread_atexit_test.pass.cc \
|
|
third_party/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cc \
|
|
third_party/libcxxabi/test/dynamic_cast.pass.cc \
|
|
third_party/libcxxabi/test/dynamic_cast3.pass.cc \
|
|
third_party/libcxxabi/test/dynamic_cast5.pass.cc \
|
|
third_party/libcxxabi/test/dynamic_cast14.pass.cc \
|
|
third_party/libcxxabi/test/dynamic_cast_stress.pass.cc \
|
|
third_party/libcxxabi/test/exception_object_alignment.pass.cc \
|
|
third_party/libcxxabi/test/exception_object_alignment.2.pass.cc \
|
|
third_party/libcxxabi/test/guard_test_basic.pass.cc \
|
|
third_party/libcxxabi/test/incomplete_type.sh.cc \
|
|
third_party/libcxxabi/test/inherited_exception.pass.cc \
|
|
third_party/libcxxabi/test/test_aux_runtime.pass.cc \
|
|
third_party/libcxxabi/test/test_aux_runtime_op_array_new.pass.cc\
|
|
third_party/libcxxabi/test/test_demangle.pass.cc \
|
|
third_party/libcxxabi/test/test_exception_address_alignment.pass.cc \
|
|
third_party/libcxxabi/test/test_exception_storage.pass.cc \
|
|
third_party/libcxxabi/test/test_fallback_malloc.pass.cc \
|
|
third_party/libcxxabi/test/test_guard.pass.cc \
|
|
third_party/libcxxabi/test/test_vector1.pass.cc \
|
|
third_party/libcxxabi/test/test_vector2.pass.cc \
|
|
third_party/libcxxabi/test/thread_local_destruction_order.pass.cc \
|
|
third_party/libcxxabi/test/test_vector3.pass.cc \
|
|
third_party/libcxxabi/test/uncaught_exception.pass.cc \
|
|
third_party/libcxxabi/test/uncaught_exceptions.pass.cc \
|
|
third_party/libcxxabi/test/unittest_demangle.pass.cc \
|
|
third_party/libcxxabi/test/unwind_01.pass.cc \
|
|
third_party/libcxxabi/test/unwind_02.pass.cc \
|
|
third_party/libcxxabi/test/unwind_03.pass.cc \
|
|
third_party/libcxxabi/test/unwind_04.pass.cc \
|
|
third_party/libcxxabi/test/unwind_05.pass.cc \
|
|
third_party/libcxxabi/test/unwind_06.pass.cc
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_SRCS_TOOSLOW_COSMO = \
|
|
third_party/libcxxabi/test/guard_threaded_test.pass.cc \
|
|
third_party/libcxxabi/test/catch_multi_level_pointer.pass.cc
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_SRCS_FAILING_GCC = \
|
|
third_party/libcxxabi/test/catch_array_01.pass.cc \
|
|
third_party/libcxxabi/test/catch_function_01.pass.cc \
|
|
third_party/libcxxabi/test/catch_member_function_pointer_01.pass.cc \
|
|
third_party/libcxxabi/test/catch_member_function_pointer_02.pass.cc
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_COMS = \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_SRCS:%.cc=o/$(MODE)/%.com)
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_TESTS = \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_COMS:%=%.ok)
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_OBJS = \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_SRCS:%.cc=o/$(MODE)/%.o) \
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.one.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.two.o
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_OBJS_WNO_EXCEPTIONS = \
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_class_03.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_class_04.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_ptr.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_ptr_02.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/inherited_exception.pass.o
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_OBJS_CPP14 = \
|
|
o/$(MODE)/third_party/libcxxabi/test/unwind_02.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/unwind_03.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/unwind_04.pass.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/unwind_05.pass.o
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_BINS = \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_COMS) \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_COMS:%=%.dbg)
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_CHECKS = \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_COMS:%=%.runs) \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_HDRS:%=o/$(MODE)/%.ok)
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_DIRECTDEPS = \
|
|
LIBC_NEXGEN32E \
|
|
LIBC_LOG \
|
|
THIRD_PARTY_LIBCXX \
|
|
THIRD_PARTY_LIBCXXABI
|
|
|
|
THIRD_PARTY_LIBCXXABI_TEST_DEPS := \
|
|
$(call uniq,$(foreach x,$(THIRD_PARTY_LIBCXXABI_TEST_DIRECTDEPS),$($(x))))
|
|
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A): \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A).pkg
|
|
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A).pkg: \
|
|
$(foreach x,$(THIRD_PARTY_LIBCXXABI_TEST_DIRECTDEPS),$($(x)_A).pkg)
|
|
|
|
o/$(MODE)/third_party/libcxxabi/test/%.com.dbg: \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_DEPS) \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A) \
|
|
o/$(MODE)/third_party/libcxxabi/test/%.o \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A).pkg \
|
|
$(CRT) \
|
|
$(APE_NO_MODIFY_SELF)
|
|
@$(APELINK)
|
|
|
|
# TODO: Remove constinit hacks when we have C++20
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_OBJS): private \
|
|
CXXFLAGS += \
|
|
-fexceptions \
|
|
-frtti \
|
|
-D_LIBCXXABI_BUILDING_LIBRARY \
|
|
-D_LIBCPP_BUILDING_LIBRARY \
|
|
-D_LIBCPP_CONSTINIT=__constinit
|
|
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_OBJS_WNO_EXCEPTIONS): private \
|
|
CXXFLAGS += \
|
|
-Wno-exceptions
|
|
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_OBJS_CPP14): private \
|
|
CXXFLAGS += \
|
|
-std=gnu++14
|
|
|
|
o/$(MODE)/third_party/libcxxabi/test/guard_test_basic.pass.o: private \
|
|
CXXFLAGS += \
|
|
-Wno-invalid-memory-model
|
|
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.one.o: private \
|
|
CXXFLAGS += \
|
|
-Wno-unreachable-code
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.two.o: private \
|
|
CXXFLAGS += \
|
|
-Wno-unreachable-code \
|
|
-DTU_ONE
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.com.dbg: \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_DEPS) \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A) \
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.one.o \
|
|
o/$(MODE)/third_party/libcxxabi/test/incomplete_type.sh.two.o \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_A).pkg \
|
|
$(CRT) \
|
|
$(APE_NO_MODIFY_SELF)
|
|
@$(APELINK)
|
|
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_OBJS): private CONFIG_CPPFLAGS += -UNDEBUG
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_multi_level_pointer.pass.o: private COPTS += -O0
|
|
o/$(MODE)/third_party/libcxxabi/test/catch_multi_level_pointer.pass.o: private QUOTA += -C30 -M4000m
|
|
|
|
.PHONY: o/$(MODE)/third_party/libcxxabi/test
|
|
o/$(MODE)/third_party/libcxxabi/test: \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_BINS) \
|
|
$(THIRD_PARTY_LIBCXXABI_TEST_CHECKS)
|