From 4e91b08bc3838d6a1cf532398d8ef6ebdd78ff63 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Thu, 13 Apr 2023 21:01:06 -0400 Subject: [PATCH 1/5] Use relative path for bundles (prevents absolute LC_ID_DYLIB) --- makefiles/instance/bundle.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/makefiles/instance/bundle.mk b/makefiles/instance/bundle.mk index 3afb4275f4..267222b82f 100644 --- a/makefiles/instance/bundle.mk +++ b/makefiles/instance/bundle.mk @@ -4,10 +4,6 @@ endif .PHONY: internal-bundle-all_ internal-bundle-stage_ internal-bundle-compile -ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) -_THEOS_INTERNAL_LDFLAGS += -dynamiclib -endif - # Bundle Setup LOCAL_BUNDLE_NAME = $(or $($(THEOS_CURRENT_INSTANCE)_BUNDLE_NAME),$(THEOS_CURRENT_INSTANCE)) LOCAL_BUNDLE_EXTENSION = $(or $($(THEOS_CURRENT_INSTANCE)_BUNDLE_EXTENSION),bundle) @@ -17,6 +13,10 @@ _THEOS_SHARED_BUNDLE_BUILD_PATH = $(THEOS_OBJ_DIR)/$(_LOCAL_BUNDLE_FULL_NAME) _THEOS_SHARED_BUNDLE_STAGE_PATH = $(THEOS_STAGING_DIR)$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_BUNDLE_FULL_NAME) _LOCAL_INSTANCE_TARGET := $(_LOCAL_BUNDLE_FULL_NAME)$(_THEOS_TARGET_BUNDLE_BINARY_SUBDIRECTORY)/$(THEOS_CURRENT_INSTANCE)$(TARGET_EXE_EXT) include $(THEOS_MAKE_PATH)/instance/shared/bundle.mk + +ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) +_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "@rpath/$(_LOCAL_INSTANCE_TARGET)" +endif # End Bundle Setup ifeq ($(_THEOS_MAKE_PARALLEL_BUILDING), no) From 2a9c700e6b23f2f1562480d4d791e7cb795a73c5 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Thu, 20 Apr 2023 20:59:43 -0400 Subject: [PATCH 2/5] Add @rpath only if building for supported ver --- makefiles/instance/bundle.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/makefiles/instance/bundle.mk b/makefiles/instance/bundle.mk index 267222b82f..a402776274 100644 --- a/makefiles/instance/bundle.mk +++ b/makefiles/instance/bundle.mk @@ -15,7 +15,10 @@ _LOCAL_INSTANCE_TARGET := $(_LOCAL_BUNDLE_FULL_NAME)$(_THEOS_TARGET_BUNDLE_BINAR include $(THEOS_MAKE_PATH)/instance/shared/bundle.mk ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) -_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "@rpath/$(_LOCAL_INSTANCE_TARGET)" +_THEOS_INTERNAL_LDFLAGS += -dynamiclib +ifeq ($(_TARGET_VERSION_GE_8_4),1) +_THEOS_INTERNAL_LDFLAGS += -install_name "@rpath/$(_LOCAL_INSTANCE_TARGET)" +endif endif # End Bundle Setup From dc80e33dfbdf9b45bab3c828fea9332dc0a0a727 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Tue, 7 Nov 2023 20:51:29 -0500 Subject: [PATCH 3/5] Use full bundle path instead of @rpath --- makefiles/instance/bundle.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/makefiles/instance/bundle.mk b/makefiles/instance/bundle.mk index a402776274..9c95d99f93 100644 --- a/makefiles/instance/bundle.mk +++ b/makefiles/instance/bundle.mk @@ -15,10 +15,7 @@ _LOCAL_INSTANCE_TARGET := $(_LOCAL_BUNDLE_FULL_NAME)$(_THEOS_TARGET_BUNDLE_BINAR include $(THEOS_MAKE_PATH)/instance/shared/bundle.mk ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) -_THEOS_INTERNAL_LDFLAGS += -dynamiclib -ifeq ($(_TARGET_VERSION_GE_8_4),1) -_THEOS_INTERNAL_LDFLAGS += -install_name "@rpath/$(_LOCAL_INSTANCE_TARGET)" -endif +_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "$(THEOS_PACKAGE_INSTALL_PREFIX)$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_INSTANCE_TARGET)" endif # End Bundle Setup From a8eb4d54de5fa3efa24829443f2fc929b0d6713c Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 6 Dec 2023 13:46:09 -0500 Subject: [PATCH 4/5] Don't include package install prefix in install name as handled by scheme --- makefiles/instance/bundle.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makefiles/instance/bundle.mk b/makefiles/instance/bundle.mk index 9c95d99f93..30229fb876 100644 --- a/makefiles/instance/bundle.mk +++ b/makefiles/instance/bundle.mk @@ -15,7 +15,7 @@ _LOCAL_INSTANCE_TARGET := $(_LOCAL_BUNDLE_FULL_NAME)$(_THEOS_TARGET_BUNDLE_BINAR include $(THEOS_MAKE_PATH)/instance/shared/bundle.mk ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) -_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "$(THEOS_PACKAGE_INSTALL_PREFIX)$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_INSTANCE_TARGET)" +_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_INSTANCE_TARGET)" endif # End Bundle Setup From 0ff379c98740900bcb496e639c92a7bf3d418562 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Thu, 7 Dec 2023 20:43:16 -0500 Subject: [PATCH 5/5] Revert "Don't include package install prefix in install name as handled by scheme" This reverts commit a8eb4d54de5fa3efa24829443f2fc929b0d6713c. --- makefiles/instance/bundle.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makefiles/instance/bundle.mk b/makefiles/instance/bundle.mk index 30229fb876..9c95d99f93 100644 --- a/makefiles/instance/bundle.mk +++ b/makefiles/instance/bundle.mk @@ -15,7 +15,7 @@ _LOCAL_INSTANCE_TARGET := $(_LOCAL_BUNDLE_FULL_NAME)$(_THEOS_TARGET_BUNDLE_BINAR include $(THEOS_MAKE_PATH)/instance/shared/bundle.mk ifeq ($(call __theos_bool,$(or $($(THEOS_CURRENT_INSTANCE)_DYNAMIC_LIBRARY),$(_THEOS_TRUE))),$(_THEOS_TRUE)) -_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_INSTANCE_TARGET)" +_THEOS_INTERNAL_LDFLAGS += -dynamiclib -install_name "$(THEOS_PACKAGE_INSTALL_PREFIX)$($(THEOS_CURRENT_INSTANCE)_INSTALL_PATH)/$(_LOCAL_INSTANCE_TARGET)" endif # End Bundle Setup