1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2026-10-24 17:39:18 +03:00

418 Commits

Author SHA1 Message Date
Christopher Wellons
0b8cc138c6 Add ARCH prefix for gfortran to the fortran patch 2021-09-25 11:47:19 -04:00
Christopher Wellons
1c23f6e634 Update variant patches 2021-09-23 20:59:04 -04:00
Christopher Wellons
cb52a371bb Add arch-prefixed tool aliases 2021-09-23 20:34:33 -04:00
Christopher Wellons
3e41ae589e Merge consecutive RUN instructions, reduce layers
In theory this should make things a little more efficient, plus it
provides more overhead against the maximum layers limit.
2021-09-23 20:04:35 -04:00
Christopher Wellons
8bdf929bcf Move ARCH argument after downloads
This removes the dependency between downloading and setting the target,
allowing differing builds to share more layers.
2021-09-23 19:23:29 -04:00
Christopher Wellons
d33e08caac binutils: Remove --enable-static, --disable-shared
These options are autoconf-generated and unused by Binutils. Not only do
they not do anything useful, but worse, they cause incorrect Binutils
builds. Plugins, which are supposed to be dynamically-loaded, instead
become useless, static archives.

Fixes #13.
2021-09-23 14:23:03 -04:00
Christopher Wellons
3f7533b62f Target pentium4 architecture for the "i686" build
Sets the baseline to circa 2000, and specifically takes advantage of
SSE2. GFortran in particular generates far better code when at least
SSE2 is available, rather than relying entirely on x87.
2021-09-22 21:58:10 -04:00
Christopher Wellons
d1545f15cf Delete ctags manifest resource (better compatability)
When this manifest present, ctags.exe is no longer a valid executable on
Windows XP. Since this manifest doesn't do anything useful anyway, just
remove it.
2021-09-21 18:31:06 -04:00
Christopher Wellons
a884e1fdc0 Add some variant patches 2021-09-17 19:03:40 -04:00
Christopher Wellons
8630d1a3a1 Add ARCH variable which can changed more easily 2021-09-17 18:24:33 -04:00
Christopher Wellons
8e31eae475 Fix Mingw-w64 i686 Windows XP regression
https://sourceforge.net/p/mingw-w64/bugs/821/
2021-09-17 17:46:33 -04:00
Christopher Wellons
3de8e6e61c Remove some spurrious WORKDIR instructions 2021-09-17 16:22:32 -04:00
Christopher Wellons
6b45d148a6 Tweak the README with updated information
The "releases" section needs emphasis since GitHub doesn't give it good
visiblitiy, and lots of people seem to miss it. Also, in the time since
w64devkit came about, Mingw-w64 itself and other distributions have
improved, picking up features once unique to w64devkit. The previous
claims are less strong now.
2021-09-15 22:53:43 -04:00
Christopher Wellons
f611616f61 Use --with-pic and restore Fortran README note
Fixes #12.
2021-09-15 21:35:36 -04:00
Christopher Wellons
42acf1422a Remove lto-dump.exe from the distribution
This 20MB executable is not worth its weight.
2021-09-07 09:36:07 -04:00
Christopher Wellons
8373e89bc3 Bump to 1.9.0 v1.9.0 2021-09-06 19:49:19 -04:00
Christopher Wellons
f78b788895 Reintroduce curl to download source tarballs
By downloading tarballs within the container, Docker will cache the
results and avoid redownloading them later.
2021-08-31 14:01:26 -04:00
Christopher Wellons
7b415e6ee2 Update to the newly-released Debian Bullseye 2021-08-31 13:22:50 -04:00
Christopher Wellons
47a35d126c Remove curl, download source tarballs with Docker
There is no benefit to downloading the tarballs within the container
using curl, especially since it doesn't have access to host certificates
and such.
2021-08-31 13:22:48 -04:00
Christopher Wellons
3e3a9790fe Merge all ARG instruction into one instruction
This reduces the total number of layers which should help make it a
little more efficient, as well as keep things below the depth limit.
2021-08-31 13:22:43 -04:00
Christopher Wellons
d49ce3a328 Upgrade to busybox-w32 FRP-4264-gc79f13025
* New programs: bc, crc32, free, nproc, sync, uptime
* Add Bash-style process substitution (i.e. <(...)) to the shell
* Improve shell stability
* ANSI escape support for printf

The 002 patch must be removed on the next update since it will already
be included.
2021-08-01 14:28:13 -04:00
Christopher Wellons
696d1fc08e Disable all Git line-ending conversions
This misfeature corrupts checkouts on Windows. Closes #9 and #10.
2021-07-30 17:25:59 -04:00
Christopher Wellons
f533388d2c Update to GCC 11.2.0 2021-07-28 07:48:18 -04:00
Christopher Wellons
8260e65129 Upgrade to Binutils 2.37
This upgrade includes a patch that fixes a bug introduced at the last
minute on the upstream 2.37 branch. I submitted this patch upstream so
hopefully it will be fixed in a future release. If so, the patch should
be removed from w64devkit.
2021-07-18 17:07:37 -04:00
Christopher Wellons
c78efd8a49 Bump to 1.8.0 v1.8.0 2021-06-30 12:05:01 -04:00
Christopher Wellons
f52187c806 Always run gvim in the "background"
This behavior is closer to Vim's behavior on other platforms.
2021-06-05 07:54:31 -04:00
Christopher Wellons
b5504f79c4 Include Mingw-w64's gendef as a new tool
I also considered genlib, but it's redundant with dlltool and of
insufficient quality.
2021-06-03 16:16:53 -04:00
Christopher Wellons
705818aea9 Upgrade to GDB 10.2 2021-05-22 13:35:14 -04:00
Christopher Wellons
0aad55eea2 Also set *_FOR_TARGET when building GCC
Due to GCC's upside-down configuration, the desired build options were
not being actually being applied to the cross-compiler itself. This fix
shaves another 7MB off the distribution zip.
2021-05-21 18:33:47 -04:00
Christopher Wellons
b72e7a9f3d busybox: Disable tab-completion on empty input
Discovering all commands in PATH is painfully expensive (typically
several seconds) on Windows where file access is slow, so don't do it.
Worse, due to an alt-tab handling bug in the Windows console it's very
easy to activate this completion by accident.

