aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-07-24 16:25:27 +0200
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-07-24 16:25:27 +0200
commit5701f2c18bee02941d61658f9c1260e14ffb2b94 (patch)
tree66eb70814984aefb97128d621d538d02e88a6e7f
parentc0907886fcc6cf63c2de17c8f4e270f6c847a8bf (diff)
downloaddotfiles-5701f2c18bee02941d61658f9c1260e14ffb2b94.tar.gz
dotfiles-5701f2c18bee02941d61658f9c1260e14ffb2b94.zip
Set ARCH and CROSS_COMPILE at the bash level
Funnily enough, running something like `. cross` makes bash unstable. Hence, let's go back to mere .bashrc exporting. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
-rw-r--r--.bashrc11
-rwxr-xr-xbin/cross41
2 files changed, 11 insertions, 41 deletions
diff --git a/.bashrc b/.bashrc
index 0975c45..fd138b1 100644
--- a/.bashrc
+++ b/.bashrc
@@ -151,6 +151,17 @@ alias random_string="cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -
source_maybe "$HOME/.cargo/env"
##
+# RISC-V
+
+# Setting this value as expected by the Linux Kernel when building it.
+export ARCH=riscv
+
+# If this is not a RISC-V machine, set up cross compilation for it.
+if [ "$(uname -m)" != "riscv64" ]; then
+ export CROSS_COMPILE=riscv64-suse-linux-
+fi
+
+##
# Lastly I had some problems with the GPG agent recently. So I copied a solution
# from https://github.com/jessfraz/dotfiles
diff --git a/bin/cross b/bin/cross
deleted file mode 100755
index fe9de23..0000000
--- a/bin/cross
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-# Copyright (C) 2024-Ω Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-set -e
-
-# This script simply exports the $ARCH and $CROSS_COMPILE environment variables
-# so it can be used in the context of cross compiling software. Right now it
-# only supports RISC-V because that's what I'm using it for. Use it with the dot
-# syntax:
-#
-# $ . cross
-
-arch=$(uname -m)
-if [ "${arch}" != "x86_64" ]; then
- echo "This tool is only meant to be used on x86_64!"
- exit 1
-fi
-
-count=$(find /usr/bin/riscv64-*-gcc -printf "%f\n" | grep -v elf -c)
-if [ "$count" -lt 1 ]; then
- echo "There are too many options for the compiler, not even trying... Bail!"
- exit 1
-fi
-
-bin=$(find /usr/bin/riscv64-*-gcc -printf "%f\n" | grep -v elf | rev | cut -c4- | rev)
-
-export ARCH="riscv"
-export CROSS_COMPILE="${bin}"