mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-13 08:30:08 +00:00
Squashed 'gitstatus/' changes from 0440e38b..1edd9e62
1edd9e62 build: respect standard compiler/linker env vars and fortify by default git-subtree-dir: gitstatus git-subtree-split: 1edd9e621ec5c8bf038767e529194b5c53b36352
This commit is contained in:
parent
077abf95e0
commit
70ae5810d8
1 changed files with 46 additions and 20 deletions
66
build
66
build
|
@ -136,52 +136,78 @@ case "$gitstatus_cpu" in
|
||||||
*) archflag="-march";;
|
*) archflag="-march";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
cflags="$archflag=$gitstatus_cpu -fno-plt"
|
cflags="$archflag=$gitstatus_cpu -fno-plt -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fpie"
|
||||||
|
ldflags=
|
||||||
|
static_pie=
|
||||||
|
|
||||||
command touch "$workdir"/file-prefix-map-test.c
|
printf 'int main() {}\n' >"$workdir"/cc-test.c
|
||||||
if 2>/dev/null "${CC:-/bin/cc}" \
|
if 2>/dev/null "${CC:-cc}" \
|
||||||
-ffile-prefix-map=x=y \
|
-ffile-prefix-map=x=y \
|
||||||
-c "$workdir"/file-prefix-map-test.c \
|
-Werror \
|
||||||
-o "$workdir"/file-prefix-map-test.o; then
|
-c "$workdir"/cc-test.c \
|
||||||
|
-o "$workdir"/cc-test.o; then
|
||||||
cflags="$cflags -ffile-prefix-map=$workdir/="
|
cflags="$cflags -ffile-prefix-map=$workdir/="
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
||||||
|
if 2>/dev/null "${CC:-cc}" \
|
||||||
|
-fstack-clash-protection -fcf-protection \
|
||||||
|
-Werror \
|
||||||
|
-c "$workdir"/cc-test.c \
|
||||||
|
-o "$workdir"/cc-test.o; then
|
||||||
|
cflags="$cflags -fstack-clash-protection -fcf-protection"
|
||||||
|
fi
|
||||||
|
|
||||||
|
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
||||||
|
if 2>/dev/null "${CC:-cc}" \
|
||||||
|
-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now \
|
||||||
|
-Werror \
|
||||||
|
"$workdir"/cc-test.c \
|
||||||
|
-o "$workdir"/cc-test; then
|
||||||
|
ldflags="$ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||||
|
fi
|
||||||
|
|
||||||
|
command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o
|
||||||
|
if 2>/dev/null "${CC:-cc}" \
|
||||||
|
-fpie -static-pie \
|
||||||
|
-Werror \
|
||||||
|
"$workdir"/cc-test.c \
|
||||||
|
-o "$workdir"/cc-test; then
|
||||||
|
static_pie='-static-pie'
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$gitstatus_cpu" = x86-64 ]; then
|
if [ "$gitstatus_cpu" = x86-64 ]; then
|
||||||
cflags="$cflags -mtune=generic"
|
cflags="$cflags -mtune=generic"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
libgit2_cmake_flags=
|
libgit2_cmake_flags=
|
||||||
libgit2_cflags="$cflags"
|
libgit2_cflags="${CFLAGS-} $cflags -O3 -DNDEBUG"
|
||||||
|
|
||||||
gitstatus_cxx=g++
|
gitstatus_cxx=g++
|
||||||
gitstatus_cxxflags="$cflags -I${workdir}/libgit2/include -DGITSTATUS_ZERO_NSEC -D_GNU_SOURCE"
|
gitstatus_cxxflags="${CXXFLAGS-} $cflags -I${workdir}/libgit2/include -DGITSTATUS_ZERO_NSEC -D_GNU_SOURCE -D_GLIBCXX_ASSERTIONS"
|
||||||
gitstatus_ldflags="-L${workdir}/libgit2/build"
|
gitstatus_ldflags="${LDFLAGS-} $ldflags -L${workdir}/libgit2/build"
|
||||||
gitstatus_ldlibs=
|
gitstatus_ldlibs=
|
||||||
gitstatus_make=make
|
gitstatus_make=make
|
||||||
|
|
||||||
case "$gitstatus_kernel" in
|
case "$gitstatus_kernel" in
|
||||||
linux)
|
linux)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
freebsd)
|
freebsd)
|
||||||
gitstatus_make=gmake
|
gitstatus_make=gmake
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
openbsd)
|
openbsd)
|
||||||
gitstatus_cxx=eg++
|
gitstatus_cxx=eg++
|
||||||
gitstatus_make=gmake
|
gitstatus_make=gmake
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
netbsd)
|
netbsd)
|
||||||
gitstatus_make=gmake
|
gitstatus_make=gmake
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
darwin)
|
darwin)
|
||||||
|
@ -202,11 +228,11 @@ case "$gitstatus_kernel" in
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"
|
||||||
;;
|
;;
|
||||||
msys*|mingw*)
|
msys*|mingw*)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
cygwin*)
|
cygwin*)
|
||||||
gitstatus_ldflags="$gitstatus_ldflags -static"
|
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
|
||||||
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -295,7 +321,7 @@ command mkdir libgit2/build
|
||||||
cd libgit2/build
|
cd libgit2/build
|
||||||
|
|
||||||
CFLAGS="$libgit2_cflags" command cmake \
|
CFLAGS="$libgit2_cflags" command cmake \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=None \
|
||||||
-DZERO_NSEC=ON \
|
-DZERO_NSEC=ON \
|
||||||
-DTHREADSAFE=ON \
|
-DTHREADSAFE=ON \
|
||||||
-DUSE_BUNDLED_ZLIB=ON \
|
-DUSE_BUNDLED_ZLIB=ON \
|
||||||
|
|
Loading…
Reference in a new issue