Gabriel Ebner
de3cc475e0
Merge pull request #81014 from fgaz/platforms/endianness
...
platforms: add bigEndian and littleEndian
2020-09-20 17:03:55 +02:00
Francesco Gazzetta
4fc8c5098d
platforms: add bigEndian and littleEndian
2020-09-20 16:12:58 +02:00
Frederik Rietdijk
37d29394ec
Merge staging-next into staging
2020-09-12 10:00:45 +02:00
Matthew Bauer
86d8c55470
Merge branch 'staging' into ios-13
2020-09-10 23:24:26 -05:00
Matthew Bauer
8483d29d60
Merge pull request #97587 from arcnmx/arch-fix
...
Fix arch eval error
2020-09-10 14:48:25 -05:00
arcnmx
8f3efbde4e
Fix arch eval error introduced in #61019
...
This occurs when using a `platform.gcc.arch` that isn't one of the
pre-existing hard-coded options.
2020-09-09 12:17:00 -07:00
John Ericson
e2bef8fbdc
lib.systems.examples: Bump android SDK to 21
...
074bc78cc8
evidently meant to do this, but
forgot.
2020-09-08 09:33:09 -04:00
John Ericson
1965a241fc
Merge pull request #61019 from volth/gcc.arch-amd
...
platform.gcc.arch: support for AMD CPUs
2020-09-01 22:31:16 -04:00
volth
c5fe132b3c
Update architectures.nix
2020-09-01 11:28:34 +00:00
John Ericson
5a05601013
Merge pull request #96223 from KAction/static
...
Make pkgsStatic set "static" argument to true
2020-08-31 20:00:15 -04:00
Dmitry Bogatov
55195119d5
Distinguish pkgsStatic from pkgsMusl via stdenv.targetPlatform
...
This change allows derivations to distinguish dynamic musl build and
static musl build in cases where upstream build system can't detect it
by itself.
2020-08-27 18:36:34 -04:00
volth
60ce27db2b
Update architectures.nix
2020-08-22 23:04:08 +00:00
volth
8ad48c921e
Update architectures.nix
2020-08-22 23:01:38 +00:00
volth
55bc2b54a4
Update architectures.nix
2020-08-22 22:55:13 +00:00
Matthew Bauer
074bc78cc8
android: update sdk, ndk to 29, 21
2020-08-17 23:51:53 -05:00
volth
cf7b63df5b
gcc.arch: refactor, move tables under lib/
2020-08-05 11:18:26 +00:00
Emery Hemingway
ccedb29f4b
Define a i686-genode system double
2020-08-04 18:08:56 +02:00
Aaron Janse
60fd049b65
redox: add as target
2020-07-21 13:11:36 -07:00
Matthew Bauer
bb5d0a47b7
systems/examples.nix: update to iOS 13
...
new apps need iOS 13, so we should try to use that here
2020-07-21 10:34:57 -05:00
Emery Hemingway
9f91fa02a6
lib/systems: Add Genode platform definitions
...
Add platform definitions for 64-bit ARM and x86. This is sufficient for
for building Genode where a toolchain is provided as an overlay.
Toolchain: git+https://git.sr.ht/~ehmry/genodepkgs?rev=14fc773ac9ecd2cbb30cb4612b284eee83d83546
2020-03-24 20:41:21 +05:30
John Ericson
00afca0929
lib: Add armv6l-none to doubles list
2020-03-12 09:56:17 -04:00
Matthew Bauer
acb24b4cc4
lib/systems: Assume newlib when no kernel and no libc is provided
...
newlib is the default for most tools when no kernel is provided. Other
exist, but this seems like a safe default.
(cherry picked from commit 8009c20711
)
2020-03-12 02:22:19 -04:00
Chuck
5d4821141b
stdenv: Remove isArm (use isAarch32 instead)
...
isArm has been deprecated for three releases. All references have been
removed. Tree-wide substitution was performed in #37401 21 months ago.
2020-02-05 10:56:14 -08:00
Chuck
a7835b936e
lib.systems.elaborate: isArm -> isAarch32
...
This is the last reference to isArm. isArm is deprecated after 18.03.
This substitution was performed tree-wide in #37401 .
2020-02-05 10:56:14 -08:00
Matthew Bauer
9c1a2ac51e
Merge remote-tracking branch 'origin/master' into ios-with-xcode-11
2020-01-03 15:34:20 -05:00
Matthew Bauer
010d2f4aa2
lib/systems: use newer ios sdk
2020-01-03 15:20:54 -05:00
John Ericson
80524db331
Merge branch 'ghcjs-cross-without-cc-19.09' into ghcjs-cross-without-cc
2019-11-25 14:11:18 +00:00
John Ericson
765d2608b6
Fix lib tests
...
js-ghcjs didn't fit in an existing categor.
2019-11-25 14:09:50 +00:00
John Ericson
6bc456c91c
Merge remote-tracking branch 'upstream/master' into ghcjs-cross-without-cc
2019-11-25 00:23:07 +00:00
John Ericson
c739c420db
Add support for cross compiling to js-ghcjs
...
This platform doesn't have a C compiler, and so relies and the changes
in the previous commit to work.
2019-11-25 00:12:38 +00:00
Michael Bishop
4aa1ffae04
initial implementation of vc4 cross-compile
2019-11-19 22:19:15 -04:00
John Ericson
16f0fe7fe3
Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads
2019-11-11 20:48:14 -05:00
John Ericson
91718534f1
lib: Switch to w64 vendor for MinGW
...
It is needed for the `-municode` flag, supposedly.
2019-11-11 00:25:24 -05:00
oxalica
c98da73802
lib.systems: remove redundant mapping
2019-11-04 12:13:30 +08:00
oxalica
955d032b47
lib.systems: handle mips family properly
2019-11-03 22:10:06 +08:00
John Ericson
3098d65210
lib: Add armv7a-linux to doubles.nix
...
This is needed for android.
2019-10-01 12:51:57 -04:00
Vladimír Čunát
f21211ebfe
Merge branch 'master' into staging
2019-09-02 23:25:24 +02:00
John Ericson
c2b34b2b57
Merge remote-tracking branch 'upstream/master' into js-unknown-ghcjs
2019-09-02 01:57:01 -04:00
John Ericson
a77a2cfe4a
lib: Further clean up systems list
2019-09-02 01:55:38 -04:00
John Ericson
f57fe63d5f
Merge lib sort into feature/js-unknown-ghcjs
2019-09-02 01:44:30 -04:00
John Ericson
3d8cf08706
lib: Sort platform predicates
2019-09-02 01:38:22 -04:00
John Ericson
c33d80c071
Merge remote-tracking branch 'upstream/master' into feature/js-unknown-ghcjs
2019-09-02 01:31:31 -04:00
Moritz Angermann
446f8c851d
Add support for js-unknown-ghcjs
...
This adds enough logic to nixpkgs to support the `js-unknown-ghcjs` triple.
2019-09-02 01:27:05 -04:00
volth
08f68313a4
treewide: remove redundant rec
2019-08-28 11:07:32 +00:00
volth
35d68ef143
treewide: remove redundant quotes
2019-08-26 21:40:19 +00:00
Jay Kruer
e931a525f9
Add RISC-V embedded crossSystems
2019-07-25 21:45:11 -07:00
Matthew Bauer
d059185bad
Revert "Revert "systems/doubles.nix: add Apple doubles""
...
This reverts commit ce2f74df2c
.
Doubles are treated as -darwin here, to provide some consistency.
There is some ambiguity between “x86_64-darwin” and “i686-darwin”
which could refer to binaries linked between iOS simulator or real
macOS binaries. useiOSPrebuilt can be used to determine which to use,
however.
2019-07-10 15:14:59 -04:00
Frederik Rietdijk
ce2f74df2c
Revert "systems/doubles.nix: add Apple doubles"
...
The lib tests need to be fixed as well.
This unbreaks the tarball job.
This reverts commit 00ba557856
.
2019-07-10 12:37:06 +02:00
Matthew Bauer
00ba557856
systems/doubles.nix: add Apple doubles
...
These are used in cross-compilation to iOS devices and simulators.
Fallout from #60349 .
2019-07-08 12:33:16 -04:00
volth
f3282c8d1e
treewide: remove unused variables ( #63177 )
...
* treewide: remove unused variables
* making ofborg happy
2019-06-16 19:59:05 +00:00
Matthew Bauer
0fef9f89e4
systems: fix lib-tests
...
These were broken by the added system doubles. This just adds those to
the lib-tests.
2019-06-04 14:51:33 -04:00
Matthew Bauer
de70b76779
systems: fixup from last commit
...
it’s powerpc-none not ppc-none
2019-06-04 13:42:14 -04:00
Matthew Bauer
f7c7207a3f
systems: add missing doubles
...
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
2019-06-04 13:34:40 -04:00
Matthew Bauer
760c9995b0
Merge pull request #60349 from matthewbauer/fix-60345
...
check-meta: use system tuple in platforms
2019-06-04 11:29:48 -04:00
Matthew Bauer
635b762569
systems: allow passing in string for cross/localSystem
...
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
2019-06-04 11:17:25 -04:00
Matthew Bauer
40271ae138
systems: remove forMeta
...
This is unused now.
2019-06-04 11:09:43 -04:00
Lionello Lunesu
fb147b07ad
Adds pkgsCross.gnu32 and pkgsCross.gnu64 platforms
2019-05-05 15:24:10 +08:00
Matthew Bauer
e500bb8409
systems: add riscv double
...
This was never listed in doubles.nix! Not sure why?
2019-04-30 12:59:38 -04:00
Matthew Bauer
7488a367af
Merge pull request #56555 from matthewbauer/wasm
...
Initial WebAssembly/WASI cross-compilation support
2019-04-23 22:44:33 -04:00
Matthew Bauer
dbb94b984f
wasmtime: init and use for emulation
...
This isn’t really an "emulator" but it’s the closest concept we have
right now.
2019-04-23 21:48:57 -04:00
Matthew Bauer
d591a109be
wasm: don’t assume musl
2019-04-23 21:48:57 -04:00
Matthew Bauer
9abff4af4f
wasm: init cross target
...
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.
2019-04-23 21:48:57 -04:00
Matthew Bauer
d180cb9850
cc-wrapper: make machine configuration configurable
...
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
2019-04-20 20:05:51 -04:00
Matthew Bauer
ae50241871
release-cross: remove alpha-elf target
...
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
2019-04-20 17:22:52 -04:00
Matthew Bauer
d8934feba1
kernel-headers: infer ARCH from config triple
...
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
2019-04-19 14:53:48 -04:00
Matthew Bauer
5eea658778
systems: correct qemu architectures
...
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.
2019-04-19 12:03:56 -04:00
Matthew Bauer
23560ea057
systems: fix emulator identity
...
Squashed to fix shell quoting, thanks @Ericson2314
2019-04-19 12:03:44 -04:00
Matthew Bauer
59bb1dcbfb
systems/parse.nix: fixup arm compatibilities
2019-04-19 12:00:32 -04:00
Ken Micklas
ec7643047c
androidndk-pkgs: Remove -mfloat flag
2019-04-16 16:21:51 -04:00
Matthew Bauer
ac491d2df7
systems: remove android armv5te platform
...
this isn’t useful any more because the ndk we use no longer supports it.
2019-04-10 01:55:09 -04:00
Matthew Bauer
589c2c2870
androidndk: fixup mess
...
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.
2019-04-10 01:30:34 -04:00
Vladimír Čunát
2771375d6e
Merge branch 'master' into staging-next
...
Hydra nixpkgs: ?compare=1512490
2019-04-02 20:56:53 +02:00
Aaron Lindsay
1c7bb464d9
msp430: include vendor headers with stdenv
2019-03-25 20:39:51 -07:00
Aaron Lindsay
1eca945e94
systems: support TI MSP430 microcontrollers
2019-03-25 20:33:58 -07:00
Frederik Rietdijk
205e0fc5bd
Merge staging-next into staging
2019-03-01 09:22:21 +01:00
Matthew Bauer
5c46f77249
Merge pull request #56197 from matthewbauer/cross-fixes3
...
Android and related cross fixes
2019-02-26 20:30:53 -05:00
Matthew Bauer
8e25da0beb
cross/tests: add llvm-based tests
2019-02-26 19:46:24 -05:00
Matthew Bauer
3c8b75f536
Merge pull request #56393 from matthewbauer/is-compatible
...
systems: add isCompatible handling
2019-02-26 16:39:08 -05:00
Matthew Bauer
aab8c7ba43
netbsd: add cross target
2019-02-26 15:55:47 -05:00
Matthew Bauer
20a4bbe23b
systems: add “emultator” for wasm
...
v8 can run any wasm bytecode
2019-02-25 20:07:43 -05:00
Matthew Bauer
bfb45e96b9
mesa: armv7a-linux supports mesa
2019-02-24 17:00:48 -05:00
Matthew Bauer
f455a07f13
systems: add isCompatible handling
2019-02-21 22:17:51 -05:00
Vincent Weisner
1eca8366e8
alpha-embedded: isAlpha code Added ( #56090 )
...
Adds isAlpha to stdenv.<platform> flags.
2019-02-20 14:27:47 -05:00
Vladimír Čunát
5effa4e0f9
Merge branch 'master' into staging-next
...
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
2019-02-01 09:22:29 +01:00
Matthew Bauer
bf041c3f1d
systems/default.nix: wasm in platform.uname.system
...
This adds the "Wasm" system to platform.uname.system. This is used in CMake infrastructure.
2019-01-27 17:29:23 -05:00
Daniel Goertzen
1c10efc912
add generic x86_32 support ( #52634 )
...
* 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
2019-01-06 12:57:36 -06:00
Vladimír Čunát
d84a33d85b
Merge branch 'master' into staging-next
...
A few more rebuilds (~1k on x86_64-linux).
2019-01-05 15:02:04 +01:00
John Ericson
3bf0e4efc7
lib: Fix Mingw on 32-bit ARM
2019-01-04 12:05:35 -05:00
Jan Tojnar
c45e9d0fac
Merge branch 'master' into staging
2018-12-25 17:03:57 +01:00
Sander van der Burg
51428627eb
Initial attempt to restore Android NDK cross building
2018-12-18 22:58:12 +01:00
Jörg Thalheim
554851e689
platform.emulator: fix non-x86 systems
2018-12-12 08:00:07 +00:00
Matthew Bauer
3b32c920d5
systems/parse.nix: support eabihf
...
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
2018-12-02 19:49:36 -06:00
Matthew Bauer
f435272ce3
Merge pull request #50212 from matthewbauer/host-emulator
...
Add "emulator" function to systems
2018-11-29 19:34:20 -06:00
Matthew Bauer
9c8fd41224
treewide: add emulator to platform
...
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.
2018-11-29 19:15:30 -06:00
Matthew Bauer
ce6d558c4d
systems/examples.nix: move riscv function to let binding
...
Makes it easier to use mapAttrs with lib.systems.examples. Now every
entry in it are legitimate systems.
2018-11-29 19:15:28 -06:00
Matthew Bauer
4b00cfe77f
systems/parse: add older x86 architectures
...
i386, i486, i586 are added. These may have issues as many places
assume i686 is the only valid 32 bit x86 architecture.
2018-11-21 09:38:10 -06:00
Vincent Weisner
e7d2ea13e1
lib/systems: Added missing semicolons
2018-11-09 09:08:28 -05:00
Vincent Weisner
84810a1ba0
lib/system: Added Embedded Platforms for the CPUs
...
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.
2018-11-09 09:06:31 -05:00
Vincent Weisner
0607adde1a
Update parse.nix
2018-11-02 09:38:47 -04:00
Jörg Thalheim
aa75ebdcd3
CPU Fix
...
Co-Authored-By: vincrusher <vincentweisner@icloud.com>
2018-11-01 11:14:18 -04:00