1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2025-07-30 04:03:05 +03:00
Commit Graph

216 Commits

Author SHA1 Message Date
cb52a371bb Add arch-prefixed tool aliases 2021-09-23 20:34:33 -04:00
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
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
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
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
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
a884e1fdc0 Add some variant patches 2021-09-17 19:03:40 -04:00
8630d1a3a1 Add ARCH variable which can changed more easily 2021-09-17 18:24:33 -04:00
8e31eae475 Fix Mingw-w64 i686 Windows XP regression
https://sourceforge.net/p/mingw-w64/bugs/821/
2021-09-17 17:46:33 -04:00
3de8e6e61c Remove some spurrious WORKDIR instructions 2021-09-17 16:22:32 -04:00
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
f611616f61 Use --with-pic and restore Fortran README note
Fixes #12.
2021-09-15 21:35:36 -04:00
42acf1422a Remove lto-dump.exe from the distribution
This 20MB executable is not worth its weight.
2021-09-07 09:36:07 -04:00
8373e89bc3 Bump to 1.9.0 v1.9.0 2021-09-06 19:49:19 -04:00
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
7b415e6ee2 Update to the newly-released Debian Bullseye 2021-08-31 13:22:50 -04:00
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
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
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
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
f533388d2c Update to GCC 11.2.0 2021-07-28 07:48:18 -04:00
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
c78efd8a49 Bump to 1.8.0 v1.8.0 2021-06-30 12:05:01 -04:00
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
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
705818aea9 Upgrade to GDB 10.2 2021-05-22 13:35:14 -04:00
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
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
17c105d77e Bump to 1.7.0 v1.7.0 2021-05-09 11:17:25 -04:00
985bab3a68 Upgrade to Mingw-w64 v8.0.2
Closes #2.
2021-05-09 11:17:22 -04:00
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
d232c0867d Update to GCC 11.1.0 2021-04-27 12:44:33 -04:00
098df95b1d Update to GCC 10.3.0 2021-04-08 09:18:02 -04:00
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
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
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
87696e4237 Move extraneous source files under src/ 2021-02-28 19:06:58 -05:00
7cb1798f16 alias.c: Automatically wrap strings in quotes 2021-02-28 16:16:27 -05:00
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
b3af49febe Disable a few more BusyBox applets
Removes the last RPM applet and the FTP applets.
2021-02-09 22:04:05 -05:00
56d49323d5 Copy alias.c straight into the installation prefix 2021-02-09 22:04:04 -05:00
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
d8583583ed Bump to 1.6.0 v1.6.0 2021-02-07 19:35:15 -05:00
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
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
14c0ac34c5 Upgrade to Binutils 2.36.1 2021-02-06 11:36:11 -05:00
e25a5704ca Auto silent "busybox --install" in activate.bat 2021-02-05 22:54:12 -05:00
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
b8e8037e3d Add c99.bat compatability alias for "gcc -std=c99" 2021-02-05 21:54:47 -05:00
f27d399c4c README.md updates and tweaks
Since my busybox-w32 ash patch has been accepted upstream, BusyBox's
shell is now quite adequate and capable, so there's little reason to
consider a replacement shell at this point.
2021-02-02 20:22:57 -05:00