Skip to content

Commit 6d1c127

Browse files
committed
Enable LTO for fish.app release builds.
Shaves 2MB off app bundle size
1 parent 7cca963 commit 6d1c127

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

fish.xcodeproj/project.pbxproj

+18
Original file line numberDiff line numberDiff line change
@@ -1734,6 +1734,7 @@
17341734
GCC_DYNAMIC_NO_PIC = NO;
17351735
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17361736
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1737+
LLVM_LTO = NO;
17371738
PRODUCT_NAME = "$(TARGET_NAME)";
17381739
};
17391740
name = Debug;
@@ -1745,6 +1746,7 @@
17451746
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
17461747
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17471748
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1749+
LLVM_LTO = YES_THIN;
17481750
PRODUCT_NAME = "$(TARGET_NAME)";
17491751
};
17501752
name = Release;
@@ -1756,6 +1758,7 @@
17561758
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
17571759
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17581760
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1761+
LLVM_LTO = YES_THIN;
17591762
PRODUCT_NAME = "$(TARGET_NAME)";
17601763
};
17611764
name = "Release_C++11";
@@ -1768,6 +1771,7 @@
17681771
GCC_DYNAMIC_NO_PIC = NO;
17691772
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17701773
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1774+
LLVM_LTO = NO;
17711775
PRODUCT_NAME = fish_tests;
17721776
};
17731777
name = Debug;
@@ -1780,6 +1784,7 @@
17801784
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
17811785
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17821786
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1787+
LLVM_LTO = YES_THIN;
17831788
PRODUCT_NAME = fish_tests;
17841789
};
17851790
name = Release;
@@ -1792,6 +1797,7 @@
17921797
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
17931798
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
17941799
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1800+
LLVM_LTO = YES_THIN;
17951801
PRODUCT_NAME = fish_tests;
17961802
};
17971803
name = "Release_C++11";
@@ -1876,6 +1882,7 @@
18761882
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
18771883
GCC_WARN_UNINITIALIZED_AUTOS = YES;
18781884
INFOPLIST_FILE = osx/Info.plist;
1885+
LLVM_LTO = YES_THIN;
18791886
PRODUCT_BUNDLE_IDENTIFIER = "com.ridiculousfish.fish-shell";
18801887
PRODUCT_NAME = fish;
18811888
WRAPPER_EXTENSION = app;
@@ -1889,6 +1896,7 @@
18891896
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
18901897
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
18911898
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1899+
LLVM_LTO = YES_THIN;
18921900
PRODUCT_NAME = fish;
18931901
};
18941902
name = "Release_C++11";
@@ -1901,6 +1909,7 @@
19011909
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
19021910
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
19031911
GCC_WARN_UNINITIALIZED_AUTOS = YES;
1912+
LLVM_LTO = YES_THIN;
19041913
PRODUCT_NAME = "$(TARGET_NAME)";
19051914
};
19061915
name = "Release_C++11";
@@ -1951,6 +1960,7 @@
19511960
);
19521961
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
19531962
GCC_WARN_UNUSED_VARIABLE = NO;
1963+
LLVM_LTO = NO;
19541964
PRODUCT_NAME = "$(TARGET_NAME)";
19551965
SKIP_INSTALL = YES;
19561966
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/osx/pcre2 $(SRCROOT)/osx/shared_headers/";
@@ -1976,6 +1986,7 @@
19761986
);
19771987
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
19781988
GCC_WARN_UNUSED_VARIABLE = NO;
1989+
LLVM_LTO = YES_THIN;
19791990
PRODUCT_NAME = "$(TARGET_NAME)";
19801991
SKIP_INSTALL = YES;
19811992
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/osx/pcre2 $(SRCROOT)/osx/shared_headers/";
@@ -2001,6 +2012,7 @@
20012012
);
20022013
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
20032014
GCC_WARN_UNUSED_VARIABLE = NO;
2015+
LLVM_LTO = YES_THIN;
20042016
PRODUCT_NAME = "$(TARGET_NAME)";
20052017
SKIP_INSTALL = YES;
20062018
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/osx/pcre2 $(SRCROOT)/osx/shared_headers/";
@@ -2157,6 +2169,7 @@
21572169
);
21582170
GCC_WARN_UNINITIALIZED_AUTOS = YES;
21592171
INFOPLIST_FILE = osx/Info.plist;
2172+
LLVM_LTO = NO;
21602173
PRODUCT_BUNDLE_IDENTIFIER = "com.ridiculousfish.fish-shell";
21612174
PRODUCT_NAME = fish;
21622175
WRAPPER_EXTENSION = app;
@@ -2174,6 +2187,7 @@
21742187
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
21752188
GCC_WARN_UNINITIALIZED_AUTOS = YES;
21762189
INFOPLIST_FILE = osx/Info.plist;
2190+
LLVM_LTO = YES_THIN;
21772191
PRODUCT_BUNDLE_IDENTIFIER = "com.ridiculousfish.fish-shell";
21782192
PRODUCT_NAME = fish;
21792193
WRAPPER_EXTENSION = app;
@@ -2192,6 +2206,7 @@
21922206
"$(inherited)",
21932207
);
21942208
GCC_WARN_UNINITIALIZED_AUTOS = YES;
2209+
LLVM_LTO = NO;
21952210
PRODUCT_NAME = "$(TARGET_NAME)";
21962211
};
21972212
name = Debug;
@@ -2204,6 +2219,7 @@
22042219
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
22052220
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
22062221
GCC_WARN_UNINITIALIZED_AUTOS = YES;
2222+
LLVM_LTO = YES_THIN;
22072223
PRODUCT_NAME = "$(TARGET_NAME)";
22082224
};
22092225
name = Release;
@@ -2215,6 +2231,7 @@
22152231
GCC_DYNAMIC_NO_PIC = NO;
22162232
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
22172233
GCC_WARN_UNINITIALIZED_AUTOS = YES;
2234+
LLVM_LTO = NO;
22182235
PRODUCT_NAME = fish;
22192236
};
22202237
name = Debug;
@@ -2226,6 +2243,7 @@
22262243
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
22272244
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
22282245
GCC_WARN_UNINITIALIZED_AUTOS = YES;
2246+
LLVM_LTO = YES_THIN;
22292247
PRODUCT_NAME = fish;
22302248
};
22312249
name = Release;

0 commit comments

Comments
 (0)