Jonathan Ringer
0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
...
This is a stdenv-rebuild, and should not be merged
into master
This reverts commit 8929989614
.
2021-01-22 14:07:06 -08:00
John Ericson
8929989614
lib: Clean up how linux and gcc config is specified
...
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.
This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.
`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.
The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Steven Pease
0fdab8d560
Merge branch 'master' into add-newer-xcode-hashes
2021-01-19 20:42:30 -08:00
Steven Pease
d8c1c0dc50
Update to XCode 12.3
2021-01-19 20:41:39 -08:00
John Ericson
19852e3dc6
Merge pull request #104648 from samueldr/cleanup/kernelMajor
...
platforms.nix: Remove now unused kernelMajor
2021-01-18 14:08:30 -05:00
John Ericson
15cb12178a
Merge pull request #107999 from andir/platforms-arm-trusted-platform
...
lib/systems/platforms: treat missing cpu version as generic pcBase
2020-12-31 13:52:09 -05:00
Ben Siraphob
b77ca83282
lib/systems: add emulator for mmix
2020-12-31 13:22:12 +07:00
Andreas Rammhold
a44aec2b1b
lib/systems/platforms: treat missing cpu version as generic pcBase
...
Since 40e7be1
all ARM platforms that didn't have a parsed cpu version
(e.g. arm-none-eabi) would be handled as armv7l-hf-multiplatform which
did break building arm-trusted-platform packages for some targets (e.g.
rk3399).
Using pcBase as fallback, instead of armv7l-hf-multiplatform,
corresponds with the behaviour we had before 40e7be1
.
2020-12-31 00:12:07 +01:00
Fabián Heredia Montiel
2a9ac172c1
lib.systems: update processor architecture info
2020-12-23 18:57:59 -06:00
Linus Heckemann
2ee35e1fce
lib/systems: fix kernelArch for x86_64
...
IA64 (Itanium) is something completely different and certainly not
what we want! x86_64 code lives in arch/x86 just like "classic" x86.
2020-12-17 11:10:38 +01:00
John Ericson
8e21ce5fae
Merge pull request #105294 from Ericson2314/platform-config-improvements
...
Platform config improvements
2020-12-02 11:17:41 -05:00
Tad Fisher
454df2b0c3
Cross-compiling configuration for reMarkable 2 tablet
2020-11-29 23:01:58 -08:00
John Ericson
9918ba2dba
lib/systems/exmaple: riscv-multiplatform
no longer needs parameter
2020-11-29 00:03:51 +00:00
John Ericson
04f6973200
lib, binutils: Move Risc-V bfdEmulation to be by the others
2020-11-29 00:03:51 +00:00
John Ericson
40e7be11c8
lib.systems.platforms: Make selection more flexible
...
We dont have to match on exact strings if we get accessed to `parsed`.
Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
2020-11-29 00:03:45 +00:00
Ben Siraphob
77e00150ba
Initial implementation of remarkable1 cross-compile
2020-11-23 21:18:54 +07:00
Samuel Dionne-Riel
837fe2e491
platforms.nix: Remove now unused kernelMajor
...
The last use of `kernelMajor` in Nixpkgs was removed in 2018.
Even then, I'm not positive it was actually in an exercised code path.
AFAIUI this is now totally redundant and useless as it really was meant
for the 2.4 -> 2.6 transition.
2020-11-22 22:08:18 -05:00
Frederik Rietdijk
986c2d36da
Merge master into staging-next
2020-11-16 09:01:53 +01:00
Samuel Dionne-Riel
6d8327ea96
Initial support for OpenRISC 1000 (or1k)
2020-11-09 22:32:11 -05:00
Ben Siraphob
445dde6304
Initial implementation of mmix cross-compile
2020-11-09 19:49:55 +07:00
Steven Pease
6217cc92b5
Add newer xcode versions
2020-10-15 23:17:55 -07:00
WORLDofPEACE
34aaac6d7c
Merge branch 'staging-next' into staging
2020-09-20 18:41:15 -04:00
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
Vincent Weisner
f9aaf7134b
Update parse.nix
2018-11-01 10:00:55 -04:00
John Ericson
4c48da246f
Merge pull request #49567 from obsidiansystems/arm-auto-detect
...
lib.systems.platforms: Add more ARM autodetection
2018-10-31 21:21:14 -04:00
John Ericson
aa964c82d3
lib.systems.platforms: Add more ARM autodetection
2018-10-31 19:04:06 -04:00
Matthew Bauer
2634d37617
systems/examples: add i686 & x86-64 embedded
...
Fixes #28160
2018-10-30 13:46:01 -05:00
Matthew Bauer
52dbd3380e
systems/parse.nix: support weird system configs
...
There are some weird ones out there that don’t follow any pattern:
- arm-none-eabi
- powerpc-none-eabi
- aarch64-none-elf
2018-10-29 14:34:10 -05:00
Matthew Bauer
412093994b
gcc: support avr
...
- respect libc’s incdir and libdir
- make non-unix systems single threaded
- set LIMITS_H_TEST to false for avr
- misc updates to support new libc’s
- use multilib with avr
For threads we want to use:
- posix on unix systems
- win32 on windows
- single on everything else
For avr:
- add library directories for avrlibc
- to disable relro and bind
- avr5 should have precedence over avr3 - otherwise gcc uses the wrong one
2018-10-29 14:34:09 -05:00
Matthew Bauer
72e3b2a662
systems: add avrlibc for avr systems
2018-10-29 14:34:09 -05:00
Matthew Bauer
d59a9ac7cf
avr: use new compilation infrastructure
...
Gets rid of:
avrbinutils
avrgcc
to replace with:
pkgsCross.avr.buildPackages.binutils
pkgsCross.avr.buildPackages.gcc
2018-10-29 14:34:09 -05:00
Matthew Bauer
4a12a9321c
tests/systems.nix: fix tests
...
these weren’t being run correctly
2018-10-18 14:12:49 -05:00
Matthew Bauer
c8040003f0
Correctly set windows doubles
...
mingw is the toolchain name but it is actually run on a window kernel
2018-10-17 17:03:00 -05:00
Matthew Bauer
45cc6e2a42
lib/systems: use lookup for uname.system
...
This is a little bit cleaner and avoids the if ... else if ... chain.
2018-10-17 14:43:49 -05:00
Matthew Bauer
8652631b13
systems/doubles.nix: add mingw doubles
...
this makes it easier to show what supports windows vs. unix.
2018-10-16 21:56:58 -05:00
Matthew Bauer
0e0894c37d
lib/systems: add uname attrs
2018-10-16 21:48:43 -05:00
Ben Wolsieffer
50e947f529
lib/systems: use correct config for armv7l-hf-multiplatform
2018-10-06 01:01:07 -04:00
John Ericson
6769437186
androidndk: Add Darwin support
...
Also switch Linux to using the official sha1 hashes for consistency.
They are gotten from https://developer.android.com/ndk/downloads/ .
2018-09-17 22:34:37 -04:00
Jörg Thalheim
9efffe0135
hurd: cleanup unmaintained target
...
This has been not touched in 6 years. Let's remove it to cause less
problems when adding new cross-compiling infrastructure.
This also simplify gcc significantly.
2018-08-28 22:18:02 +01:00
CrystalGamma
72d161f548
[RFC] ppc64le enablement ( #45340 )
...
* ppc64le enablement
* gcc, glibc: properly handle __float128
* lib/systems, stdenv: syntax cleanup
* gcc7: remove ugly hack
* gcc: add/update __float128 flags
* stdenv: add another pair of quotes for consistency
* gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
2018-08-21 15:31:34 -04:00
Matthew Bauer
a22797d356
systems: fix netbsd triple parsing
...
binutils expects x86_64-unknown-netbsd<version> (only 3 parts!). Any other combo seems to fail.
Also handle darwin versions similarly.
/cc @Ericson2314
2018-07-28 19:54:09 -04:00
John Q Crosscompiler
7cc62144b2
systems: Allow detection of powerpc and sparc
2018-07-26 09:33:36 -04:00
Matthew Bauer
0bfffbc5e1
xcode: add xcodePlatform to system
...
This give us a little bit more control over what target we are using.
Eventually we can target other things like WatchOS or MacOS.
2018-06-25 22:18:23 -04:00
Matthew Bauer
9b0b31d981
xcode: add xcodeVer to system
...
This version number controls which xcode version to use when building
cross to iOS.
2018-06-25 21:57:24 -04:00
Matthew Bauer
c8fd285c8d
android: add ndkVer to resolve ndk ambiguity
...
It wasn’t exactly clear which NDK you were using previously. This adds
an attribute to system that handles what version of the NDK we should
use when building things.
/cc @Ericson2314
2018-06-22 11:06:17 -04:00
Matthew Bauer
cf09ffe9aa
android: Use NDK 17 for aarch32
2018-06-22 09:33:25 -04:00
Ben Wolsieffer
7cb01d58b2
platforms/raspberrypi: enable kernelAutoModules
2018-06-12 20:44:23 +03:00
Tuomas Tynkkynen
e864247f08
Merge branch 'plat-fix-for-merge-2' into master
2018-06-01 20:08:08 +03:00
Tuomas Tynkkynen
27bb4da344
platforms.nix: More rpi2 cleanup
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
3abdd4f1e3
platforms.nix: Clean up obsolete cruft from raspberrypi2
2018-05-31 18:06:09 +03:00
Tuomas Tynkkynen
db2988f7bd
platforms.nix: Clean up obsolete cruft from raspberrypi
...
Works fine without, and the 'DRM n' is actually preventing the mainline
VC4 driver from building.
2018-05-31 18:06:09 +03:00