Skip to content

Commit 3a738d1

Browse files
committed
Build: update Mac to xcode 15, fix build
1 parent ebc14f9 commit 3a738d1

File tree

6 files changed

+218
-9
lines changed

6 files changed

+218
-9
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Notes
2626
* Only Direct3D 9 style HLSL is supported. No Direct3D 10/11 "template like" syntax, no geometry/tesselation/compute shaders, no abstract interfaces.
2727
* Platform support:
2828
* Windows via Visual Studio 2022 (`hlslang.sln`).
29-
* Mac via Xcode 5 (`hlslang.xcodeproj`).
29+
* Mac via Xcode 15 (`hlslang.xcodeproj`).
3030
* Other platforms may or might not work. Some people have contributed CMake build scripts, but I am not maintaining them.
3131
* On Windows, the library is built with `_HAS_ITERATOR_DEBUGGING=0,_SECURE_SCL=0` defines, which affect MSVC's STL behavior. If this does not match defines in your application, _totally strange_ things can start to happen!
3232
* The library is not currently thread-safe.

hlslang.xcodeproj/project.pbxproj

Lines changed: 63 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 46;
6+
objectVersion = 54;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -304,7 +304,8 @@
304304
0867D690FE84028FC02AAC07 /* Project object */ = {
305305
isa = PBXProject;
306306
attributes = {
307-
LastUpgradeCheck = 0460;
307+
BuildIndependentTargetsInParallel = YES;
308+
LastUpgradeCheck = 1500;
308309
};
309310
buildConfigurationList = 1DEB916408733D950010E9CD /* Build configuration list for PBXProject "hlslang" */;
310311
compatibilityVersion = "Xcode 3.2";
@@ -341,10 +342,12 @@
341342
"$(SRCROOT)/hlslang/MachineIndependent/gen_hlslang.cpp",
342343
"$(SRCROOT)/hlslang/MachineIndependent/hlslang_tab.cpp",
343344
"$(SRCROOT)/hlslang/MachineIndependent/hlslang_tab.h",
345+
"$(SRCROOT)/hlslang/MachineIndependent/hlslang.output",
346+
"$(SRCROOT)/hlslang/MachineIndependent/hlslang_tab.hpp",
344347
);
345348
runOnlyForDeploymentPostprocessing = 0;
346349
shellPath = /bin/sh;
347-
shellScript = "cd hlslang/MachineIndependent\nflex -ogen_hlslang.cpp hlslang.l\nbison -o hlslang_tab.cpp -d -t -v hlslang.y\nmv hlslang_tab.hpp hlslang_tab.h";
350+
shellScript = "cd hlslang/MachineIndependent\nflex -ogen_hlslang.cpp hlslang.l\nbison -o hlslang_tab.cpp -d -t -v hlslang.y\nmv hlslang_tab.hpp hlslang_tab.h\n";
348351
};
349352
/* End PBXShellScriptBuildPhase section */
350353

