diff --git a/Tests/base/NSBundle/GNUmakefile.preamble b/Tests/base/NSBundle/GNUmakefile.preamble index 595edec2f..8a8962afd 100644 --- a/Tests/base/NSBundle/GNUmakefile.preamble +++ b/Tests/base/NSBundle/GNUmakefile.preamble @@ -1,7 +1,7 @@ ADDITIONAL_INCLUDE_DIRS += -I../GenericTests/ -I../../.. ADDITIONAL_OBJCFLAGS += -Wall - +resources2_LDFLAGS += -Wl,-rpath -Wl,$(CURDIR)/Resources/TestFramework.framework/Versions/Current/$(GNUSTEP_TARGET_LDIR) resources2_LIB_DIRS += -L./Resources/TestFramework.framework/$(GNUSTEP_TARGET_LDIR) resources2_TOOL_LIBS += -lTestFramework diff --git a/Tests/base/NSBundle/resources2.m b/Tests/base/NSBundle/resources2.m index be38566cf..04fe010af 100644 --- a/Tests/base/NSBundle/resources2.m +++ b/Tests/base/NSBundle/resources2.m @@ -10,6 +10,8 @@ - (NSString*)test; @end +@interface TestFramework: NSObject +@end static void _testBundle(NSBundle* bundle, NSString* path, NSString* className) { @@ -101,6 +103,10 @@ int main() END_SET("Bundle") START_SET("Framework") + /* This method call is required to ensure that the linker does not decide to + * elide the framework linkage. + */ + [TestFramework class]; bundle = [NSBundle bundleForClass: NSClassFromString(@"TestFramework")]; path = [bundle bundlePath]; _testBundle(bundle, path, @"TestFramework");