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