1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2025-07-02 01:41:38 +03:00
Commit Graph

252 Commits

Author SHA1 Message Date
72af854bea Disable the BusyBox "link" and "unlink" commands
The "link" command conflicts with MSVC (i.e. vcvars.bat), blocking some
access to its linker. Since this command is a subset of "ln" it does not
need to exist. The related "unlink" command is similarly redundant.
2022-06-09 10:08:09 -04:00
6eb95c8d05 Also set "*_FOR_TARGET" on the second stage GCC
This makes a tiny, but consistent difference in the final size.
2022-05-25 10:29:16 -04:00
1513aa787f Add XML support to GDB via Expat
This is not documented as thoroughly as it should be, but XML support is
necessary for debugging across DLL boundaries, including even stepping
over DLL functions without getting lost. This is a significant upgrade
to GDB.
2022-05-17 16:54:52 -04:00
c1d57fd015 Refresh the variant patches 2022-05-08 21:30:50 -04:00
745ea5ad3f Bump to 1.14.0 v1.14.0 2022-05-06 17:55:54 -04:00
f7e2210c4d Update to GCC 12.1.0
libgfortran now prefers clock_gettime before gettimeofday. Mingw-w64
supplies clock_gettime via winpthreads, so it must be installed before
building libgfortran.
2022-05-06 17:55:54 -04:00
d65e0028b9 Bump to 1.13.0 v1.13.0 2022-04-21 23:29:59 +00:00
f280769303 Update to GCC 11.3.0 2022-04-21 09:36:50 -04:00
8ff35b37d1 Correct the sysroot for native binutils and gcc
The sysroot should include the architecture triple. With the wrong
sysroot, ld couldn't find the Mingw-w64 libraries. This makes it easier
to work with assembly programs.
2022-04-12 22:14:45 -04:00
e822cb136f Bump to 1.12.0 v1.12.0 2022-04-04 15:21:42 -04:00
bcf7a687c9 Upgrade to Binutils 2.38
Note: depends on Mingw-w64 10.0.0.
2022-04-04 14:35:58 -04:00
e13b9169dd Upgrade to Mingw-w64 10.0.0
* Fix intrin.h compatibility with GCC-11
* _(v)scprintf optimization
* Updated imports
* New msvcrt10, 20, 40, 70 and 71 import libraries
2022-04-04 11:20:54 -04:00
580550c79f Refresh the variant patches 2022-03-20 09:59:29 -04:00
dec2f1edfd Strip ".ident" and SEH directives from output
Neither are needed and they each add kB of weight to executables due to
alignment requirements. Most of it compresses away, but excluding them
still shrinks the overall w64devkit .zip by a few kB.
2022-03-19 22:41:46 -04:00
9ec54488fc Use GCC option --disable-win32-registry
Since it's designed to be isolated, w64devkit shouldn't pick up system
configuration like this. Besides, GCC's manual says, "Vendors and
distributors who use custom installers are encouraged to provide a
different key" but I don't plan to do so.
2022-03-17 19:45:36 -04:00
25e03b38b1 Upgrade to busybox-w32 FRP-4621-gf3c5e8bc3
* Improved handling for shell interrupts
* Fixed ln regression
* Improved ANSI escapes
* Improved ls file permissions
* Configurable Content-Type in wget
* New -samefile option in find
* New -K option in timeout

https://frippery.org/busybox/release-notes/FRP-4621.html
2022-02-28 10:12:27 -05:00
294ce7a77a Disable BusyBox "man" command
This command has dependencies not provided by w64devkit, and it has
never actually worked, so leave it out.
2022-02-25 17:43:28 -05:00
79c10988e1 On i686, use the actual constant for _WIN32_WINNT
Otherwise it requires extra includes, which breaks some programs.
2022-02-23 20:27:21 -05:00
edb4ebeaa5 Fix i686 builds for Windows XP (set _WIN32_WINNT) 2022-02-23 19:40:52 -05:00
78e53795dc Bump to 1.11.0 v1.11.0 2022-02-22 20:18:50 -05:00
3316e7a0ad Upgrade to Mingw-w64 9.0.0
IMPORTANT: In this release _WIN32_WINNT is changed from 0x502 to 0xa00.

GDB: The Autoconf check for bcrypt.h in the embedded Gnulib is broken
and probably never worked in the first place, so Gnulib never tries to
use this header. When the check fails, it then checks if it's safe to
link against bcrypt.dll based on the value of _WIN32_WINNT. Before
Mingw-w64 9.0.0, this check also failed. So it used a run-time dynamic
symbol lookup fallback. However, if the version check succeeds, which it
does with 9.0.0, Gnulib incorrectly links bcrypt.dll, resulting in a
build failure.

In typical GNU fashion, Gnulib uses 187 lines of code to do something
poorly where 7 lines of code would do it well. Instead of hacking around
BCryptGenRandom, Gnulib should just call RtlGenRandom. This could be a
whole lot simpler and less fragile.

busybox-w32: The higher _WIN32_WINNT value causes new declarations to
become visible which conflict with definitions in busybox-w32, mostly in
networking headers like winsock2.h. To workaround it, lock it to the old
version.
2022-02-21 21:30:21 -05:00
3589a5119a alias.c: Simpler, dumber argv[0] processing
This change exactly matches CommandLineToArgvW() semantics. Only tab and
space are field separators, and argv[0] does not do backslash escapes.
2022-02-21 20:02:50 -05:00
b96898fd1e Upgrade to busybox-w32 FRP-4487-gd239d2d52
* Job control enabled in the shell
* ANSI escapes fixed in Cygwin and MSYS2 terminals
* Improved /dev/null handling
* Upstream improvements

https://frippery.org/busybox/release-notes/FRP-4487.html
2021-10-18 12:21:44 -04:00
06038d5a71 Break up ARG instructions (Podman fix)
Podman does not yet support multiple ARG operands in a single
instruction (#14).
2021-10-14 09:38:41 -04:00
9190a3d62d More robustly clean up in multibuild.sh 2021-10-10 20:32:07 -04:00
0a2e6106f0 Add multibuild.sh for building releases
This is an tidied up, expanded version of a script I've already been
using for awhile.
2021-09-27 14:31:13 -04:00
3776027db2 Bump to 1.10.0 v1.10.0 2021-09-26 20:45:05 -04:00
b9ec5e25a3 Upgrade to GMP 6.2.1 2021-09-26 20:22:33 -04:00
f08f24108f README.md: Two more documentation links 2021-09-26 17:30:07 -04:00
3b38e752f1 Add README links to various offline documentation 2021-09-26 16:41:49 -04:00
fcdf19d897 Remove unneeded build dependencies: texinfo, file
This has no effect on the output but will make builds slighly more
efficient. I don't know why "file" was in there originally.
2021-09-25 20:59:44 -04:00
45b1fc5552 Set environment variables W64DEVKIT, W64DEVKIT_HOME 2021-09-25 16:06:50 -04:00
87a6cb6daf Exclude extraneous binutils libraries and headers
As far as I can tell, these static libraries and headers serve no
purpose, at least once GCC is built.
2021-09-25 15:51:09 -04:00
adf9aa7449 Remove activate.bat (replaced by w64devkit.exe) 2021-09-25 14:27:32 -04:00
0b8cc138c6 Add ARCH prefix for gfortran to the fortran patch 2021-09-25 11:47:19 -04:00
1c23f6e634 Update variant patches 2021-09-23 20:59:04 -04:00
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