Commit Graph

60 Commits

Author SHA1 Message Date
Jürgen Buchmüller f1a7dfbfef
common: fix XBPS_{,TARGET_}{ENDIAN,LIBC,WORDSIZE}
My first attempt was not working at all.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-08-03 23:09:49 +02:00
Jürgen Buchmüller 6a1b977e0c Revert "profiles: introduce XBPS_{,TARGET_}{ENDIAN,LIBC}"
This reverts commit 9b3203401d.

It doesn't actually work. Use the method suggested by @q66 instead.
2019-08-03 23:09:36 +02:00
Jürgen Buchmüller 9b3203401d
profiles: introduce XBPS_{,TARGET_}{ENDIAN,LIBC}
Provide new environment variables for simplifaction of template checks:
...ENDIAN defines the (target) machine's endianness: "le" or "be".
...LIBC defines the (target) machine's C library: "glibc" or "musl".

Closes: #13356
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2019-08-02 17:34:05 +02:00
Jürgen Buchmüller ed4cdadcfd common/profiles: introduce XBPS_{,TARGET_}WORDSIZE
The host and target word size can be used to determine whether
cross compiling certain packages is possible.
2019-07-26 15:18:11 +02:00
Jürgen Buchmüller d01f6a335c cross-profiles: add ppc64.sh (glibc ELFv2) 2019-04-27 16:10:35 +02:00
John 01d11a4938 build-style/cmake: set CMAKE_CROSSCOMPILING_EMULATOR 2019-04-05 23:04:14 +02:00
q66 17e78ac881 cross-profiles: fix rust target for x86_64-musl
[ci skip]
2019-03-03 22:34:57 -03:00
stenstorp 86ca0398b3 common: explicitly disable altivec on ppc 2019-02-08 13:06:57 -02:00
Thomas Batten 47f5b52023 common: Add rust target to ppc build/cross profiles 2019-01-22 22:54:16 -02:00
maxice8 5ae9e3d2f1
cross-profiles/README: mention XBPS_CROSS_RUST_TARGET
XBPS_CROSS_RUSTFLAGS
2019-01-19 08:03:20 -02:00
Thomas Batten 8f52911ac9 common: Add build/cross profiles for ppc/ppc-musl 2019-01-19 10:15:01 +01:00
q66 151f876627 common: add ppc64 build profiles and other ppc64 bits
This adds the build profiles for ppc64 targets as well as
modifications in other parts of the infra.

These targets are supported:

- ppc64le (glibc little endian elfv2)
- ppc64le-musl (musl little endian)
- ppc64-musl (musl big endian)

ELFv1 targets are explicitly not supported at this point.

Big endian musl supports ppc 970 or newer, while little endian
targets are set to a generic powerpc64le which effectively means
POWER8 and newer. Tuning is always set for POWER9, which is the
most likely target hardware. We also make sure AltiVec is always
on, because it is supported on all hardware we target.

[ci skip]
2019-01-05 23:38:00 +01:00
Linux-BSD db35a1e9a1
Add variables to fix cross compiling rust for mips*
Closes: #5259 [via git-merge-pr]
Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
2018-12-03 09:11:48 +01:00
Rasmus Thomsen 9141df9698 cross-profiles: set XBPS_CROSS_RUST_FLAGS&XBPS_CROSS_RUST_TARGET
only added to platforms which support rust
2018-10-15 08:20:10 +02:00
hipperson0 fb26ec4a5b New package: cross-mips-linux-muslhf-0.24 2017-11-24 10:11:23 +01:00
Jürgen Buchmüller 272114cd05 xbps-src: trying to fix FFLAGS construction
This still isn't perfect. When the common/xbps-src/shutils/chroot.sh
function chroot_init() is called, the value for $XBPS_FFLAGS, which is
defined in common/build-profiles/bootstrap.sh, is empty.

