From 4b21cd06ffeb5706b017c78b13c2eaf40d7deac1 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 7 Feb 2022 08:38:49 +0100 Subject: [PATCH] Squashed 'gitstatus/' changes from b226d8e06..f889c13d1 f889c13d1 build: clean up dragonfly support (#297) 2b6366fbd Merge branch 'msvetlik-dragonflybsd-support' 409c791eb Added detection of DragonflyBSD and tested compilation on v6.2.1 git-subtree-dir: gitstatus git-subtree-split: f889c13d18fbf6f3109d6889be34d50af04d99b9 --- build | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/build b/build index 05b3abc5..e116abb2 100755 --- a/build +++ b/build @@ -100,7 +100,7 @@ if [ -n "$gitstatus_install_tools" ]; then exit 1 fi ;; - freebsd) + freebsd|dragonfly) command pkg install -y cmake gmake binutils git perl5 wget ;; openbsd) @@ -141,7 +141,7 @@ if [ -n "$gitstatus_install_tools" ]; then fi cpus="$(command getconf _NPROCESSORS_ONLN 2>/dev/null)" || - cpus="$(command sysctl -n hw.ncpu 2>/dev/null)" || + cpus="$(command sysctl -n hw.ncpu 2>/dev/null)" || cpus=8 case "$gitstatus_cpu" in @@ -174,12 +174,21 @@ if 2>/dev/null "$CC" \ fi command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o -if 2>/dev/null "$CC" \ - -fstack-clash-protection -fcf-protection \ - -Werror \ - -c "$workdir"/cc-test.c \ +if 2>/dev/null "$CC" \ + -fstack-clash-protection \ + -Werror \ + -c "$workdir"/cc-test.c \ -o "$workdir"/cc-test.o; then - cflags="$cflags -fstack-clash-protection -fcf-protection" + cflags="$cflags -fstack-clash-protection" +fi + +command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o +if 2>/dev/null "$CC" \ + -fcf-protection \ + -Werror \ + -c "$workdir"/cc-test.c \ + -o "$workdir"/cc-test.o; then + cflags="$cflags -fcf-protection" fi command rm -f -- "$workdir"/cc-test "$workdir"/cc-test.o @@ -224,6 +233,12 @@ case "$gitstatus_kernel" in gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}" libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON" ;; + dragonfly) + gitstatus_cxx=clang++12 + gitstatus_make=gmake + gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}" + libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=ON" + ;; openbsd) gitstatus_cxx=eg++ gitstatus_make=gmake @@ -574,7 +589,7 @@ case "$gitstatus_kernel" in fi fi ;; - freebsd|openbsd|netbsd|darwin) + freebsd|openbsd|netbsd|darwin|dragonfly) if [ -n "$docker_cmd" ]; then >&2 echo "[error] docker (-d) is not supported on $gitstatus_kernel" exit 1