mirror of
https://github.com/darlinghq/darling-libpthread.git
synced 2024-11-23 03:59:41 +00:00
131 lines
4.7 KiB
Makefile
131 lines
4.7 KiB
Makefile
PROJECT := libpthread
|
|
TEST_DIR := tests/
|
|
|
|
ENABLE_LTE_TESTS=YES
|
|
|
|
ifeq ($(DEVELOPER_DIR),)
|
|
DEVELOPER_DIR := $(shell xcode-select -p)
|
|
endif
|
|
|
|
include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.common
|
|
|
|
TARGETS :=
|
|
TARGETS += atfork
|
|
TARGETS += bsdthread_set_self
|
|
TARGETS += stack
|
|
TARGETS += stack_size
|
|
TARGETS += cond
|
|
#TARGETS += cond_hang3
|
|
#TARGETS += cond_stress
|
|
TARGETS += cond_timed
|
|
TARGETS += cond_prepost
|
|
TARGETS += custom_stack
|
|
TARGETS += stack_aslr
|
|
TARGETS += join
|
|
TARGETS += main_stack
|
|
TARGETS += main_stack_custom
|
|
TARGETS += detach
|
|
#TARGETS += maxwidth
|
|
TARGETS += mutex
|
|
TARGETS += mutex_prepost
|
|
TARGETS += mutex_try
|
|
TARGETS += once_cancel
|
|
TARGETS += pthread_attr_setstacksize
|
|
TARGETS += pthread_bulk_create
|
|
TARGETS += pthread_cancel
|
|
TARGETS += pthread_create_from_mach_thread
|
|
TARGETS += pthread_cwd
|
|
TARGETS += pthread_exit
|
|
TARGETS += pthread_introspection
|
|
TARGETS += pthread_setspecific
|
|
TARGETS += pthread_threadid_np
|
|
TARGETS += pthread_get_qos_class_np
|
|
TARGETS += pthread_dependency
|
|
#TARGETS += qos
|
|
TARGETS += rdar_32848402
|
|
#TARGETS += rwlock-22244050
|
|
#TARGETS += rwlock-signal
|
|
#TARGETS += rwlock
|
|
TARGETS += tsd
|
|
TARGETS += setrlimit_sigsegv
|
|
#TARGETS += wq_block_handoff
|
|
#TARGETS += wq_event_manager
|
|
#TARGETS += wq_kevent
|
|
#TARGETS += wq_kevent_stress
|
|
TARGETS += wq_limits
|
|
TARGETS += add_timer_termination
|
|
TARGETS += perf_contended_mutex_rwlock
|
|
|
|
ifeq ($(PLATFORM),MacOSX)
|
|
TARGETS += pthread_jit_write_protection
|
|
pthread_jit_write_protection: CODE_SIGN_ENTITLEMENTS=pthread_jit_write_protection-entitlements.plist
|
|
|
|
OTHER_TEST_TARGETS = pthread_jit_write_with_callback
|
|
|
|
pthread_jit_write_with_callback: pthread_jit_write_with_callback.c libpthreadjittest.notdylib
|
|
$(CC) $(DT_CFLAGS) $(OTHER_CFLAGS) $(CFLAGS) \
|
|
$(DT_LDFLAGS) $(OTHER_LDFLAGS) $(LDFLAGS) \
|
|
pthread_jit_write_with_callback.c $(SYMROOT)/assets/libpthreadjittest.notdylib \
|
|
-rpath @executable_path/assets \
|
|
-o $(SYMROOT)/$@
|
|
env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements pthread_jit_write_with_callback-entitlements.plist $(SYMROOT)/$@
|
|
endif
|
|
|
|
# this should be CUSTOM_TARGETS, see "Compatibility defines" in Makefile.targets
|
|
OTHER_TARGETS := stackoverflow_crash
|
|
ifeq ($(PLATFORM),MacOSX)
|
|
OTHER_TARGETS += pthread_jit_write_with_callback_tool libpthreadjittest.notdylib
|
|
endif
|
|
|
|
OTHER_LTE_INCLUDE_FILES += \
|
|
/usr/local/lib/libdarwintest_utils.dylib
|
|
|
|
OTHER_CFLAGS := -DDARWINTEST -Weverything \
|
|
-Wno-vla -Wno-bad-function-cast -Wno-missing-noreturn \
|
|
-Wno-missing-field-initializers -Wno-format-pedantic \
|
|
-Wno-gnu-folding-constant -Wno-used-but-marked-unused \
|
|
-Wno-padded
|
|
OTHER_LDFLAGS := -ldarwintest_utils
|
|
|
|
#TARGETS += main_stack_legacy // Disabled by default due to linker warnings
|
|
#main_stack_legacy: OTHER_LDFLAGS += -Wl,-stack_addr,0xc1000000 -Wl,-stack_size,0x0f00000
|
|
#main_stack_legacy: OTHER_CFLAGS += -DSTACKSIZE=0x0f00000
|
|
#main_stack_legacy: ARCH_FLAGS = -arch i386
|
|
#main_stack_legacy: DEPLOYMENT_TARGET_FLAGS = -mmacosx-version-min=10.7
|
|
|
|
main_stack_custom: OTHER_LDFLAGS += -Wl,-stack_size,0x124000
|
|
main_stack_custom: OTHER_CFLAGS += -DSTACKSIZE=0x124000
|
|
|
|
bsdthread_set_self: OTHER_CFLAGS += -D_DARWIN_FEATURE_CLOCK_GETTIME
|
|
|
|
include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets
|
|
|
|
stackoverflow_crash: helpers/stackoverflow_crash.c
|
|
mkdir -p $(SYMROOT)/assets/
|
|
$(CC) -o $(SYMROOT)/assets/$@ $(CFLAGS) -D_POSIX_C_SOURCE=1 $(OTHER_CFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS) $<
|
|
env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/assets/$@
|
|
|
|
install-stackoverflow_crash: stackoverflow_crash
|
|
mkdir -p $(INSTALLDIR)/assets
|
|
@cp $(SYMROOT)/assets/stackoverflow_crash $(INSTALLDIR)/assets
|
|
|
|
ifeq ($(PLATFORM),MacOSX)
|
|
pthread_jit_write_with_callback_tool: helpers/pthread_jit_write_with_callback_tool.c
|
|
mkdir -p $(SYMROOT)/assets/
|
|
$(CC) -o $(SYMROOT)/assets/$@ $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS) $<
|
|
env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none --entitlements pthread_jit_write_with_callback-entitlements.plist $(SYMROOT)/assets/pthread_jit_write_with_callback_tool
|
|
|
|
install-pthread_jit_write_with_callback_tool: pthread_jit_write_with_callback_tool
|
|
mkdir -p $(INSTALLDIR)/assets
|
|
@cp $(SYMROOT)/assets/pthread_jit_write_with_callback_tool $(INSTALLDIR)/assets
|
|
|
|
# .notdylib to dodge verifiers :)
|
|
libpthreadjittest.notdylib: helpers/libpthreadjittest.c
|
|
mkdir -p $(SYMROOT)/assets/
|
|
$(CC) -o $(SYMROOT)/assets/$@ -dynamiclib $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS) -install_name @rpath/libpthreadjittest.notdylib $<
|
|
|
|
install-libpthreadjittest.notdylib: libpthreadjittest.notdylib
|
|
mkdir -p $(INSTALLDIR)/assets
|
|
@cp $(SYMROOT)/assets/libpthreadjittest.notdylib $(INSTALLDIR)/assets
|
|
endif
|