@@ -391,16 +394,42 @@
391394
1DEB916508733D950010E9CD /* Debug */ = {
392395
isa = XCBuildConfiguration;
393396
buildSettings = {
397+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
398+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
399+
CLANG_WARN_BOOL_CONVERSION = YES;
400+
CLANG_WARN_COMMA = YES;
401+
CLANG_WARN_CONSTANT_CONVERSION = YES;
402+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
403+
CLANG_WARN_EMPTY_BODY = YES;
404+
CLANG_WARN_ENUM_CONVERSION = YES;
405+
CLANG_WARN_INFINITE_RECURSION = YES;
406+
CLANG_WARN_INT_CONVERSION = YES;
407+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
408+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
409+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
410+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
411+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
412+
CLANG_WARN_STRICT_PROTOTYPES = YES;
413+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
414+
CLANG_WARN_UNREACHABLE_CODE = YES;
415+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
416+
DEAD_CODE_STRIPPING = YES;
417+
ENABLE_STRICT_OBJC_MSGSEND = YES;
418+
ENABLE_TESTABILITY = YES;
419+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
394420
GCC_ENABLE_CPP_EXCEPTIONS = NO;
395421
GCC_ENABLE_CPP_RTTI = NO;
422+
GCC_NO_COMMON_BLOCKS = YES;
396423
GCC_OPTIMIZATION_LEVEL = 0;
424+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
397425
GCC_WARN_ABOUT_RETURN_TYPE = YES;
398426
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
427+
GCC_WARN_UNDECLARED_SELECTOR = YES;
399428
GCC_WARN_UNINITIALIZED_AUTOS = YES;
400429
GCC_WARN_UNUSED_FUNCTION = YES;
401430
GCC_WARN_UNUSED_LABEL = YES;
402431
GCC_WARN_UNUSED_VARIABLE = YES;
403-
MACOSX_DEPLOYMENT_TARGET = 10.7;
432+
MACOSX_DEPLOYMENT_TARGET = 11.0;
404433
OBJROOT = build;
405434
ONLY_ACTIVE_ARCH = YES;
406435
SYMROOT = lib/mac;
@@ -410,16 +439,41 @@
410439
1DEB916608733D950010E9CD /* Release */ = {
411440
isa = XCBuildConfiguration;
412441
buildSettings = {
442+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
443+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
444+
CLANG_WARN_BOOL_CONVERSION = YES;
445+
CLANG_WARN_COMMA = YES;
446+
CLANG_WARN_CONSTANT_CONVERSION = YES;
447+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
448+
CLANG_WARN_EMPTY_BODY = YES;
449+
CLANG_WARN_ENUM_CONVERSION = YES;
450+
CLANG_WARN_INFINITE_RECURSION = YES;
451+
CLANG_WARN_INT_CONVERSION = YES;
452+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
453+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
454+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
455+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
456+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
457+
CLANG_WARN_STRICT_PROTOTYPES = YES;
458+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
459+
CLANG_WARN_UNREACHABLE_CODE = YES;
460+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
461+
DEAD_CODE_STRIPPING = YES;
462+
ENABLE_STRICT_OBJC_MSGSEND = YES;
463+
ENABLE_USER_SCRIPT_SANDBOXING = YES;
413464
GCC_ENABLE_CPP_EXCEPTIONS = NO;
414465
GCC_ENABLE_CPP_RTTI = NO;
466+
GCC_NO_COMMON_BLOCKS = YES;
415467
GCC_OPTIMIZATION_LEVEL = 3;
468+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
416469
GCC_WARN_ABOUT_RETURN_TYPE = YES;
417470
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
471+
GCC_WARN_UNDECLARED_SELECTOR = YES;
418472
GCC_WARN_UNINITIALIZED_AUTOS = YES;
419473
GCC_WARN_UNUSED_FUNCTION = YES;
420474
GCC_WARN_UNUSED_LABEL = YES;
421475
GCC_WARN_UNUSED_VARIABLE = YES;
422-
MACOSX_DEPLOYMENT_TARGET = 10.7;
476+
MACOSX_DEPLOYMENT_TARGET = 11.0;
423477
OBJROOT = build;
424478
SYMROOT = lib/mac;
425479
};
@@ -429,8 +483,10 @@
429483
isa = XCBuildConfiguration;
430484
buildSettings = {
431485
ALWAYS_SEARCH_USER_PATHS = NO;
486+
CLANG_ENABLE_OBJC_WEAK = YES;
432487
COMBINE_HIDPI_IMAGES = YES;
433488
COPY_PHASE_STRIP = NO;
489+
DEAD_CODE_STRIPPING = YES;
434490
INSTALL_PATH = /usr/local/lib;
435491
PRODUCT_NAME = hlsl2glsl;
436492
};
@@ -440,8 +496,10 @@
440496
isa = XCBuildConfiguration;
441497
buildSettings = {
442498
ALWAYS_SEARCH_USER_PATHS = NO;
499+
CLANG_ENABLE_OBJC_WEAK = YES;
443500
COMBINE_HIDPI_IMAGES = YES;
444501
COPY_PHASE_STRIP = YES;
502+
DEAD_CODE_STRIPPING = YES;
445503
INSTALL_PATH = /usr/local/lib;
446504
PRODUCT_NAME = hlsl2glsl;
447505
};
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1500"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "2B951C981135194700DBAF46"
18+
BuildableName = "libhlsl2glsl.a"
19+
BlueprintName = "hlsl2glsl"
20+
ReferencedContainer = "container:hlslang.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
shouldAutocreateTestPlan = "YES">
31+
</TestAction>
32+
<LaunchAction
33+
buildConfiguration = "Debug"
34+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36+
launchStyle = "0"
37+
useCustomWorkingDirectory = "NO"
38+
ignoresPersistentStateOnLaunch = "NO"
39+
debugDocumentVersioning = "YES"
40+
debugServiceExtension = "internal"
41+
allowLocationSimulation = "YES">
42+
</LaunchAction>
43+
<ProfileAction
44+
buildConfiguration = "Release"
45+
shouldUseLaunchSchemeArgsEnv = "YES"
46+
savedToolIdentifier = ""
47+
useCustomWorkingDirectory = "NO"
48+
debugDocumentVersioning = "YES">
49+
<MacroExpansion>
50+
<BuildableReference
51+
BuildableIdentifier = "primary"
52+
BlueprintIdentifier = "2B951C981135194700DBAF46"
53+
BuildableName = "libhlsl2glsl.a"
54+
BlueprintName = "hlsl2glsl"
55+
ReferencedContainer = "container:hlslang.xcodeproj">
56+
</BuildableReference>
57+
</MacroExpansion>
58+
</ProfileAction>
59+
<AnalyzeAction
60+
buildConfiguration = "Debug">
61+
</AnalyzeAction>
62+
<ArchiveAction
63+
buildConfiguration = "Release"
64+
revealArchiveInOrganizer = "YES">
65+
</ArchiveAction>
66+
</Scheme>

tests/hlsl2glsltest/hlsl2glsltest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,9 @@ static bool InitializeOpenGL ()
284284
glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)wglGetProcAddress("glGetShaderInfoLog");
285285
glGetShaderiv = (PFNGLGETSHADERIVPROC)wglGetProcAddress("glGetShaderiv");
286286
}
287+
ReleaseDC(wnd, dc);
287288
#endif
288289

289-
ReleaseDC(wnd, dc);
290290
return hasGLSL;
291291
}
292292

