| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| | |
* treewide: remove unused variables
* making ofborg happy
|
| |
| |
| |
| |
| | |
These were broken by the added system doubles. This just adds those to
the lib-tests.
|
| |
| |
| |
| | |
it’s powerpc-none not ppc-none
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in https://github.com/NixOS/nixpkgs/pull/60349, the attr handling was
removed. This means we rely on these double values for determing what
we are compatible with. This adds some of the missing doubles to this
list.
https://hydra.nixos.org/eval/1523389#tabs-removed
|
|\ \
| | |
| | | |
check-meta: use system tuple in platforms
|
| | |
| | |
| | |
| | |
| | |
| | | |
This makes things a little bit more convenient. Just pass in like:
$ nix-build ’<nixpkgs>’ -A hello --argstr localSystem x86_64-linux --argstr crossSystem aarch64-linux
|
| | |
| | |
| | |
| | | |
This is unused now.
|
| | |
| | |
| | |
| | | |
This was never listed in doubles.nix! Not sure why?
|
|/ / |
|
|\ \
| | |
| | | |
Initial WebAssembly/WASI cross-compilation support
|
| | |
| | |
| | |
| | |
| | | |
This isn’t really an "emulator" but it’s the closest concept we have
right now.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds pkgsCross.wasm32 and pkgsCross.wasm64. Use it to build Nixpkgs
with a WebAssembly toolchain.
stdenv/cross: use static overlay on isWasm
isWasm doesn’t make sense dynamically linked.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is useful to make these dynamic and not bake them into gcc. This
means we don’t have to rebuild gcc to change these values. Instead, we
will pass cflags to gcc based on platform values. This was already
done hackily for android gcc (which is multi-target), but not for our
own gccs which are single target.
To accomplish this, we need to add a few things:
- add ‘arch’ to cpu
- add NIX_CFLAGS_COMPILE_BEFORE flag (goes before args)
- set -march everywhere
- set mcpu, mfpu, mmode, and mtune based on targetPlatform.gcc flags
cc-wrapper: only set -march when it is in the cpu type
Some architectures don’t have a good mapping of -march. For instance
POWER architecture doesn’t support the -march flag at all!
https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options
|
| |
| |
| |
| |
| |
| |
| |
| | |
This doesn’t appear to ever have worked. binutils doesn’t seem to
support the alpha-elf target at all. It doesn’t make sense to keep
this around.
https://hydra.nixos.org/build/92403855/nixlog/1/tail
|
| |
| |
| |
| |
| |
| |
| | |
This makes us less reliant on the systems/examples.nix. You should be
able to cross compile with just your triple:
$ nix build --arg crossSystem '{ config = "armv6l-unknown-linux-gnueabi"; }' stdenv
|
| |
| |
| |
| |
| |
| |
| | |
ppc64le and ppc64 are different targets in the configure script. We
can’t use the same one.
TODO: canonicalize similar ones based on qemu’s configure script.
|
| |
| |
| |
| | |
Squashed to fix shell quoting, thanks @Ericson2314
|
| | |
|
| | |
|
| |
| |
| |
| | |
this isn’t useful any more because the ndk we use no longer supports it.
|
| |
| |
| |
| |
| |
| |
| | |
New android ndk (18) now uses clang. We were going through the wrapper
that are provided. This lead to surprising errors when building.
Ideally we could use the llvm linker as well, but this leads to errors
as many packages don’t support the llvm linker.
|
|\ \
| | |
| | |
| | | |
Hydra nixpkgs: ?compare=1512490
|
| | | |
|
| | | |
|
|\| | |
|
| | | |
|
| |\ \
| | | |
| | | | |
systems: add isCompatible handling
|
| | | |
| | | |
| | | |
| | | | |
v8 can run any wasm bytecode
|
| | |/ |
|
|\ \ \
| | | |
| | | | |
Android and related cross fixes
|
| |/ / |
|
|/ / |
|
|/
|
| |
Adds isAlpha to stdenv.<platform> flags.
|
|\
| |
| |
| |
| |
| |
| | |
Comments on conflicts:
- llvm: d6f401e1 vs. 469ecc70 - docs for 6 and 7 say the default is
to build all targets, so we should be fine
- some pypi hashes: they were equivalent, just base16 vs. base32
|
| |
| |
| | |
This adds the "Wasm" system to platform.uname.system. This is used in CMake infrastructure.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add generic x86_32 support
- Add support for i386-i586.
- Add `isx86_32` predicate that can replace most uses of `isi686`.
- `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386".
- This branch was used to build working i586 kernel running on i586 hardware.
* revert `isi[345]86`, remove dead code
- Remove changes to dead code in `doubles.nix` and `for-meta.nix`.
- Remove `isi[345]86` predicates since other cpu families don't have specific model predicates.
* remove i386-linux since linux not supported on that cpu
|
|\
| |
| |
| | |
A few more rebuilds (~1k on x86_64-linux).
|
| | |
|
|\| |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
eabihf is an abi that can be used with ARM architectures that support
the “hard float”. It should probably only be used with ARM32 when you
are absolutely sure your binaries will run on ARM systems with a FPU.
Also, add an example "armhf-embedded" to match the preexisting
arm-embedded system. qmk_firmware needs hard float in a few places, so
add them here to get that to work.
Fixes #51184
|
|\
| |
| | |
Add "emulator" function to systems
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
You can use stdenv.hostPlatform.emulator to get an executable that
runs cross-built binaries. This could be any emulator. For instance,
we use QEMU to emulate Linux targets and Wine to emulate Windows
targets. To work with qemu, we need to support custom targets.
I’ve reworked the cross tests in pkgs/test/cross to use this
functionality.
Also, I’ve used talloc to cross-execute with the emulator. There
appears to be a cross-execute for all waf builds. In the future, it
would be nice to set this for all waf builds.
Adds stdenv.hostPlatform.qemuArch attrbute to get the qemuArch for
each platform.
|
| |
| |
| |
| |
| | |
Makes it easier to use mapAttrs with lib.systems.examples. Now every
entry in it are legitimate systems.
|
| |
| |
| |
| |
| | |
i386, i486, i586 are added. These may have issues as many places
assume i686 is the only valid 32 bit x86 architecture.
|
| | |
|
| |
| |
| |
| | |
I added some embedded platforms for the CPUs I added to the parse.nix file.
These could be used as new platforms for the added CPUs.
|
| | |
|