This patch makes the BusyBox shell much more ergonomic for alt-tab heavy
workflows on Windows.
2021-05-11 22:33:29 -04:00
Christopher Wellons
17c105d77e Bump to 1.7.0 v1.7.0 2021-05-09 11:17:25 -04:00
Christopher Wellons
985bab3a68 Upgrade to Mingw-w64 v8.0.2
Closes #2.
2021-05-09 11:17:22 -04:00
Christopher Wellons
2c0d69b22b Remove Fortran information from the README
Even GCC 11 GFortran remains incompatible with Binutils 2.36.1. Since
this is unlike to be fixed anytime soon, just drop Fortran support.
2021-04-27 16:40:33 -04:00
Christopher Wellons
d232c0867d Update to GCC 11.1.0 2021-04-27 12:44:33 -04:00
Christopher Wellons
098df95b1d Update to GCC 10.3.0 2021-04-08 09:18:02 -04:00
Christopher Wellons
27cbe84019 Downgrade to busybox-w32 FRP-3812-g12e14ebba
There's a regression in FRP-3902-g61e53aa93 that causes line editing to
get into a bad state and accumlate garbage characters. This release is
not in a usable condition, so revert to the previous release.
2021-03-07 12:27:42 -05:00
Christopher Wellons
f9194ec246 Upgrade to busybox-w32 FRP-3902-g61e53aa93
This introduces four new programs: bc, free, nproc, uptime. It also
significantly improves ANSI escape support for printf.

The SHELL=dash is a workaround for a bug in GNU Make. A patch has been
submitted upstream, so hopefully this can be removed later. The patch:
https://lists.sr.ht/~skeeto/public-inbox/patches/20756
2021-03-03 14:34:29 -05:00
Christopher Wellons
626212f1b5 Introduce a new standalone launcher
This launcher doesn't depend on cmd.exe, which eliminates another
annoyance. Credit for the icon goes to Kelsey Wellons.
2021-02-28 20:04:39 -05:00
Christopher Wellons
87696e4237 Move extraneous source files under src/ 2021-02-28 19:06:58 -05:00
Christopher Wellons
7cb1798f16 alias.c: Automatically wrap strings in quotes 2021-02-28 16:16:27 -05:00
Christopher Wellons
ada316516c README.md updates and tweaks
Mingw-w64 v8.0.0 finally puts to rest the long-standing and irritating
issues with __USE_MINGW_ANSI_STDIO. As other distributions update they
will be on par with w64devkit on this point.

Msys2 supports optional static linking, and it does this well (though
optimized for speed, not size).
2021-02-11 14:56:59 -05:00
Christopher Wellons
b3af49febe Disable a few more BusyBox applets
Removes the last RPM applet and the FTP applets.
2021-02-09 22:04:05 -05:00
Christopher Wellons
56d49323d5 Copy alias.c straight into the installation prefix 2021-02-09 22:04:04 -05:00
Christopher Wellons
3500d0930d Fix Vim 8.2 Markdown mode
Vim 8.2 shipped with broken Markdown syntax. This was the patch that
fixed it. This must be removed when upgrading to a future Vim 8.3.
2021-02-08 21:59:46 -05:00
Christopher Wellons
d8583583ed Bump to 1.6.0 v1.6.0 2021-02-07 19:35:15 -05:00
Christopher Wellons
d86ea47afe "Install" BusyBox using custom command alias tool
The "busybox --install" step has always been an unfortunate extra step
that I've watned to eliminate. I hoped I could do it via batch scripts
command "aliases". However, each aliased command has cmd.exe as its
parent interfering with its operation — particularly the disruptive and
infamous "Terminate batch job (Y/N)?" message which cannot be disabled.

The usual suggestion when people complain about this misfeature is to
use PowerShell. However, unlike batch scripts, PowerShell scripts are
not first class citizens on Windows. PowerShell is not always available
(often disabled by the adminstrator), and its scripts generally can't be
installed on and executed via the PATH, at least not without system-wide
configuration (i.e. PATHEXT).

The here is to use a tiny 4kB executable as a kind of crude compiled
shell script that, unlike cmd.exe, does the right thing. Since there are
so many, it adds about 150kB to the final .zip, but it does eliminate
this finall installation step.
2021-02-07 19:06:28 -05:00
Christopher Wellons
f78d14c3a9 Introduce custom command alias program
Unlike batch script aliases, this program will be well-behaved and will
not produce a disruptive "Terminate batch job (Y/N)" prompt. The program
is always compiled freestanding in order to be as small as possible.

Interactive programs (vi, vim, gvim, vimtutor) are fine with a batch
script alias.
2021-02-07 18:48:24 -05:00
Christopher Wellons
14c0ac34c5 Upgrade to Binutils 2.36.1 2021-02-06 11:36:11 -05:00
Christopher Wellons
e25a5704ca Auto silent "busybox --install" in activate.bat 2021-02-05 22:54:12 -05:00
Christopher Wellons
160bfa9d7b Set -Wl,--no-insert-timestamp by default
It's a bad idea to have this option enabled by default: The timestamp is
useless junk, and it makes builds non-reproducable.
2021-02-05 22:35:50 -05:00