Skip to content

Commit 9608baf

Browse files
authored
Revert "Remove redundant EXECUTABLE_NAME overrides in PIF" (#7915)
Reverts #7906, which is causing failures in toolchain builds.
1 parent 9f13aba commit 9608baf

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

Sources/XCBuildSupport/PIFBuilder.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,7 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
447447
settings[.PRODUCT_NAME] = product.name
448448
settings[.PRODUCT_MODULE_NAME] = mainTarget.c99name
449449
settings[.PRODUCT_BUNDLE_IDENTIFIER] = product.name
450+
settings[.EXECUTABLE_NAME] = product.name
450451
settings[.CLANG_ENABLE_MODULES] = "YES"
451452
settings[.DEFINES_MODULE] = "YES"
452453

@@ -583,6 +584,7 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
583584
settings[.PRODUCT_NAME] = executableName
584585
settings[.PRODUCT_MODULE_NAME] = product.name
585586
settings[.PRODUCT_BUNDLE_IDENTIFIER] = product.name
587+
settings[.EXECUTABLE_NAME] = executableName
586588
settings[.CLANG_ENABLE_MODULES] = "YES"
587589
settings[.DEFINES_MODULE] = "YES"
588590
settings[.SKIP_INSTALL] = "NO"
@@ -628,11 +630,7 @@ final class PackagePIFProjectBuilder: PIFProjectBuilder {
628630
settings[.PRODUCT_NAME] = "\(target.name).o"
629631
settings[.PRODUCT_MODULE_NAME] = target.c99name
630632
settings[.PRODUCT_BUNDLE_IDENTIFIER] = target.name
631-
632-
// EXECUTABLE_NAME is normally EXECUTABLE_PREFIX + PRODUCT_NAME + EXECUTABLE_SUFFIX
633-
// So we need to override EXECUTABLE_NAME in this case to avoid doubling up the file extension because it is also part of the product name.
634633
settings[.EXECUTABLE_NAME] = "\(target.name).o"
635-
636634
settings[.CLANG_ENABLE_MODULES] = "YES"
637635
settings[.DEFINES_MODULE] = "YES"
638636
settings[.MACH_O_TYPE] = "mh_object"

Tests/XCBuildSupportTests/PIFBuilderTests.swift

+14
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,7 @@ final class PIFBuilderTests: XCTestCase {
525525
configuration.checkAllBuildSettings { settings in
526526
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
527527
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
528+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "foo")
528529
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/bin")
529530
XCTAssertEqual(
530531
settings[.LD_RUNPATH_SEARCH_PATHS],
@@ -550,6 +551,7 @@ final class PIFBuilderTests: XCTestCase {
550551
configuration.checkAllBuildSettings { settings in
551552
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
552553
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
554+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "foo")
553555
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/bin")
554556
XCTAssertEqual(
555557
settings[.LD_RUNPATH_SEARCH_PATHS],
@@ -588,6 +590,7 @@ final class PIFBuilderTests: XCTestCase {
588590
configuration.checkAllBuildSettings { settings in
589591
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
590592
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
593+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cfoo")
591594
XCTAssertEqual(
592595
settings[.HEADER_SEARCH_PATHS],
593596
["$(inherited)", "/Foo/Sources/cfoo/include"]
@@ -616,6 +619,7 @@ final class PIFBuilderTests: XCTestCase {
616619
configuration.checkAllBuildSettings { settings in
617620
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
618621
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
622+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cfoo")
619623
XCTAssertEqual(
620624
settings[.HEADER_SEARCH_PATHS],
621625
["$(inherited)", "/Foo/Sources/cfoo/include"]
@@ -660,6 +664,7 @@ final class PIFBuilderTests: XCTestCase {
660664
configuration.checkAllBuildSettings { settings in
661665
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
662666
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
667+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "bar")
663668
XCTAssertEqual(settings[.PACKAGE_RESOURCE_TARGET_KIND], "regular")
664669
XCTAssertEqual(settings[.PRODUCT_BUNDLE_IDENTIFIER], "bar")
665670
XCTAssertEqual(settings[.PRODUCT_MODULE_NAME], "bar")
@@ -679,6 +684,7 @@ final class PIFBuilderTests: XCTestCase {
679684
configuration.checkAllBuildSettings { settings in
680685
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
681686
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
687+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "bar")
682688
XCTAssertEqual(settings[.PACKAGE_RESOURCE_TARGET_KIND], "regular")
683689
XCTAssertEqual(settings[.PRODUCT_BUNDLE_IDENTIFIER], "bar")
684690
XCTAssertEqual(settings[.PRODUCT_MODULE_NAME], "bar")
@@ -712,6 +718,7 @@ final class PIFBuilderTests: XCTestCase {
712718
XCTAssertEqual(settings[.CLANG_CXX_LANGUAGE_STANDARD], "c++14")
713719
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
714720
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
721+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cbar")
715722
XCTAssertEqual(settings[.GCC_C_LANGUAGE_STANDARD], "c11")
716723
XCTAssertEqual(
717724
settings[.HEADER_SEARCH_PATHS],
@@ -736,6 +743,7 @@ final class PIFBuilderTests: XCTestCase {
736743
XCTAssertEqual(settings[.CLANG_CXX_LANGUAGE_STANDARD], "c++14")
737744
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
738745
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
746+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "cbar")
739747
XCTAssertEqual(settings[.GCC_C_LANGUAGE_STANDARD], "c11")
740748
XCTAssertEqual(
741749
settings[.HEADER_SEARCH_PATHS],
@@ -866,6 +874,7 @@ final class PIFBuilderTests: XCTestCase {
866874
configuration.checkAllBuildSettings { settings in
867875
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
868876
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
877+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "FooTests")
869878
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
870879
XCTAssertEqual(settings[.LD_RUNPATH_SEARCH_PATHS], [
871880
"$(inherited)",
@@ -913,6 +922,7 @@ final class PIFBuilderTests: XCTestCase {
913922
configuration.checkAllBuildSettings { settings in
914923
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
915924
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
925+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "FooTests")
916926
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
917927
XCTAssertEqual(settings[.LD_RUNPATH_SEARCH_PATHS], [
918928
"$(inherited)",
@@ -971,6 +981,7 @@ final class PIFBuilderTests: XCTestCase {
971981
configuration.checkAllBuildSettings { settings in
972982
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
973983
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
984+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "CFooTests")
974985
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
975986
XCTAssertEqual(settings[.HEADER_SEARCH_PATHS], [
976987
"$(inherited)",
@@ -1021,6 +1032,7 @@ final class PIFBuilderTests: XCTestCase {
10211032
configuration.checkAllBuildSettings { settings in
10221033
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
10231034
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1035+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "CFooTests")
10241036
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
10251037
XCTAssertEqual(settings[.HEADER_SEARCH_PATHS], [
10261038
"$(inherited)",
@@ -1237,6 +1249,7 @@ final class PIFBuilderTests: XCTestCase {
12371249
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
12381250
XCTAssertEqual(settings[.CURRENT_PROJECT_VERSION], "1")
12391251
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1252+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "BarLib")
12401253
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
12411254
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/lib")
12421255
XCTAssertEqual(settings[.MARKETING_VERSION], "1.0")
@@ -1262,6 +1275,7 @@ final class PIFBuilderTests: XCTestCase {
12621275
XCTAssertEqual(settings[.CLANG_ENABLE_MODULES], "YES")
12631276
XCTAssertEqual(settings[.CURRENT_PROJECT_VERSION], "1")
12641277
XCTAssertEqual(settings[.DEFINES_MODULE], "YES")
1278+
XCTAssertEqual(settings[.EXECUTABLE_NAME], "BarLib")
12651279
XCTAssertEqual(settings[.GENERATE_INFOPLIST_FILE], "YES")
12661280
XCTAssertEqual(settings[.INSTALL_PATH], "/usr/local/lib")
12671281
XCTAssertEqual(settings[.MARKETING_VERSION], "1.0")

0 commit comments

Comments
 (0)