Commit graph

30 commits

Author SHA1 Message Date
q66
29255b0244 build-profiles: drop unnecessary cflags for ppc
we don't need to specify -mcpu where compiler default is used,
preserve mtune though; do not -mno-altivec on ppc since altivec
is not default in the first place and doing this will just
break random things that explicitly enable altivec for runtime
checked code; do not use -maltivec on either ppc64le or ppc64
since it's implied by their -mcpu's (power8 for ppc64le which
is implicit, and 970 for ppc64 which is explicit)

also remove -mlong-double-64 for musl targets as that's compiler
default and it's not necessary to pass it; also remove -mabi=elfv2
for both ppc64le and ppc64 since it's implied default
2020-12-06 05:51:31 +01:00
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
2f206ef38c build-profiles: add ppc64.sh (glibc ELFv2) 2019-04-27 16:10:35 +02:00
q66
3c47efa808 common: expose build profile in cross env
[ci skip]
2019-04-09 19:26:59 -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
918f50cd20
build-profiles/README: mention XBPS_RUST_TARGET 2019-01-19 07:59:52 -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
Rasmus Thomsen
45030a9b15 build-profiles: set XBPS_RUST_TARGET 2018-10-15 08:20:10 +02: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
Jürgen Buchmüller
60603dd0a5 common: rename FCC to FC and introduce FFLAGS 2017-03-08 16:04:42 +01:00
Juan RP
60f4ec0649 build-profiles/aarch64-musl: set XBPS_TARGET_CXXFLAGS correctly. 2015-06-05 07:16:53 +02:00
Juan RP
14e40a77e3 build-profiles/aarch64: set XBPS_TARGET_CXXFLAGS correctly. 2015-06-04 15:55:56 +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
c25f4da501 common/build-profiles/i686-musl.sh: XBPS_HOST_TRIPLET -> XBPS_TRIPLET. 2015-04-22 10:40:49 +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
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
724426f8e7 common/build-profiles: added a minimal README. 2015-02-21 12:07:23 +01:00
Juan RP
2f9f85e3f5 build-profiles: *-musl: enable -fstack-protector-strong. 2015-02-07 11:37:44 +01:00
Juan RP
897b504d6b xbps-src: use bootstrap build-profile for the bootstrap target.
... otherwise the proper compiler flags are being used in the chroot case.
2014-12-24 09:55:29 +01:00
Juan RP
03d56c4b9c build-profiles: force -mtune=generic on native x86_64. 2014-11-22 19:17:45 +01:00
Juan RP
17ea528f46 common/build-profiles/armv7l-musl.sh: gnueabihf -> musleabi. 2014-11-11 22:27:35 +01:00
Juan RP
9a168e4463 xbps-src: introduce XBPS_TRIPLET and set it in the build-profiles.
This is for cases where host does not match build environment (x86_64 building for x86).
So we just force build/host triplet in native builds.
2014-11-11 22:24:40 +01:00
Juan RP
c2bd01c8d3 xbps-src: introduce build profiles and use it by default.
common/build-profiles contains the compilation flags used in native
builds, and are defined per architecture:

	- x86_64 (glibc)
	- x86_64-musl (musl)

If XBPS_CFLAGS or XBPS_CXXFLAGS are set in `etc/conf`, the settings
from the build profile will be overrided.
2014-11-10 11:17:34 +01:00