summaryrefslogtreecommitdiff
path: root/gitstatus
diff options
context:
space:
mode:
authorRoman Perepelitsa <roman.perepelitsa@gmail.com>2021-07-02 12:02:41 +0300
committerRoman Perepelitsa <roman.perepelitsa@gmail.com>2021-07-02 12:02:41 +0300
commitf4668bc1944f98d6ec64f2d9079952050eecaf9a (patch)
treedd00f923673d59b9d689c323175c8cce176e1683 /gitstatus
parent3213e2e17f1695c88959e3b74e3302d628520382 (diff)
parent7759063b7485ca0701fc8ba1961d0e53568ddd59 (diff)
Merge commit '7759063b7485ca0701fc8ba1961d0e53568ddd59'
Diffstat (limited to 'gitstatus')
-rwxr-xr-xgitstatus/build28
-rw-r--r--gitstatus/gitstatus.prompt.sh10
2 files changed, 25 insertions, 13 deletions
diff --git a/gitstatus/build b/gitstatus/build
index f77f1982..8190f478 100755
--- a/gitstatus/build
+++ b/gitstatus/build
@@ -55,7 +55,7 @@ workdir="$(command pwd)"
narg() { echo $#; }
-if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" ]; then
+if [ "$(narg $workdir)" != 1 -o -z "${workdir##*:*}" -o -z "${workdir##*=*}" ]; then
>&2 echo "[error] cannot build in this directory: $workdir"
exit 1
fi
@@ -138,6 +138,14 @@ esac
cflags="$archflag=$gitstatus_cpu -fno-plt"
+command touch "$workdir"/file-prefix-map-test.c
+if 2>/dev/null "${CC:-/bin/cc}" \
+ -ffile-prefix-map=x=y \
+ -c "$workdir"/file-prefix-map-test.c \
+ -o "$workdir"/file-prefix-map-test.o; then
+ cflags="$cflags -ffile-prefix-map=$workdir/="
+fi
+
if [ "$gitstatus_cpu" = x86-64 ]; then
cflags="$cflags -mtune=generic"
fi
@@ -450,13 +458,16 @@ fi
if [ -z "$gitstatus_cpu" ]; then
case "$gitstatus_arch" in
- armv6l) gitstatus_cpu=armv6;;
+ armel) gitstatus_cpu=armv5;;
+ armv6l|armhf) gitstatus_cpu=armv6;;
armv7l) gitstatus_cpu=armv7;;
arm64) gitstatus_cpu=armv8;;
aarch64) gitstatus_cpu=armv8-a;;
ppc64le) gitstatus_cpu=powerpc64le;;
riscv64) gitstatus_cpu=rv64imafdc;;
x86_64|amd64) gitstatus_cpu=x86-64;;
+ x86) gitstatus_cpu=i586;;
+ s390x) gitstatus_cpu=z900;;
i386|i586|i686) gitstatus_cpu="$gitstatus_arch";;
*)
>&2 echo '[error] unable to infer target CPU architecture'
@@ -485,12 +496,13 @@ case "$gitstatus_kernel" in
fi
if [ -z "$docker_image" ]; then
case "$gitstatus_arch" in
- x86_64) docker_image=alpine:3.11.6;;
- i386|i586|i686) docker_image=i386/alpine:3.11.6;;
- armv6l) docker_image=arm32v6/alpine:3.11.6;;
- armv7l) docker_image=arm32v7/alpine:3.11.6;;
- aarch64) docker_image=arm64v8/alpine:3.11.6;;
- ppc64le) docker_image=ppc64le/alpine:3.11.6;;
+ x86_64) docker_image=alpine:3.11.6;;
+ x86|i386|i586|i686) docker_image=i386/alpine:3.11.6;;
+ armv6l|armhf) docker_image=arm32v6/alpine:3.11.6;;
+ armv7l) docker_image=arm32v7/alpine:3.11.6;;
+ aarch64) docker_image=arm64v8/alpine:3.11.6;;
+ ppc64le) docker_image=ppc64le/alpine:3.11.6;;
+ s390x) docker_image=s390x/alpine:3.11.6;;
*)
>&2 echo '[error] unable to infer docker image'
>&2 echo 'Please specify explicitly with `-i IMAGE`.'
diff --git a/gitstatus/gitstatus.prompt.sh b/gitstatus/gitstatus.prompt.sh
index 9c1a2138..f27bcc39 100644
--- a/gitstatus/gitstatus.prompt.sh
+++ b/gitstatus/gitstatus.prompt.sh
@@ -33,11 +33,11 @@ function gitstatus_prompt_update() {
gitstatus_query "$@" || return 1 # error
[[ "$VCS_STATUS_RESULT" == ok-sync ]] || return 0 # not a git repo
- local reset=$'\e[0m' # no color
- local clean=$'\e[38;5;076m' # green foreground
- local untracked=$'\e[38;5;014m' # teal foreground
- local modified=$'\e[38;5;011m' # yellow foreground
- local conflicted=$'\e[38;5;196m' # red foreground
+ local reset=$'\001\e[0m\002' # no color
+ local clean=$'\001\e[38;5;076m\002' # green foreground
+ local untracked=$'\001\e[38;5;014m\002' # teal foreground
+ local modified=$'\001\e[38;5;011m\002' # yellow foreground
+ local conflicted=$'\001\e[38;5;196m\002' # red foreground
local p