Put the immediate value into the generated /etc/xbps/xbps-src.conf
file until someone finds out where passing the value of $XBPS_FFLAGS
throughout the scripts is missing.
2017-03-08 17:36:22 +01:00
Juan RP 2defe2ff17 cross-profiles: get rid of musl-gnulibfix (unused). 2016-04-27 16:55:16 +02:00
Juan RP b722ed3c8b cross-profiles: simplify and rename some of them to match XBPS_TARGET_MACHINE.
- XBPS_TARGET_ARCH var renamed to XBPS_TARGET_MACHINE (gets rid of an extra var).
- Renamed cross profiles to match XBPS_TARGET_MACHINE.
- Added symlinks to keep compatibility with old profiles.
2016-04-27 16:47:05 +02:00
Juan RP c85787ebf9 cross-profiles: mipselhf-musl: set XBPS_TARGET_MACHINE to mipselhf-musl.
... otherwise the triplet in gcc does not match.
2016-04-26 09:40:51 +02:00
Juan RP 14931d5ab2 cross-profiles/i686-musl: use defaults.
To disable hardening features this file should not be used.
2015-12-12 07:48:59 +01:00
Juan RP 0795d6a787 cross-profiles/README: sync with reality. 2015-11-18 09:34:57 +01:00
Andrea Brancaleoni d545ebe138 New cross-profile: armv5tel-musl 2015-09-21 09:00:45 +02:00
Juan RP 97bfe44ebe cross-profiles: added mipsel-musl target (MIPS32r2 LE SF) 2015-07-14 11:59:40 +02:00
Juan RP e890d87070 cross-profiles: added mipselhf-musl cross target. 2015-07-08 10:29:57 +02:00
Juan RP 537cdcb9e8 cross-arm-linux-gnueabihf7 -> cross-armv7l-linux-gnueabihf. 2015-05-17 08:33:09 +02:00
Juan RP b13f6e6fc5 cross-arm-linux-musleabi -> cross-arm-linux-musleabihf (for ARMv6 HF). 2015-05-17 08:15:41 +02:00
Juan RP 33a2ce7cb0 New package: cross-armv7l-linux-musleabihf for armv7hf-musl. 2015-05-17 08:01:04 +02:00
Juan RP e950a5d0c8 cross-profiles/aarch64-musl: -fstack-protector-strong works. 2015-05-02 12:05:12 +02:00
Juan RP dbf77e4dcd xbps-src: added support to cross compile for MIPS32 (r2, be, sf) with musl. 2015-05-02 05:56:12 +02:00
Juan RP 35004001d4 Remove cross mips pkgs with glibc. Nobody wants this really.
I'll import a cross pkg for MIPS that uses musl instead.
2015-05-02 05:16:32 +02:00
Juan RP 8da4192b04 common/cross-profiles/armv5te.sh: sync with current cross pkg. 2015-05-01 11:37:22 +02:00
Juan RP 240bdb088a cross-i686-pc-linux-gnu: update toolchain components and unbreak. 2015-04-11 10:29:52 +02:00
Christian Neukirchen 71fe1e30ff common/*-profiles/aarch64-musl.sh: add AArch64/ARMv8 musl profiles. 2015-03-30 18:33:43 +02:00
Christian Neukirchen 25bb572dbe common/*-profiles/aarch64.sh: add AArch64/ARMv8 glibc cross profile. 2015-03-30 18:33:43 +02:00
Christian Neukirchen 8f1abb9242 hooks/pre-configure/01-aarch64-override-config.sh: new hook. 2015-03-30 18:33:43 +02:00
Christian Neukirchen ae01380ba4 common/cross-profiles/config.sub: update to automake 1.15 version. 2015-03-30 18:33:43 +02:00
Juan RP 3cb08dd17b cross-profiles/i686-musl: also disable _FORTIFY_SOURCE. 2015-03-06 10:33:53 +01:00
Juan RP 020fa3827f cross-profiles/i686-musl: force disable SSP.
whrlpool/.libs/libcrypto_la-wp_block.o: In function `whirlpool_block':
/builddir/libressl-2.1.4/crypto/whrlpool/wp_block.c:634: undefined reference to `__stack_chk_fail_local'
2015-03-06 10:31:09 +01:00
Juan RP ee5d8644be cross-profiles/i686-musl: disable SSP completely. 2015-03-06 10:29:40 +01:00
Juan RP 3774e0e061 cross-profile: i686-musl: disable fstack-protector-strong for now.
crc32.lo: In function `crc32_combine_':
crc32.c:(.text+0x1d1): undefined reference to `__stack_chk_fail_local'
2015-03-06 10:28:26 +01:00
Juan RP 9000a1e907 cross-profiles: use working C{,XX}FLAGS for cross pkgs that use gcc-4.7.x. 2015-03-06 08:23:46 +01:00
Juan RP b095cbfbfe cross-profiles: i686: use -fstack-protector for now (close #1061).
The cross-i686-pc-linux-gnu pkg uses gcc-4.7.x and does not support
-fstack-protector-strong, so use a more relaxed approach for now.
2015-03-06 08:21:21 +01:00
Juan RP 50a116d27a xbps-src: set default compiler/preprocessor/linker flags via etc/conf.
Rather than setting them in the build profile, just set them in
etc/defaults.conf (overridable via etc/conf) to simplify the code.

- Also enable _FORTIFY_SOURCE=2 in CPPFLAGS.
- Also enable -z,relro in LDFLAGS.

As suggested by @chneukirchen.
2015-03-04 15:18:46 +01:00
Juan RP 5352c7a007 cross-i686-linux-musl: update components, enable -fstack-protector-strong.
- updated binutils to 2.25
- updated gcc to 4.9.2
- updated musl to 1.1.6
- updated linux headers to 3.18.5
2015-02-03 17:50:28 +01:00
Juan RP ccc4b79acf cross-x86_64-linux-musl: update components, enable -fstack-protector-strong.
- updated binutils to 2.25
- updated gcc to 4.9.2
- updated musl to 1.1.6
- updated linux headers to 3.18.5
2015-02-03 17:33:03 +01:00
Juan RP 52b35693d4 cross-arm-linux-musleabi: update components.
- binutils updated to 2.25
- gcc updated to 4.9.2
- musl updated to 1.1.6
- kernel headers updated to 3.18.5

Also enable -fstack-protector-strong by default in the armv[67]hf-musl
cross profiles.
2015-02-02 22:18:19 +01:00
Juan RP 2f3537525a cross-profiles/armv7hf.sh: switch to the arm-linux-gnueabihf7 cross compiler. 2014-09-07 09:06:53 +02:00
Juan RP a5b8b3052b cross-profiles/armv7hf: switch to the armv7l-linux-gnueabihf cross compiler again.
glibc uses the cross compiler preprocessor to know what architecture
to compile for, resulting in wrong architecture being used with the armv6
cross compiler.
2014-09-07 01:21:01 +02:00
Juan RP 8fc5850fd4 cross-profiles/armv7hf: use the arm-linux-gnueabihf cross compiler.
There's no reason to use the gnueabihf7 variant, because the only difference
are the CFLAGS to build it. Use the gnueabihf one (used by Rpi too).
2014-08-21 16:56:03 +02:00
Juan RP bb7da9658d cross-profiles: enable -fstack-protector-strong for armv[67]hf profiles. 2014-05-16 08:30:07 +02:00