Giter VIP home page Giter VIP logo

Comments (4)

compnerd avatar compnerd commented on May 29, 2024

This library doesn't have any C code in it, I'm not sure what MinGW would be useful for.

from swift-win32.

 avatar commented on May 29, 2024

This library doesn't have any C code in it, I'm not sure what MinGW would be useful for.

But it seems you need other part of the C Toolchain (linker, resource compiler,...), isn't it? What MSVC can, MinGW-W64 can.

from swift-win32.

 avatar commented on May 29, 2024

What exactly the Windows SDK is used for? I think you use the C Toolchain of it to build your project. If it's only about headers then I think MinGW-W64 should work, too. It also shipped with itself the headers and libraries needed to develop with the Windows API, albeit not as complete as Windows SDK.

from swift-win32.

compnerd avatar compnerd commented on May 29, 2024

The windows SDK is used for the import libraries and SDK headers (the system DLLs are needed at runtime).

The resource compiler isn't used, but the manifest tool is. At some point, I'd like to implement the needed functionality in llvm-mt to drop the need for the manifest tool. The MSVC linker is not used, lld is used by default with SPM, you would need to explicitly opt into link. The C toolchain is not used at all as there's no C code currently in the library, it is entirely Swift code. Note that the manifest tool is only used as a convenience, it is not required as the manifest can be stored next to the executable. Effectively, no MSVC tools are used.

MinGW still defaults to BFD for the linker, so that is not viable (I know @mstorsjo has done extensive work to support lld and it can be used). Beyond that, the intent is to not require additional dependencies at distribution time such as MinGW, only system libraries and the code being built. Additionally, by using the Microsoft vended SDK gives 0-day access to new APIs. The incompleteness of the SDK is also a concern - the expectation would have to be that it is 100% identical to the platform SDK at which point it has questionable value.

One final point is that the target triple for MinGW is different and the MinGW port for Swift has significantly bit-rotted and will need to be revived before that is even possible to even use with Swift.

from swift-win32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.