Skip to content

Commit 2a07135

Browse files
committed
macosx: Pass compiler optimization level to Xcode.
Fixes HandBrake#2719.
1 parent ed8b3a3 commit 2a07135

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

macosx/HandBrake.xcodeproj/project.pbxproj

+8-8
Original file line numberDiff line numberDiff line change
@@ -2567,11 +2567,12 @@
25672567
EXTERNAL_BUILD = "$(CONFIGURATION_BUILD_DIR)/external";
25682568
EXTERNAL_DRIVER = xcode;
25692569
EXTERNAL_JOBS = auto;
2570+
EXTERNAL_O = 0;
25702571
EXTERNAL_SRC = ..;
25712572
GCC_C_LANGUAGE_STANDARD = gnu99;
25722573
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
25732574
GCC_NO_COMMON_BLOCKS = YES;
2574-
GCC_OPTIMIZATION_LEVEL = 0;
2575+
GCC_OPTIMIZATION_LEVEL = "$(EXTERNAL_O)";
25752576
GCC_PREPROCESSOR_DEFINITIONS = (
25762577
"DEBUG=1",
25772578
"$(inherited)",
@@ -2651,10 +2652,12 @@
26512652
EXTERNAL_BUILD = "$(CONFIGURATION_BUILD_DIR)/external";
26522653
EXTERNAL_DRIVER = xcode;
26532654
EXTERNAL_JOBS = auto;
2655+
EXTERNAL_O = s;
26542656
EXTERNAL_SRC = ..;
26552657
GCC_C_LANGUAGE_STANDARD = gnu99;
26562658
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
26572659
GCC_NO_COMMON_BLOCKS = YES;
2660+
GCC_OPTIMIZATION_LEVEL = "$(EXTERNAL_O)";
26582661
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
26592662
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
26602663
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
@@ -2874,7 +2877,6 @@
28742877
GCC_C_LANGUAGE_STANDARD = gnu11;
28752878
GCC_DYNAMIC_NO_PIC = NO;
28762879
GCC_NO_COMMON_BLOCKS = YES;
2877-
GCC_OPTIMIZATION_LEVEL = 0;
28782880
GCC_PREPROCESSOR_DEFINITIONS = (
28792881
"DEBUG=1",
28802882
"$(inherited)",
@@ -2940,7 +2942,6 @@
29402942
GCC_C_LANGUAGE_STANDARD = gnu11;
29412943
GCC_DYNAMIC_NO_PIC = NO;
29422944
GCC_NO_COMMON_BLOCKS = YES;
2943-
GCC_OPTIMIZATION_LEVEL = 0;
29442945
GCC_PREPROCESSOR_DEFINITIONS = (
29452946
"DEBUG=1",
29462947
"$(inherited)",
@@ -3146,7 +3147,6 @@
31463147
GCC_C_LANGUAGE_STANDARD = gnu99;
31473148
GCC_DYNAMIC_NO_PIC = NO;
31483149
GCC_NO_COMMON_BLOCKS = YES;
3149-
GCC_OPTIMIZATION_LEVEL = 0;
31503150
GCC_PREPROCESSOR_DEFINITIONS = (
31513151
"DEBUG=1",
31523152
"$(inherited)",
@@ -3270,7 +3270,6 @@
32703270
GCC_C_LANGUAGE_STANDARD = gnu99;
32713271
GCC_DYNAMIC_NO_PIC = NO;
32723272
GCC_NO_COMMON_BLOCKS = YES;
3273-
GCC_OPTIMIZATION_LEVEL = 0;
32743273
GCC_PREPROCESSOR_DEFINITIONS = (
32753274
"DEBUG=1",
32763275
"$(inherited)",
@@ -3389,11 +3388,12 @@
33893388
EXTERNAL_BUILD = "$(CONFIGURATION_BUILD_DIR)/external";
33903389
EXTERNAL_DRIVER = xcode;
33913390
EXTERNAL_JOBS = auto;
3391+
EXTERNAL_O = 0;
33923392
EXTERNAL_SRC = ..;
33933393
GCC_C_LANGUAGE_STANDARD = gnu99;
33943394
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
33953395
GCC_NO_COMMON_BLOCKS = YES;
3396-
GCC_OPTIMIZATION_LEVEL = 0;
3396+
GCC_OPTIMIZATION_LEVEL = "$(EXTERNAL_O)";
33973397
GCC_PREPROCESSOR_DEFINITIONS = (
33983398
"DEBUG=1",
33993399
"$(inherited)",
@@ -3498,7 +3498,6 @@
34983498
GCC_C_LANGUAGE_STANDARD = gnu99;
34993499
GCC_DYNAMIC_NO_PIC = NO;
35003500
GCC_NO_COMMON_BLOCKS = YES;
3501-
GCC_OPTIMIZATION_LEVEL = 0;
35023501
GCC_PREPROCESSOR_DEFINITIONS = (
35033502
"DEBUG=1",
35043503
"$(inherited)",
@@ -3561,7 +3560,6 @@
35613560
GCC_C_LANGUAGE_STANDARD = gnu99;
35623561
GCC_DYNAMIC_NO_PIC = NO;
35633562
GCC_NO_COMMON_BLOCKS = YES;
3564-
GCC_OPTIMIZATION_LEVEL = 0;
35653563
GCC_PREPROCESSOR_DEFINITIONS = (
35663564
"DEBUG=1",
35673565
"$(inherited)",
@@ -3669,10 +3667,12 @@
36693667
EXTERNAL_BUILD = "$(CONFIGURATION_BUILD_DIR)/external";
36703668
EXTERNAL_DRIVER = xcode;
36713669
EXTERNAL_JOBS = auto;
3670+
EXTERNAL_O = s;
36723671
EXTERNAL_SRC = ..;
36733672
GCC_C_LANGUAGE_STANDARD = gnu99;
36743673
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
36753674
GCC_NO_COMMON_BLOCKS = YES;
3675+
GCC_OPTIMIZATION_LEVEL = "$(EXTERNAL_O)";
36763676
GCC_PREPROCESSOR_DEFINITIONS = "__SANDBOX_ENABLED__=1";
36773677
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
36783678
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;

macosx/module.defs

+8
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ MACOSX.map.g.min = debug
3333
MACOSX.map.g.std = debug
3434
MACOSX.map.g.max = debug
3535

36+
## mapping from symbolic optimization value to actual level
37+
MACOSX.map.O.none = 0
38+
MACOSX.map.O.size = s
39+
MACOSX.map.O.size-aggressive = z
40+
MACOSX.map.O.speed = 3
41+
3642
## xcconfig: must be one of macosx/xcconfig/*.xcconfig
3743
MACOSX.xcconfig = $(foreach x,$(XCODE.xcconfig),-xcconfig $(MACOSX.src/)xcconfig/$(x))
3844
MACOSX.sdk = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))
@@ -63,6 +69,7 @@ MACOSX.XCODE = $(strip \
6369
EXTERNAL_DRIVER='$(XCODE.driver)' \
6470
EXTERNAL_GOALS='$(3)' \
6571
EXTERNAL_JOBS='$(MACOSX.JOBS)' \
72+
EXTERNAL_O='$(MACOSX.map.O.$(MACOSX.GCC.O))' \
6673
EXTERNAL_VARS='$(-*-command-variables-*-)' \
6774
\
6875
$(MACOSX.extra_cflags) \
@@ -88,6 +95,7 @@ MACOSX.XCODE_ARCHIVE = $(strip \
8895
EXTERNAL_DRIVER='$(XCODE.driver)' \
8996
EXTERNAL_GOALS='$(3)' \
9097
EXTERNAL_JOBS='$(MACOSX.JOBS)' \
98+
EXTERNAL_O='$(MACOSX.map.O.$(MACOSX.GCC.O))' \
9199
EXTERNAL_VARS='$(-*-command-variables-*-)' \
92100
\
93101
$(MACOSX.extra_cflags) \

0 commit comments

Comments
 (0)