From 9b3203401d1b78924ac917d21efa31058adc47ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Fri, 2 Aug 2019 17:30:13 +0200 Subject: [PATCH] profiles: introduce XBPS_{,TARGET_}{ENDIAN,LIBC} MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- Manual.md | 16 ++++++++++++---- common/build-profiles/aarch64-musl.sh | 2 ++ common/build-profiles/aarch64.sh | 2 ++ common/build-profiles/armv6l-musl.sh | 2 ++ common/build-profiles/armv6l.sh | 2 ++ common/build-profiles/armv7l-musl.sh | 2 ++ common/build-profiles/armv7l.sh | 2 ++ common/build-profiles/i686-musl.sh | 2 ++ common/build-profiles/i686.sh | 2 ++ common/build-profiles/ppc-musl.sh | 2 ++ common/build-profiles/ppc.sh | 2 ++ common/build-profiles/ppc64-musl.sh | 2 ++ common/build-profiles/ppc64.sh | 2 ++ common/build-profiles/ppc64le-musl.sh | 2 ++ common/build-profiles/ppc64le.sh | 2 ++ common/build-profiles/x86_64-musl.sh | 2 ++ common/build-profiles/x86_64.sh | 2 ++ common/cross-profiles/aarch64-musl.sh | 2 ++ common/cross-profiles/aarch64.sh | 2 ++ common/cross-profiles/armv5tel-musl.sh | 2 ++ common/cross-profiles/armv5tel.sh | 2 ++ common/cross-profiles/armv6l-musl.sh | 2 ++ common/cross-profiles/armv6l.sh | 2 ++ common/cross-profiles/armv7l-musl.sh | 2 ++ common/cross-profiles/armv7l.sh | 2 ++ common/cross-profiles/i686-musl.sh | 2 ++ common/cross-profiles/i686.sh | 2 ++ common/cross-profiles/mips-musl.sh | 2 ++ common/cross-profiles/mipsel-musl.sh | 2 ++ common/cross-profiles/mipselhf-musl.sh | 2 ++ common/cross-profiles/mipshf-musl.sh | 2 ++ common/cross-profiles/ppc-musl.sh | 2 ++ common/cross-profiles/ppc.sh | 2 ++ common/cross-profiles/ppc64-musl.sh | 2 ++ common/cross-profiles/ppc64.sh | 2 ++ common/cross-profiles/ppc64le-musl.sh | 2 ++ common/cross-profiles/ppc64le.sh | 2 ++ common/cross-profiles/x86_64-musl.sh | 2 ++ common/xbps-src/shutils/common.sh | 8 +++++--- 39 files changed, 91 insertions(+), 7 deletions(-) diff --git a/Manual.md b/Manual.md index edd87984c1..8eeba5fda1 100644 --- a/Manual.md +++ b/Manual.md @@ -365,16 +365,24 @@ in this directory such as `${XBPS_BUILDDIR}/${wrksrc}`. - `XBPS_MACHINE` The machine architecture as returned by `xbps-uhelper arch`. +- `XBPS_ENDIAN` The machine's endianness ("le" for little-endian, "be" for big-endian). + +- `XBPS_LIBC` The machine's C library ("glibc" for GNU libc, "musl" for Musl libc). + - `XBPS_WORDSIZE` The machine's word size in bits (32 or 64). +- `XBPS_TARGET_MACHINE` The target machine architecture when cross compiling a package. + +- `XBPS_TARGET_ENDIAN` The target machine's endiannes ("le" for little-endian, "be" for big-endian). + +- `XBPS_TARGET_LIBC` The target machine's C library ("glibc" for GNU libc, "musl" for Musl libc). + +- `XBPS_TARGET_WORDSIZE` The target machine's word size in bits (32 or 64). + - `XBPS_SRCDISTDIR` Full path to where the `source distfiles` are stored, i.e `$XBPS_HOSTDIR/sources`. - `XBPS_SRCPKGDIR` Full path to the `srcpkgs` directory. -- `XBPS_TARGET_MACHINE` The target machine architecture when cross compiling a package. - -- `XBPS_TARGET_WORDSIZE` The target machine's word size in bits (32 or 64). - - `XBPS_FETCH_CMD` The utility to fetch files from `ftp`, `http` of `https` servers. - `XBPS_WRAPPERDIR` Full path to where xbps-src's wrappers for utilities are stored. diff --git a/common/build-profiles/aarch64-musl.sh b/common/build-profiles/aarch64-musl.sh index aaac64d677..8fffcdc064 100644 --- a/common/build-profiles/aarch64-musl.sh +++ b/common/build-profiles/aarch64-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=musl XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-march=armv8-a" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/aarch64.sh b/common/build-profiles/aarch64.sh index 5a04755d2c..f1d1087b8f 100644 --- a/common/build-profiles/aarch64.sh +++ b/common/build-profiles/aarch64.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-march=armv8-a" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/armv6l-musl.sh b/common/build-profiles/armv6l-musl.sh index 03bdec4f27..5d8253b279 100644 --- a/common/build-profiles/armv6l-musl.sh +++ b/common/build-profiles/armv6l-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=musl XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/armv6l.sh b/common/build-profiles/armv6l.sh index 0bf1e3b171..30b1d70bef 100644 --- a/common/build-profiles/armv6l.sh +++ b/common/build-profiles/armv6l.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/armv7l-musl.sh b/common/build-profiles/armv7l-musl.sh index 8c35c92fd5..94895a60c4 100644 --- a/common/build-profiles/armv7l-musl.sh +++ b/common/build-profiles/armv7l-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=musl XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_CXXFLAGS" diff --git a/common/build-profiles/armv7l.sh b/common/build-profiles/armv7l.sh index 70445d5075..cc5f839d9d 100644 --- a/common/build-profiles/armv7l.sh +++ b/common/build-profiles/armv7l.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/i686-musl.sh b/common/build-profiles/i686-musl.sh index 558871c228..c3ed3e9238 100644 --- a/common/build-profiles/i686-musl.sh +++ b/common/build-profiles/i686-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=musl XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-mtune=i686" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/i686.sh b/common/build-profiles/i686.sh index 3558c8e81a..89282578b9 100644 --- a/common/build-profiles/i686.sh +++ b/common/build-profiles/i686.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-mtune=i686" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc-musl.sh b/common/build-profiles/ppc-musl.sh index dea288a9eb..8334541344 100644 --- a/common/build-profiles/ppc-musl.sh +++ b/common/build-profiles/ppc-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=be +XBPS_LIBC=musl XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-mcpu=powerpc -mno-altivec -mtune=G4 -mlong-double-64" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc.sh b/common/build-profiles/ppc.sh index 3c729f2bf8..d3b959dd1c 100644 --- a/common/build-profiles/ppc.sh +++ b/common/build-profiles/ppc.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=be +XBPS_LIBC=glibc XBPS_WORDSIZE=32 XBPS_TARGET_CFLAGS="-mcpu=powerpc -mno-altivec -mtune=G4" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc64-musl.sh b/common/build-profiles/ppc64-musl.sh index b4cbafa1fa..692d0f5d76 100644 --- a/common/build-profiles/ppc64-musl.sh +++ b/common/build-profiles/ppc64-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=be +XBPS_LIBC=musl XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mcpu=970 -mtune=power9 -maltivec -mlong-double-64 -mabi=elfv2" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc64.sh b/common/build-profiles/ppc64.sh index 5805d7d7d7..bf1f81521a 100644 --- a/common/build-profiles/ppc64.sh +++ b/common/build-profiles/ppc64.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=be +XBPS_LIBC=glibc XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mcpu=970 -mtune=power9 -maltivec -mabi=elfv2" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc64le-musl.sh b/common/build-profiles/ppc64le-musl.sh index 64c460de79..5dbfe61928 100644 --- a/common/build-profiles/ppc64le-musl.sh +++ b/common/build-profiles/ppc64le-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=musl XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mcpu=powerpc64le -mtune=power9 -maltivec -mlong-double-64 -mabi=elfv2" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/ppc64le.sh b/common/build-profiles/ppc64le.sh index d24874bfcc..42f0ed40d7 100644 --- a/common/build-profiles/ppc64le.sh +++ b/common/build-profiles/ppc64le.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mcpu=powerpc64le -mtune=power9 -maltivec -mabi=elfv2" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/x86_64-musl.sh b/common/build-profiles/x86_64-musl.sh index 524ef1f70d..1ac2e5eee1 100644 --- a/common/build-profiles/x86_64-musl.sh +++ b/common/build-profiles/x86_64-musl.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBLS_LIBC=musl XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mtune=generic" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/build-profiles/x86_64.sh b/common/build-profiles/x86_64.sh index 26310197a4..fecbf36b5e 100644 --- a/common/build-profiles/x86_64.sh +++ b/common/build-profiles/x86_64.sh @@ -1,3 +1,5 @@ +XBPS_ENDIAN=le +XBPS_LIBC=glibc XBPS_WORDSIZE=64 XBPS_TARGET_CFLAGS="-mtune=generic" XBPS_TARGET_CXXFLAGS="$XBPS_TARGET_CFLAGS" diff --git a/common/cross-profiles/aarch64-musl.sh b/common/cross-profiles/aarch64-musl.sh index 1f97265538..018b7e40d8 100644 --- a/common/cross-profiles/aarch64-musl.sh +++ b/common/cross-profiles/aarch64-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ARMv8. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="aarch64-musl" XBPS_TARGET_QEMU_MACHINE="aarch64" diff --git a/common/cross-profiles/aarch64.sh b/common/cross-profiles/aarch64.sh index 87d6181672..422dc766ff 100644 --- a/common/cross-profiles/aarch64.sh +++ b/common/cross-profiles/aarch64.sh @@ -1,4 +1,6 @@ # Cross build profile for ARMv8. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="aarch64" XBPS_TARGET_QEMU_MACHINE="aarch64" diff --git a/common/cross-profiles/armv5tel-musl.sh b/common/cross-profiles/armv5tel-musl.sh index b5a2755f4b..7f43be35f5 100644 --- a/common/cross-profiles/armv5tel-musl.sh +++ b/common/cross-profiles/armv5tel-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ARM GNU EABI5 Soft Float and Musl libc. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv5tel-musl" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/armv5tel.sh b/common/cross-profiles/armv5tel.sh index 34d612407c..a04fa62d48 100644 --- a/common/cross-profiles/armv5tel.sh +++ b/common/cross-profiles/armv5tel.sh @@ -1,4 +1,6 @@ # Cross build profile for ARM GNU EABI5 Soft Float. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv5tel" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/armv6l-musl.sh b/common/cross-profiles/armv6l-musl.sh index 63c6c6ef96..bd51e9a724 100644 --- a/common/cross-profiles/armv6l-musl.sh +++ b/common/cross-profiles/armv6l-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ARM EABI5 Hard Float and Musl libc. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv6l-musl" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/armv6l.sh b/common/cross-profiles/armv6l.sh index 5760650b99..3ebc65d9dd 100644 --- a/common/cross-profiles/armv6l.sh +++ b/common/cross-profiles/armv6l.sh @@ -1,4 +1,6 @@ # Cross build profile for ARM GNU EABI5 Hard Float. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv6l" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/armv7l-musl.sh b/common/cross-profiles/armv7l-musl.sh index 30132c4ed7..9978a56c2d 100644 --- a/common/cross-profiles/armv7l-musl.sh +++ b/common/cross-profiles/armv7l-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ARMv7 EABI Hard Float and Musl libc. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv7l-musl" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/armv7l.sh b/common/cross-profiles/armv7l.sh index 0e1ae529a3..26cd959194 100644 --- a/common/cross-profiles/armv7l.sh +++ b/common/cross-profiles/armv7l.sh @@ -1,4 +1,6 @@ # Cross build profile for ARMv7 GNU EABI Hard Float. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="armv7l" XBPS_TARGET_QEMU_MACHINE="arm" diff --git a/common/cross-profiles/i686-musl.sh b/common/cross-profiles/i686-musl.sh index 17613344a5..0bde5c4654 100644 --- a/common/cross-profiles/i686-musl.sh +++ b/common/cross-profiles/i686-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for i686 and Musl libc. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="i686-musl" XBPS_TARGET_QEMU_MACHINE="i386" diff --git a/common/cross-profiles/i686.sh b/common/cross-profiles/i686.sh index 0243928284..1af15a1b66 100644 --- a/common/cross-profiles/i686.sh +++ b/common/cross-profiles/i686.sh @@ -1,4 +1,6 @@ # Cross build profile for i686 GNU. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="i686" XBPS_TARGET_QEMU_MACHINE="i386" diff --git a/common/cross-profiles/mips-musl.sh b/common/cross-profiles/mips-musl.sh index 7ce212d7da..913c47cb7d 100644 --- a/common/cross-profiles/mips-musl.sh +++ b/common/cross-profiles/mips-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for MIPS32 BE soft float. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="mips-musl" XBPS_TARGET_QEMU_MACHINE="mips" diff --git a/common/cross-profiles/mipsel-musl.sh b/common/cross-profiles/mipsel-musl.sh index 4d7bbe2d45..8ff6c2310e 100644 --- a/common/cross-profiles/mipsel-musl.sh +++ b/common/cross-profiles/mipsel-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for MIPS32 LE soft float. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="mipsel-musl" XBPS_TARGET_QEMU_MACHINE="mipsel" diff --git a/common/cross-profiles/mipselhf-musl.sh b/common/cross-profiles/mipselhf-musl.sh index a2ea998b5d..10c392f255 100644 --- a/common/cross-profiles/mipselhf-musl.sh +++ b/common/cross-profiles/mipselhf-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for MIPS32 LE hardfloat. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="mipselhf-musl" XBPS_TARGET_QEMU_MACHINE="mipsel" diff --git a/common/cross-profiles/mipshf-musl.sh b/common/cross-profiles/mipshf-musl.sh index e96cff66db..7b84a04caf 100644 --- a/common/cross-profiles/mipshf-musl.sh +++ b/common/cross-profiles/mipshf-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for MIPS32 BE hard float. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="mipshf-musl" XBPS_TARGET_QEMU_MACHINE="mips" diff --git a/common/cross-profiles/ppc-musl.sh b/common/cross-profiles/ppc-musl.sh index ca941220c5..31edd89531 100644 --- a/common/cross-profiles/ppc-musl.sh +++ b/common/cross-profiles/ppc-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for PowerPC. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="ppc-musl" XBPS_TARGET_QEMU_MACHINE="ppc" diff --git a/common/cross-profiles/ppc.sh b/common/cross-profiles/ppc.sh index 7bce7afd33..ec697abcf4 100644 --- a/common/cross-profiles/ppc.sh +++ b/common/cross-profiles/ppc.sh @@ -1,4 +1,6 @@ # Cross build profile for PowerPC. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=32 XBPS_TARGET_MACHINE="ppc" XBPS_TARGET_QEMU_MACHINE="ppc" diff --git a/common/cross-profiles/ppc64-musl.sh b/common/cross-profiles/ppc64-musl.sh index 2bf5b2c8ca..4e0395b0e0 100644 --- a/common/cross-profiles/ppc64-musl.sh +++ b/common/cross-profiles/ppc64-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ppc64 big-endian musl. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="ppc64-musl" XBPS_TARGET_QEMU_MACHINE="ppc64" diff --git a/common/cross-profiles/ppc64.sh b/common/cross-profiles/ppc64.sh index b014fbe392..2d7ea00bca 100644 --- a/common/cross-profiles/ppc64.sh +++ b/common/cross-profiles/ppc64.sh @@ -1,4 +1,6 @@ # Cross build profile for ppc64 big-endian GNU. +XBPS_TARGET_ENDIAN=be +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="ppc64" XBPS_TARGET_QEMU_MACHINE="ppc64" diff --git a/common/cross-profiles/ppc64le-musl.sh b/common/cross-profiles/ppc64le-musl.sh index d7258b99ae..426879a822 100644 --- a/common/cross-profiles/ppc64le-musl.sh +++ b/common/cross-profiles/ppc64le-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for ppc64 little-endian musl. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="ppc64le-musl" XBPS_TARGET_QEMU_MACHINE="ppc64le" diff --git a/common/cross-profiles/ppc64le.sh b/common/cross-profiles/ppc64le.sh index c14b1e5ecd..1e1aceb186 100644 --- a/common/cross-profiles/ppc64le.sh +++ b/common/cross-profiles/ppc64le.sh @@ -1,4 +1,6 @@ # Cross build profile for ppc64 little-endian GNU. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=glibc XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="ppc64le" XBPS_TARGET_QEMU_MACHINE="ppc64le" diff --git a/common/cross-profiles/x86_64-musl.sh b/common/cross-profiles/x86_64-musl.sh index cde91f808b..d538dd7b33 100644 --- a/common/cross-profiles/x86_64-musl.sh +++ b/common/cross-profiles/x86_64-musl.sh @@ -1,4 +1,6 @@ # Cross build profile for x86_64 and Musl libc. +XBPS_TARGET_ENDIAN=le +XBPS_TARGET_LIBC=musl XBPS_TARGET_WORDSIZE=64 XBPS_TARGET_MACHINE="x86_64-musl" XBPS_TARGET_QEMU_MACHINE="x86_64" diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh index 146d4e0604..e39f0cef86 100644 --- a/common/xbps-src/shutils/common.sh +++ b/common/xbps-src/shutils/common.sh @@ -276,8 +276,8 @@ setup_pkg() { if [ -n "$cross" ]; then source_file $XBPS_CROSSPFDIR/${cross}.sh - _vars="TARGET_WORDSIZE TARGET_MACHINE CROSS_TRIPLET CROSS_CFLAGS CROSS_CXXFLAGS TARGET_QEMU_MACHINE" - for f in ${_vars}; do + for f in TARGET_ENDIAN TARGET_LIBC TARGET_WORDSIZE TARGET_MACHINE \ + CROSS_TRIPLET CROSS_CFLAGS CROSS_CXXFLAGS TARGET_QEMU_MACHINE; do eval val="\$XBPS_$f" if [ -z "$val" ]; then echo "ERROR: XBPS_$f is not defined!" @@ -286,7 +286,7 @@ setup_pkg() { done export XBPS_CROSS_BASE=/usr/$XBPS_CROSS_TRIPLET - export XBPS_TARGET_WORDSIZE + export XBPS_TARGET_ENDIAN XBPS_TARGET_LIBC XBPS_TARGET_WORDSIZE export XBPS_TARGET_QEMU_MACHINE XBPS_INSTALL_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE $XBPS_INSTALL_CMD -c /host/repocache -r $XBPS_CROSS_BASE" @@ -297,6 +297,8 @@ setup_pkg() { XBPS_UHELPER_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE xbps-uhelper -r $XBPS_CROSS_BASE" XBPS_CHECKVERS_XCMD="env XBPS_TARGET_ARCH=$XBPS_TARGET_MACHINE xbps-checkvers -r $XBPS_CROSS_BASE --repository=$XBPS_REPOSITORY" else + export XBPS_TARGET_ENDIAN=${XBPS_TARGET_ENDIAN:-$XBPS_ENDIAN} + export XBPS_TARGET_LIBC=${XBPS_TARGET_LIBC:-$XBPS_LIBC} export XBPS_TARGET_WORDSIZE=${XBPS_TARGET_WORDSIZE:-$XBPS_WORDSIZE} export XBPS_TARGET_MACHINE=${XBPS_ARCH:-$XBPS_MACHINE} unset XBPS_CROSS_BASE XBPS_CROSS_LDFLAGS XBPS_CROSS_FFLAGS