This patch landed upstream in Binutils 2.41. It has also been dropped
from Debian in
1c70e29caf.
* gnu/packages/cross-base.scm (cross-binutils*): Remove
binutils-mingw-w64-timestamp.patch.
* gnu/packages/patches/binutils-mingw-w64-timestamp.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove
binutils-mingw-w64-timestamp.patch reference.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Using a version of mingw-64 with winpthreads, packages that support posix
threads, such as Guile, can be (cross-)built for MinGW with thread support.
Also, since gcc-13, a MinGW (cross-)compiler provides g++ with std::mutex when
built with a version of mingw-w64 that has winpthreads enabled.
* gnu/packages/cross-base.scm (cross-gcc-toolchain/implementation):
Add #:with-winpthreads? parameter, defaulting to #t. Pass it...
(cross-libc*): ...to new #:with-winpthreads? parameter here, defaulting to #t.
Pass it to make-mingw-w64 for winpthread support.
Change-Id: Iaf34d9cc812543762cfd626693ea715880341c13
gnu/packages/cross-base.scm (cross-kernel-headers/deprecated,
cross-kernel-headers*): When target loongarch64, use
linux-libre-headers-5.19.17.
Change-Id: Ib144ebf86428dddd92f5b899dc241a428f8dc374
* gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in
phase "create-machine-symlink", do not assume CPU is i386, also cater for
x86_64.
* gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise.
Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Update comment on where
to find shared linker name.
(make-raw-bag): Also use raw-build-guile3 when building for the 64bit Hurd.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Use target-hurd?
instead of custom "i586..." matching to also use xhurd-core-headers for
target-hurd64.
* gnu/packages/make-bootstrap.scm (package-with-relocatable-glibc)
[native-inputs]: Move final-inputs before cross-packages.
(%binutils-static)[arguments]: When building for the 64bit Hurd, add
"lt_cv_prog_compiler_static_works=yes", "lt_cv_prog_compiler_static_works_CXX=yes"
to #:make-flags to convince to actually link the binaries statically.
(make-guile-static)[arguments]: When building for the 64bit Hurd, add
"lt_cv_prog_compiler_static_works=yes" to #:configure-flags to convince
libtool to actually link guile statically.
* guix/platforms/x86.scm (x86_64-gnu): New exported variable.
* guix/utils.scm (target-hurd64? system-hurd64?): New procedures.
* gnu/packages/base.scm (glibc)[arguments]: When building for the Hurd, in
phase "create-machine-symlink", only create symlink if it is missing.
* gnu/packages/cross-base.scm (cross-libc*)[arguments]: Likewise.
Change-Id: Ib009b7bd301b543b8629382330cca9d963b7a812
When ‘cross-libc’ is used in a context where it’s not a native input, as
is the case with ‘package-with-relocatable-glibc’ when cross-compiling,
the target objdump is to be found in the native inputs.
* gnu/packages/cross-base.scm (cross-libc*): In
‘add-cross-binutils-to-PATH’ phase, look for TARGET’s objdump in
NATIVE-INPUTS in addition to INPUTS.
Change-Id: Ic0e9ee720cf4211edc95be59903b4bd1d94b1e3f
This is a followup to 901b3c2a9db1935149d6ee366bf6f2a325391740.
* gnu/packages/base.scm (glibc/hurd-headers): Remove reference to
‘%glibc/hurd-configure-flags’.
* gnu/packages/cross-base.scm (cross-libc*): Likewise.
Change-Id: Iac43d84e3407c16a0f3f926d795b55c7b7ac73fd
gnumach-headers[-cross] are contained in the toolchain; it was only the
`include/mach/machine' symlink that was missing.
This reverts commit 2dd16f46766997c0b3e4ee973ce6e792a4d84fcb.
* gnu/packages/base.scm (glibc): When building for the Hurd, add phase
`create-machine-symlink'.
* gnu/packages/cross-base.scm (cross-libc*): Likewise.
Change-Id: I61fa081ce081f05bed918a438fd9d4eec94ef4bf
This provides the include/mach/machine/mach_i386.h.
* gnu/packages/hurd.scm (hurd)[native-inputs]: Add gnumach-headers, or
gnumach-headers-cross when cross-building.
[arguments]: Remove #t from phases.
Change-Id: Id57e0cf184c7793be52192bdc5587c6e6ef2a312
This fixes a regression introduced in
d21d596f72ad491937123980e65d3efedc903bd6 where the cross-compiler would
fail to build with:
checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
make[1]: *** [Makefile:13129: configure-target-libobjc] Error 1
* gnu/packages/cross-base.scm (cross-gcc-arguments): Clear
‘--enable-languages’ flag unconditionally.
Change-Id: I2bb38bac42e0791cad617893343c0d3dfc963450
This is the result of applying ‘guix style -S arguments’ and making
small adjustments.
* gnu/packages/base.scm (binutils)[arguments]: Use gexps.
(binutils-2.33, binutils-gold): Likewise.
* gnu/packages/commencement.scm (binutils-mesboot0, binutils-mesboot1)
(binutils-boot0, binutils-final): Likewise.
* gnu/packages/cross-base.scm (cross-binutils*): Adjust accordingly.
* gnu/packages/embedded.scm (make-propeller-binutils): Use gexps.
* gnu/packages/make-bootstrap.scm (%binutils-static): Use gexps.
Change-Id: I59cbe29760784b09e6d4e80beca9153cb9b495a7
This replaces ‘glibc-cross-objdump.patch’ and
‘glibc-cross-objcopy.patch’ (not applied to glibc@2.38): these patches
were committed upstream and later reverted on the grounds that ‘gcc
-print-prog-name=objdump’ should find the cross ‘objdump’:
https://inbox.sourceware.org/libc-alpha/d72f5f6f-cc3a-bd89-0800-ffb068928e0f@linaro.org/t/
* gnu/packages/cross-base.scm (cross-libc*): Add
‘add-cross-binutils-to-PATH’ phase.
Change-Id: I38dc7a6134177ec73313c0a9c8b0a12c85c60e26
Until now users would have to cargo cult or inspect the private
%default-modules variable of (guix build-systems gnu) to discover which
modules to include when extending the used modules via the #:modules argument.
The renaming was automated via the command:
$ git grep -l %gnu-build-system-modules
| xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i
* guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to...
(%default-gnu-imported-modules): ... this.
(%default-modules): Rename to...
(%default-gnu-modules): ... this. Export.
(dist-package, gnu-build, gnu-cross-build): Adjust accordingly.
Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee
* gnu/packages/cross-base.scm (cross-binutils-package): New procedure.
* gnu/packages/cross-base.scm (cross-binutils): Select binutils default
value with cross-binutils-package.
* gnu/packages/firmware.scm (ath9k-htc-firmware) <native-inputs>: Do not
explicitly set the #:xbinutils keyword argument.
Change-Id: I0eb25eb2b494241c205286837bfa79a61de8e0b7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/firmware.scm (ath9k-htc-firmware): Use the
xtensa-ath9k-elf target for the cross toolchain.
Change-Id: Ic1a7c4088312290a86a508f371f4f0e784e301a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/cross-base.scm (cross-gcc-patches): Avoid
gcc-4.9.3-mingw-gthr-default.patch patch for GCC 13+ versions since it
does not apply.
Change-Id: I4bb14d687c53733d77099a761844815900b1266a
Signed-off-by: Christopher Baines <mail@cbaines.net>
* gnu/packages/cross-base.scm (cross-gcc-toolchain) <name>: Always use
gcc-cross- prefix regardless of TARGET having a C standard library or not.
Change-Id: I5cbe89c61e5bd324a385db17c27131ea5ef75669
* gnu/packages/avr.scm (make-avr-libc/implementation)[arguments]: Add
avr target parameter and disable implicit cross inputs.
[native-inputs]: Rename avr-gcc and avr-binutils to cross-gcc
and cross-binutils to keep consistency with gnu-build-system.
* gnu/packages/cross-base.scm (cross-libc): Add case for avr.
Change-Id: I6b087946d1287a82fac61c48c513e7f2d2184794
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu/packages/cross-base.scm (cross-gcc-search-paths): New procedure.
(cross-gcc)[search-paths]: Convert to and use cross-gcc-search-paths
procedure.
Change-Id: Id306782eaf928d05cd005b9539087ed631506b5b
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu/packages/cross-base.scm (cross-libc): Return #f if no libc is
available for the given TARGET.
Change-Id: I17d19716373dd5704bb70d805437738fd29bd96b
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* gnu/packages/hurd.scm (hurd-minimal)[inputs]: Add gnumach-headers.
[arguments]: Rewrite to include libshouldbeinlibc and libstore.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Update xhurd-minimal
accordingly: Add xgnumach-headers, add them to cpath, use gexps for
modify-phases, add delete-shared-target phase.
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
* gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we
say the builder is running x86.
* gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation
of build system, by manually changing the target host_cpu without relying on
--host, because we don't have a working cross-compiler yet.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Add --build and --host to
xhurd-headers and xhurd-minimal.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/cross-base.scm (cross-mig): New exported procedure.
(cross-gnumach-headers): New procedure.
(cross-kernel-headers*): Factor them out.
(cross-libc*): Use them there.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
That way, 'xmig' inherits the 'avoid-perl-dependency' build phase.
* gnu/packages/hurd.scm (mig)[arguments]: In 'avoid-perl-dependency',
use 'find-files' to locate the "mig" executable(s).
* gnu/packages/cross-base.scm (cross-kernel-headers*)[xmig]: Use
'substitute-keyword-arguments'.
* gnu/packages/cross-base.scm (cross-kernel-headers*)[xgnumach-headers]
[xmig]: Remove input labels; use gexps and 'modify-inputs'.
[xgnumach-headers-name]: New variable.
This makes it possible to invoke the procedures with a single or fewer
optional arguments.
* gnu/packages/cross-base.scm (contains-keyword?): New procedure.
(cross-binutils): Dispatch to either...
(cross-binutils/deprecated): ... this renamed procedure or ...
(cross-binutils*): ... this new procedure.
(cross-kernel-headers, cross-libc/deprecated): Likewise.
Reported by Arun Isaac <arunisaac@systemreboot.net>.
* gnu/packages/cross-base.scm (cross)[arguments]: Add a default for
configure-flags so '--target=' is always added.