winbuild/README.txt

75 lines
4.0 KiB
Plaintext

██╗ ██╗██╗███╗ ██╗██████╗ ██╗ ██╗██╗██╗ ██████╗
██║ ██║██║████╗ ██║██╔══██╗██║ ██║██║██║ ██╔══██╗
██║ █╗ ██║██║██╔██╗ ██║██████╔╝██║ ██║██║██║ ██║ ██║
██║███╗██║██║██║╚██╗██║██╔══██╗██║ ██║██║██║ ██║ ██║
╚███╔███╔╝██║██║ ╚████║██████╔╝╚██████╔╝██║███████╗██████╔╝
╚══╝╚══╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝╚══════╝╚═════╝
================================================================================
About:
This is a MinGW distribution that:
- Updates quarterly/semi-annually for a stable toolchain.
- All-in-one package. No package manager, just extract and use.
- Everything is in simple to understand bash.
- Debuginfo is included *inside* the binaries. For easy debugging for both
developer and user.
- Fully native, no cygwin.dll linked with *any* binary. (Except git, but eh.)
What this distribution is *not*:
- "Fully Secure", this is meant for offline desktop apps and games. If you need
security over stability, such as for a Password Generator. Use something that
provides the latest packages such as MSYS2.
- Minimalist, while it's not that big compressed, it'll definitely be bigger
than an MSYS2 install with *only* the packages you need.
--------------------------------------------------------------------------------
Why:
When porting my programs to Windows, I always found it frustrating that there
was no "stable" MinGW distribution. Plenty of rolling releases, but no stable.
My gripes with the other distros were:
MSYS2: Because it's a rolling release, I find myself running into unexpected API
changes. This is frustrating as it forces me to forcefully use a newer
library while on Linux. Not fun.
Cygwin: You ever tried using MinGW with Cygwin? There's no documentaton on *how*
to use it, and i've never successfully gotten anything to build. If I
needed to port a non-graphical unix program, it's good. But for
graphical applications or games, it's a no go.
I then looked at the more "vanilla" MinGW builds, many of them included their
own software on top of the distribution. Which is mostly fine, but I wanted to
choose my own software.
And thus, I began the journey of making my own MinGW Distro.
--------------------------------------------------------------------------------
FAQ:
Q: Why not cross-compile from Linux?
A: Virtual Machines are cheap, and cross-compilation is a pain in the ass.
----
Q: Why not use the Visual Studio tools instead of MinGW?
A: I'm more familiar with GCC than I am with Cl or Clang. I prefer the more
"unix" way of how the folder structure is laid out. Not to mention, many
libraries require gcc or bash to even build.
----
Q: Isn't this not the best for security?
A: If your application needs security over stability, I highly recommend
MSYS2. This is mainly for offline desktop apps and games, where security
doesn't really matter much.
----
Q: Why are binaries not stripped?
A: To retain the debuginfo so you can more easily get backtraces. Useful for
users too, so they can *give* you said backtraces.
----
Q: Can I add a package to this distribution?
A: Sure! Look at PORTING.txt for more details on how to get your port
included.
----
Q: Can I use this in proprietary/commercial software?
A: Each library has it's own License. But all the scripts here are licensed
under Apache-2.0, so, for those, you can.
----
If you have any more questions, open an issue or e-mail me at dev@iotib.net