tests/hlsl2glsltest/hlsl2glsltest.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@
213213
GCC_OPTIMIZATION_LEVEL = 0;
214214
GCC_WARN_ABOUT_RETURN_TYPE = YES;
215215
GCC_WARN_UNUSED_VARIABLE = YES;
216-
MACOSX_DEPLOYMENT_TARGET = 10.7;
216+
MACOSX_DEPLOYMENT_TARGET = 11.0;
217217
ONLY_ACTIVE_ARCH = YES;
218218
};
219219
name = Debug;
@@ -228,7 +228,7 @@
228228
GCC_OPTIMIZATION_LEVEL = 3;
229229
GCC_WARN_ABOUT_RETURN_TYPE = YES;
230230
GCC_WARN_UNUSED_VARIABLE = YES;
231-
MACOSX_DEPLOYMENT_TARGET = 10.7;
231+
MACOSX_DEPLOYMENT_TARGET = 11.0;
232232
};
233233
name = Release;
234234
};
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1500"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "8DD76F620486A84900D96B5E"
18+
BuildableName = "hlsl2glsltest"
19+
BlueprintName = "hlsl2glsltest"
20+
ReferencedContainer = "container:hlsl2glsltest.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
shouldAutocreateTestPlan = "YES">
31+
</TestAction>
32+
<LaunchAction
33+
buildConfiguration = "Debug"
34+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36+
launchStyle = "0"
37+
useCustomWorkingDirectory = "YES"
38+
customWorkingDirectory = "/Users/aras/code/aras/hlsl2glslfork"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES"
43+
viewDebuggingEnabled = "No">
44+
<BuildableProductRunnable
45+
runnableDebuggingMode = "0">
46+
<BuildableReference
47+
BuildableIdentifier = "primary"
48+
BlueprintIdentifier = "8DD76F620486A84900D96B5E"
49+
BuildableName = "hlsl2glsltest"
50+
BlueprintName = "hlsl2glsltest"
51+
ReferencedContainer = "container:hlsl2glsltest.xcodeproj">
52+
</BuildableReference>
53+
</BuildableProductRunnable>
54+
<CommandLineArguments>
55+
<CommandLineArgument
56+
argument = "tests"
57+
isEnabled = "YES">
58+
</CommandLineArgument>
59+
</CommandLineArguments>
60+
</LaunchAction>
61+
<ProfileAction
62+
buildConfiguration = "Release"
63+
shouldUseLaunchSchemeArgsEnv = "YES"
64+
savedToolIdentifier = ""
65+
useCustomWorkingDirectory = "NO"
66+
debugDocumentVersioning = "YES">
67+
<BuildableProductRunnable
68+
runnableDebuggingMode = "0">
69+
<BuildableReference
70+
BuildableIdentifier = "primary"
71+
BlueprintIdentifier = "8DD76F620486A84900D96B5E"
72+
BuildableName = "hlsl2glsltest"
73+
BlueprintName = "hlsl2glsltest"
74+
ReferencedContainer = "container:hlsl2glsltest.xcodeproj">
75+
</BuildableReference>
76+
</BuildableProductRunnable>
77+
</ProfileAction>
78+
<AnalyzeAction
79+
buildConfiguration = "Debug">
80+
</AnalyzeAction>
81+
<ArchiveAction
82+
buildConfiguration = "Release"
83+
revealArchiveInOrganizer = "YES">
84+
</ArchiveAction>
85+
</Scheme>

0 commit comments

Comments
 (0)