Skip to content

Commit 8724efc

Browse files
committed
Add arm64 universal binary for Ruby 2.7 binary.
1 parent d4f2296 commit 8724efc

File tree

2 files changed

+134
-3
lines changed

2 files changed

+134
-3
lines changed

Hello World/SUEX_HelloWorld.xcodeproj/project.pbxproj

Lines changed: 120 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
33CDE7BA18270A4800F7C6E8 /* RubyUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33CDE7B718270A4800F7C6E8 /* RubyUtils.cpp */; };
1414
33CDE7BB18270A4800F7C6E8 /* RubyUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 33CDE7B818270A4800F7C6E8 /* RubyUtils.h */; };
1515
CE6B4470211DA18D006A1F2E /* Ruby.Framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE6B446F211DA18D006A1F2E /* Ruby.Framework */; };
16+
CEC02B4226C66FCE00934F5F /* SUEX_HelloWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33CDE7AF182705EB00F7C6E8 /* SUEX_HelloWorld.cpp */; };
17+
CEC02B4326C66FCE00934F5F /* RubyUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33CDE7B718270A4800F7C6E8 /* RubyUtils.cpp */; };
18+
CEC02B4726C66FCE00934F5F /* RubyLib.h in Headers */ = {isa = PBXBuildFile; fileRef = 33CDE7B618270A4800F7C6E8 /* RubyLib.h */; };
19+
CEC02B4826C66FCE00934F5F /* RubyUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 33CDE7B818270A4800F7C6E8 /* RubyUtils.h */; };
20+
CEC02B5726C66FF600934F5F /* Ruby.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC02B3F26C66FC100934F5F /* Ruby.framework */; };
1621
E939EB2221120EE20023B67B /* SUEX_HelloWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33CDE7AF182705EB00F7C6E8 /* SUEX_HelloWorld.cpp */; };
1722
E939EB2321120EE20023B67B /* RubyUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33CDE7B718270A4800F7C6E8 /* RubyUtils.cpp */; };
1823
E939EB2821120EE20023B67B /* RubyLib.h in Headers */ = {isa = PBXBuildFile; fileRef = 33CDE7B618270A4800F7C6E8 /* RubyLib.h */; };
@@ -39,6 +44,8 @@
3944
CE1590E61847A5A20084B06D /* Ruby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ruby.framework; path = ../ThirdParty/lib/mac/2.0/Ruby.framework; sourceTree = "<group>"; };
4045
CE1590E81847A5F10084B06D /* Ruby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ruby.framework; path = ../ThirdParty/lib/mac/1.8/Ruby.framework; sourceTree = "<group>"; };
4146
CE6B446F211DA18D006A1F2E /* Ruby.Framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Ruby.Framework; sourceTree = "<group>"; };
47+
CEC02B3F26C66FC100934F5F /* Ruby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ruby.framework; path = "../ThirdParty/lib/mac/2.7-universal/Ruby.framework"; sourceTree = "<group>"; };
48+
CEC02B4C26C66FCE00934F5F /* SUEX_HelloWorld.bundle */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = SUEX_HelloWorld.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
4249
E939EB2D21120EE20023B67B /* SUEX_HelloWorld.bundle */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = SUEX_HelloWorld.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
4350
E99766CB252CB0AD00B1D8E9 /* SUEX_HelloWorld.bundle */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = SUEX_HelloWorld.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
4451
E99766CD252CB1D500B1D8E9 /* Ruby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ruby.framework; path = ../ThirdParty/lib/mac/2.7/Ruby.framework; sourceTree = "<group>"; };
@@ -55,6 +62,14 @@
5562
);
5663
runOnlyForDeploymentPostprocessing = 0;
5764
};
65+
CEC02B4426C66FCE00934F5F /* Frameworks */ = {
66+
isa = PBXFrameworksBuildPhase;
67+
buildActionMask = 2147483647;
68+
files = (
69+
CEC02B5726C66FF600934F5F /* Ruby.framework in Frameworks */,
70+
);
71+
runOnlyForDeploymentPostprocessing = 0;
72+
};
5873
E939EB2421120EE20023B67B /* Frameworks */ = {
5974
isa = PBXFrameworksBuildPhase;
6075
buildActionMask = 2147483647;
@@ -100,13 +115,15 @@
100115
E9EA8AD21DAFC10D0029551B /* SUEX_HelloWorld.bundle */,
101116
E939EB2D21120EE20023B67B /* SUEX_HelloWorld.bundle */,
102117
E99766CB252CB0AD00B1D8E9 /* SUEX_HelloWorld.bundle */,
118+
CEC02B4C26C66FCE00934F5F /* SUEX_HelloWorld.bundle */,
103119
);
104120
name = Products;
105121
sourceTree = "<group>";
106122
};
107123
33CDE7B11827091E00F7C6E8 /* ThirdParty Frameworks */ = {
108124
isa = PBXGroup;
109125
children = (
126+
CEC02B3E26C66F9900934F5F /* Ruby 2.7 (Universal) */,
110127
E99766CC252CB17000B1D8E9 /* Ruby 2.7 */,
111128
E939EB2E211211400023B67B /* Ruby 2.5 */,
112129
E9EA8AD31DAFC23A0029551B /* Ruby 2.2 */,
@@ -143,6 +160,14 @@
143160
name = "Ruby 1.8";
144161
sourceTree = "<group>";
145162
};
163+
CEC02B3E26C66F9900934F5F /* Ruby 2.7 (Universal) */ = {
164+
isa = PBXGroup;
165+
children = (
166+
CEC02B3F26C66FC100934F5F /* Ruby.framework */,
167+
);
168+
name = "Ruby 2.7 (Universal)";
169+
sourceTree = "<group>";
170+
};
146171
E939EB2E211211400023B67B /* Ruby 2.5 */ = {
147172
isa = PBXGroup;
148173
children = (
@@ -180,6 +205,15 @@
180205
);
181206
runOnlyForDeploymentPostprocessing = 0;
182207
};
208+
CEC02B4626C66FCE00934F5F /* Headers */ = {
209+
isa = PBXHeadersBuildPhase;
210+
buildActionMask = 2147483647;
211+
files = (
212+
CEC02B4726C66FCE00934F5F /* RubyLib.h in Headers */,
213+
CEC02B4826C66FCE00934F5F /* RubyUtils.h in Headers */,
214+
);
215+
runOnlyForDeploymentPostprocessing = 0;
216+
};
183217
E939EB2721120EE20023B67B /* Headers */ = {
184218
isa = PBXHeadersBuildPhase;
185219
buildActionMask = 2147483647;
@@ -227,6 +261,23 @@
227261
productReference = 33CDE5E5182703B200F7C6E8 /* SUEX_HelloWorld.bundle */;
228262
productType = "com.apple.product-type.library.dynamic";
229263
};
264+
CEC02B4026C66FCE00934F5F /* Ruby 2.7 Universal */ = {
265+
isa = PBXNativeTarget;
266+
buildConfigurationList = CEC02B4926C66FCE00934F5F /* Build configuration list for PBXNativeTarget "Ruby 2.7 Universal" */;
267+
buildPhases = (
268+
CEC02B4126C66FCE00934F5F /* Sources */,
269+
CEC02B4426C66FCE00934F5F /* Frameworks */,
270+
CEC02B4626C66FCE00934F5F /* Headers */,
271+
);
272+
buildRules = (
273+
);
274+
dependencies = (
275+
);
276+
name = "Ruby 2.7 Universal";
277+
productName = "Hello World";
278+
productReference = CEC02B4C26C66FCE00934F5F /* SUEX_HelloWorld.bundle */;
279+
productType = "com.apple.product-type.library.dynamic";
280+
};
230281
E939EB2021120EE20023B67B /* Ruby 2.5 */ = {
231282
isa = PBXNativeTarget;
232283
buildConfigurationList = E939EB2A21120EE20023B67B /* Build configuration list for PBXNativeTarget "Ruby 2.5" */;
@@ -300,6 +351,7 @@
300351
projectDirPath = "";
301352
projectRoot = "";
302353
targets = (
354+
CEC02B4026C66FCE00934F5F /* Ruby 2.7 Universal */,
303355
E99766BF252CB0AD00B1D8E9 /* Ruby 2.7 */,
304356
E939EB2021120EE20023B67B /* Ruby 2.5 */,
305357
E9EA8AC61DAFC10D0029551B /* Ruby 2.2 */,
@@ -318,6 +370,15 @@
318370
);
319371
runOnlyForDeploymentPostprocessing = 0;
320372
};
373+
CEC02B4126C66FCE00934F5F /* Sources */ = {
374+
isa = PBXSourcesBuildPhase;
375+
buildActionMask = 2147483647;
376+
files = (
377+
CEC02B4226C66FCE00934F5F /* SUEX_HelloWorld.cpp in Sources */,
378+
CEC02B4326C66FCE00934F5F /* RubyUtils.cpp in Sources */,
379+
);
380+
runOnlyForDeploymentPostprocessing = 0;
381+
};
321382
E939EB2121120EE20023B67B /* Sources */ = {
322383
isa = PBXSourcesBuildPhase;
323384
buildActionMask = 2147483647;
@@ -395,10 +456,9 @@
395456
GCC_WARN_UNUSED_VARIABLE = YES;
396457
MACH_O_TYPE = mh_bundle;
397458
MACOSX_DEPLOYMENT_TARGET = 10.9;
398-
ONLY_ACTIVE_ARCH = YES;
399459
PRODUCT_NAME = SUEX_HelloWorld;
400460
SDKROOT = macosx;
401-
VALID_ARCHS = x86_64;
461+
VALID_ARCHS = "x86_64 arm64";
402462
};
403463
name = Debug;
404464
};
@@ -445,7 +505,7 @@
445505
MACOSX_DEPLOYMENT_TARGET = 10.9;
446506
PRODUCT_NAME = SUEX_HelloWorld;
447507
SDKROOT = macosx;
448-
VALID_ARCHS = x86_64;
508+
VALID_ARCHS = "x86_64 arm64";
449509
};
450510
name = Release;
451511
};
@@ -465,6 +525,7 @@
465525
../ThirdParty/include/ruby/2.0/mac,
466526
"../ThirdParty/include/ruby/2.0/mac/universal-darwin12.5.0",
467527
);
528+
VALID_ARCHS = x86_64;
468529
};
469530
name = Debug;
470531
};
@@ -484,6 +545,47 @@
484545
../ThirdParty/include/ruby/2.0/mac,
485546
"../ThirdParty/include/ruby/2.0/mac/universal-darwin12.5.0",
486547
);
548+
VALID_ARCHS = x86_64;
549+
};
550+
name = Release;
551+
};
552+
CEC02B4A26C66FCE00934F5F /* Debug */ = {
553+
isa = XCBuildConfiguration;
554+
buildSettings = {
555+
CLANG_ENABLE_OBJC_WEAK = YES;
556+
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../Debug (2.7-universal)";
557+
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/2.7-universal";
558+
DYLIB_COMPATIBILITY_VERSION = "";
559+
DYLIB_CURRENT_VERSION = "";
560+
FRAMEWORK_SEARCH_PATHS = (
561+
"$(inherited)",
562+
"\"$(SRCROOT)/../ThirdParty/lib/mac/2.7-universal\"",
563+
);
564+
HEADER_SEARCH_PATHS = (
565+
../ThirdParty/include/ruby/2.7/mac,
566+
"../ThirdParty/include/ruby/2.7/mac/x86_64-darwin14",
567+
);
568+
MACOSX_DEPLOYMENT_TARGET = 11.0;
569+
};
570+
name = Debug;
571+
};
572+
CEC02B4B26C66FCE00934F5F /* Release */ = {
573+
isa = XCBuildConfiguration;
574+
buildSettings = {
575+
CLANG_ENABLE_OBJC_WEAK = YES;
576+
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../Release (2.7-universal)";
577+
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/2.7-universal";
578+
DYLIB_COMPATIBILITY_VERSION = "";
579+
DYLIB_CURRENT_VERSION = "";
580+
FRAMEWORK_SEARCH_PATHS = (
581+
"$(inherited)",
582+
"\"$(SRCROOT)/../ThirdParty/lib/mac/2.7-universal\"",
583+
);
584+
HEADER_SEARCH_PATHS = (
585+
../ThirdParty/include/ruby/2.7/mac,
586+
"../ThirdParty/include/ruby/2.7/mac/x86_64-darwin14",
587+
);
588+
MACOSX_DEPLOYMENT_TARGET = 11.0;
487589
};
488590
name = Release;
489591
};
@@ -504,6 +606,7 @@
504606
"../ThirdParty/include/ruby/2.5/mac/x86_64-darwin14",
505607
);
506608
MACOSX_DEPLOYMENT_TARGET = 10.10;
609+
VALID_ARCHS = x86_64;
507610
};
508611
name = Debug;
509612
};
@@ -524,6 +627,7 @@
524627
"../ThirdParty/include/ruby/2.5/mac/x86_64-darwin14",
525628
);
526629
MACOSX_DEPLOYMENT_TARGET = 10.10;
630+
VALID_ARCHS = x86_64;
527631
};
528632
name = Release;
529633
};
@@ -544,6 +648,7 @@
544648
"../ThirdParty/include/ruby/2.7/mac/x86_64-darwin14",
545649
);
546650
MACOSX_DEPLOYMENT_TARGET = 10.13;
651+
VALID_ARCHS = x86_64;
547652
};
548653
name = Debug;
549654
};
@@ -564,6 +669,7 @@
564669
"../ThirdParty/include/ruby/2.7/mac/x86_64-darwin14",
565670
);
566671
MACOSX_DEPLOYMENT_TARGET = 10.13;
672+
VALID_ARCHS = x86_64;
567673
};
568674
name = Release;
569675
};
@@ -584,6 +690,7 @@
584690
"../ThirdParty/include/ruby/2.2/mac/x86_64-darwin14",
585691
);
586692
MACOSX_DEPLOYMENT_TARGET = 10.11;
693+
VALID_ARCHS = x86_64;
587694
};
588695
name = Debug;
589696
};
@@ -604,6 +711,7 @@
604711
"../ThirdParty/include/ruby/2.2/mac/x86_64-darwin14",
605712
);
606713
MACOSX_DEPLOYMENT_TARGET = 10.11;
714+
VALID_ARCHS = x86_64;
607715
};
608716
name = Release;
609717
};
@@ -628,6 +736,15 @@
628736
defaultConfigurationIsVisible = 0;
629737
defaultConfigurationName = Release;
630738
};
739+
CEC02B4926C66FCE00934F5F /* Build configuration list for PBXNativeTarget "Ruby 2.7 Universal" */ = {
740+
isa = XCConfigurationList;
741+
buildConfigurations = (
742+
CEC02B4A26C66FCE00934F5F /* Debug */,
743+
CEC02B4B26C66FCE00934F5F /* Release */,
744+
);
745+
defaultConfigurationIsVisible = 0;
746+
defaultConfigurationName = Release;
747+
};
631748
E939EB2A21120EE20023B67B /* Build configuration list for PBXNativeTarget "Ruby 2.5" */ = {
632749
isa = XCConfigurationList;
633750
buildConfigurations = (

Hello World/SUEX_HelloWorld.xcodeproj/xcshareddata/xcschemes/SUEX_HelloWorld.xcscheme

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,20 @@
6262
ReferencedContainer = "container:SUEX_HelloWorld.xcodeproj">
6363
</BuildableReference>
6464
</BuildActionEntry>
65+
<BuildActionEntry
66+
buildForTesting = "YES"
67+
buildForRunning = "YES"
68+
buildForProfiling = "YES"
69+
buildForArchiving = "YES"
70+
buildForAnalyzing = "YES">
71+
<BuildableReference
72+
BuildableIdentifier = "primary"
73+
BlueprintIdentifier = "CEC02B4026C66FCE00934F5F"
74+
BuildableName = "SUEX_HelloWorld.bundle"
75+
BlueprintName = "Ruby 2.7 Universal"
76+
ReferencedContainer = "container:SUEX_HelloWorld.xcodeproj">
77+
</BuildableReference>
78+
</BuildActionEntry>
6579
</BuildActionEntries>
6680
</BuildAction>
6781
<TestAction

0 commit comments

Comments
 (0)