summaryrefslogtreecommitdiff
path: root/scripts/build/arch.sh
diff options
context:
space:
mode:
authorDmitry Pankratov <dp@ubiquitech.com>2016-10-01 20:43:56 (GMT)
committerDmitry Pankratov <dp@ubiquitech.com>2016-10-01 20:43:56 (GMT)
commit34ca68e3b076f4a7eea78aa46215fa50dfb1e322 (patch)
tree2d8f667a234d6ea577ebb1435f18db60eec3805b /scripts/build/arch.sh
parent11b20626b0d33624249f2609177f768a39cb70cf (diff)
parent531eab4c5650c7d51fa1c527c370b690ac50a8ab (diff)
Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ng
Diffstat (limited to 'scripts/build/arch.sh')
-rw-r--r--scripts/build/arch.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/build/arch.sh b/scripts/build/arch.sh
new file mode 100644
index 0000000..5c5edc9
--- /dev/null
+++ b/scripts/build/arch.sh
@@ -0,0 +1,68 @@
+# This file provides the default implementations of arch-specific functions.
+
+# Set up the target tuple
+CT_DoArchTupleValues() {
+ :;
+}
+
+# Multilib: change the target triplet according to CFLAGS
+# Usage: CT_DoArchGlibcAdjustTuple <variable-name> <CFLAGS>
+CT_DoArchMultilibTarget() {
+ :;
+}
+
+# Multilib: Adjust target tuple for GLIBC
+# Usage: CT_DoArchGlibcAdjustTuple <variable-name>
+CT_DoArchGlibcAdjustTuple() {
+ :;
+}
+
+# Helper for uClibc configurators: select the architecture
+# Usage: CT_DoArchUClibcSelectArch <config-file> <architecture>
+CT_DoArchUClibcSelectArch() {
+ local cfg="${1}"
+ local arch="${2}"
+
+ ${sed} -i -r -e '/^TARGET_.*/d' "${cfg}"
+ CT_KconfigEnableOption "TARGET_${arch}" "${cfg}"
+ CT_KconfigSetOption "TARGET_ARCH" "${arch}" "${cfg}"
+}
+
+# uClibc: Adjust configuration file according to the CT-NG configuration
+# Usage: CT_DoArchUClibcConfig <config-file>
+CT_DoArchUClibcConfig() {
+ CT_DoLog WARN "Support for '${CT_ARCH}' is not implemented in uClibc config tweaker."
+ CT_DoLog WARN "Exact configuration file must be provided."
+}
+
+# Multilib/uClibc: Adjust configuration file for given CFLAGS
+# Usage: CT_DoArchUClibcCflags <config-file> <cflags>
+CT_DoArchUClibcCflags() {
+ local cfg="${1}"
+ local cflags="${2}"
+
+ # Likely, any non-default cflags need to be reflected into the config.
+ # It may work if we just pass them into EXTRA_CFLAGS, but we have no
+ # idea as they might interact with the CFLAGS inferred by uClibc from
+ # the configuration file.
+ if [ "${cflags}" != "" ]; then
+ CT_DoLog WARN "Multilib configuration not supported for uClibc/${CT_ARCH}"
+ fi
+}
+
+# Multilib/uClibc: Adjust header installation path for given CFLAGS
+# Usage: CT_DoArchUClibcHeaderDir <path-variable> <cflags>
+CT_DoArchUClibcHeaderDir() {
+ # Only needed if a given architecture may select different uClibc architectures.
+ :;
+}
+
+# Multilib/MUSL: Adjust header installation path for given CFLAGS
+# Usage: CT_DoArchMUSLHeaderDir <path-variable> <cflags>
+CT_DoArchMUSLHeaderDir() {
+ # Only needed if a given architecture may select different MUSL architectures.
+ :;
+}
+
+# Override from the actual arch implementation as needed.
+. "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh"