Skip to content

Conversation

gmittert
Copy link
Contributor

@gmittert gmittert commented Apr 26, 2019

  • Properly link against msvcrt by not overriding the /MD in
    CMAKE_CXX_FLAGS_RELWITHDEBINFO
  • Rename libllbuild.lib back to llbuild.lib
  • Rename libllbuildSwift.lib back to llbuildSwift.lib
  • Disable incremental linking so llbuild.ilk's don't conflict

@gmittert gmittert force-pushed the WindowCleaning branch 4 times, most recently from 06011f3 to 09e516c Compare August 6, 2019 04:08
- Properly link against msvcrt by not overriding the /MD in
  CMAKE_CXX_FLAGS_RELWITHDEBINFO
- Rename libllbuild.lib back to llbuild.lib
- Rename libllbuildSwift.lib back to llbuildSwift.lib
- Disable incremental linking so llbuild.ilk's don't conflict
- Set CRT_NONSTDC_NO_DEPRECATE to ignore _strdup warnings
@gmittert
Copy link
Contributor Author

gmittert commented Aug 6, 2019

Rebased and addressed comments

@swift-ci please smoke test

@gmittert
Copy link
Contributor Author

@ddunbar @dmbryson One week courtesy ping

@dmbryson dmbryson merged commit d882bba into swiftlang:master Aug 13, 2019
"/EHsc")
else ()
# Compile with C++14, without RTTI or exceptions.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two flags were left out of the list below, oversight? I ask because this change adds EH functions that breaks linking the Swift package manager on Android. I can always add these flags back specifically for Android, but I wonder if you really wanted to keep them here too.

@gmittert
Copy link
Contributor Author

gmittert commented Aug 24, 2019 via email

finagolfin added a commit to finagolfin/swift-llbuild that referenced this pull request Aug 24, 2019
@finagolfin
Copy link
Member

Done in #544, thanks for the quick answer.

@gmittert gmittert deleted the WindowCleaning branch September 5, 2019 22:46
jakepetroules added a commit to jakepetroules/swift-llbuild that referenced this pull request Aug 30, 2025
…n Windows

These were originally added 6 years ago in swiftlang#475 to "Disable incremental linking so llbuild.ilk's don't conflict" because at the time the command line tool and library targets were given the same OUTPUT_NAME, which conflicted. In swiftlang#1005 these targets were given distinct names, so the workaround should no longer be necessary.

This helps unblock swiftlang/swift-build#757 because this flag is currently added without regard for the specific compiler driver in use, so the flag might not work based on whether clang-cl.exe or cl.exe vs clang.exe (where it would require a -Xlinker prefix), is used.
jakepetroules added a commit that referenced this pull request Sep 2, 2025
…n Windows

These were originally added 6 years ago in #475 to "Disable incremental linking so llbuild.ilk's don't conflict" because at the time the command line tool and library targets were given the same OUTPUT_NAME, which conflicted. In #1005 these targets were given distinct names, so the workaround should no longer be necessary.

This helps unblock swiftlang/swift-build#757 because this flag is currently added without regard for the specific compiler driver in use, so the flag might not work based on whether clang-cl.exe or cl.exe vs clang.exe (where it would require a -Xlinker prefix), is used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants