2024-03-06 00:37:36 +00:00
|
|
|
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
|
2024-03-21 21:31:10 +00:00
|
|
|
if [ -z "${TARGET_LIBC}" ] || [ "${KRATA_TARGET_IGNORE_LIBC}" = "1" ]
|
2024-03-06 00:37:36 +00:00
|
|
|
then
|
2024-03-21 21:31:10 +00:00
|
|
|
TARGET_LIBC="gnu"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${TARGET_ARCH}" ]
|
|
|
|
then
|
|
|
|
TARGET_ARCH="$(uname -m)"
|
2024-03-06 00:37:36 +00:00
|
|
|
fi
|
|
|
|
|
2024-03-22 01:16:04 +00:00
|
|
|
if [ "${TARGET_ARCH}" = "arm64" ]
|
2024-03-06 00:37:36 +00:00
|
|
|
then
|
2024-03-22 01:16:04 +00:00
|
|
|
TARGET_ARCH="aarch64"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${TARGET_OS}" ]
|
|
|
|
then
|
|
|
|
TARGET_OS="$(uname -s)"
|
2024-03-22 02:54:14 +00:00
|
|
|
TARGET_OS="$(echo "${TARGET_OS}" | awk -F '_' '{print $1}')"
|
2024-03-22 01:16:04 +00:00
|
|
|
TARGET_OS="$(echo "${TARGET_OS}" | tr '[:upper:]' '[:lower:]')"
|
2024-03-22 02:54:14 +00:00
|
|
|
|
|
|
|
if [ "${TARGET_OS}" = "mingw64" ]
|
|
|
|
then
|
|
|
|
TARGET_OS="windows"
|
|
|
|
fi
|
2024-03-22 01:16:04 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "${TARGET_OS}" = "darwin" ]
|
|
|
|
then
|
|
|
|
if [ -z "${RUST_TARGET}" ]
|
2024-03-06 00:37:36 +00:00
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && RUST_TARGET="x86_64-apple-darwin"
|
|
|
|
[ "${TARGET_ARCH}" = "aarch64" ] && RUST_TARGET="aarch64-apple-darwin"
|
2024-03-22 01:16:04 +00:00
|
|
|
fi
|
2024-03-22 02:54:14 +00:00
|
|
|
elif [ "${TARGET_OS}" = "windows" ]
|
|
|
|
then
|
|
|
|
if [ -z "${RUST_TARGET}" ]
|
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && RUST_TARGET="x86_64-pc-windows-msvc"
|
|
|
|
[ "${TARGET_ARCH}" = "aarch64" ] && RUST_TARGET="aarch64-pc-windows-msvc"
|
2024-03-22 02:54:14 +00:00
|
|
|
fi
|
2024-03-22 04:41:38 +00:00
|
|
|
elif [ "${TARGET_OS}" = "freebsd" ]
|
|
|
|
then
|
2024-03-22 01:16:04 +00:00
|
|
|
if [ -z "${RUST_TARGET}" ]
|
2024-03-06 00:37:36 +00:00
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && RUST_TARGET="x86_64-unknown-freebsd"
|
2024-03-06 00:37:36 +00:00
|
|
|
fi
|
2024-03-22 04:41:38 +00:00
|
|
|
elif [ "${TARGET_OS}" = "netbsd" ]
|
2024-03-06 00:37:36 +00:00
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
if [ -z "${RUST_TARGET}" ]
|
2024-03-21 21:31:10 +00:00
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && RUST_TARGET="x86_64-unknown-netbsd"
|
2024-03-21 21:31:10 +00:00
|
|
|
fi
|
2024-03-22 04:41:38 +00:00
|
|
|
else
|
|
|
|
if [ -z "${RUST_TARGET}" ]
|
2024-03-21 21:31:10 +00:00
|
|
|
then
|
2024-03-22 04:41:38 +00:00
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && RUST_TARGET="x86_64-unknown-linux-${TARGET_LIBC}"
|
|
|
|
[ "${TARGET_ARCH}" = "aarch64" ] && RUST_TARGET="aarch64-unknown-linux-${TARGET_LIBC}"
|
|
|
|
[ "${TARGET_ARCH}" = "riscv64gc" ] && RUST_TARGET="riscv64gc-unknown-linux-${TARGET_LIBC}"
|
2024-03-21 21:31:10 +00:00
|
|
|
fi
|
2024-03-06 00:37:36 +00:00
|
|
|
fi
|
|
|
|
|
2024-03-22 04:41:38 +00:00
|
|
|
if [ -z "${C_TARGET}" ]
|
|
|
|
then
|
|
|
|
[ "${TARGET_ARCH}" = "x86_64" ] && C_TARGET="x86_64-linux-${TARGET_LIBC}"
|
|
|
|
[ "${TARGET_ARCH}" = "aarch64" ] && C_TARGET="aarch64-linux-${TARGET_LIBC}"
|
|
|
|
fi
|
|
|
|
|
2024-03-21 21:31:10 +00:00
|
|
|
if [ "${KRATA_TARGET_C_MODE}" = "1" ]
|
|
|
|
then
|
|
|
|
if [ -z "${C_TARGET}" ]
|
|
|
|
then
|
2024-03-22 01:16:04 +00:00
|
|
|
echo "ERROR: Unable to determine C_TARGET, your os or architecture may not be supported by krata." > /dev/stderr
|
2024-03-21 21:31:10 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "${C_TARGET}"
|
|
|
|
else
|
|
|
|
if [ -z "${RUST_TARGET}" ]
|
|
|
|
then
|
2024-03-22 01:16:04 +00:00
|
|
|
echo "ERROR: Unable to determine RUST_TARGET, your os or architecture may not be supported by krata." > /dev/stderr
|
2024-03-21 21:31:10 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "${RUST_TARGET}"
|
|
|
|
fi
|