From cc7c85392b8e705c0379849970a6593832ab2c7b Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Thu, 4 May 2023 10:56:09 +0200 Subject: [PATCH 1/4] autogen.sh: add --enable-silent-rules option Enable silent-rules to improve warnings/issues visibility in favour of all the libtool tweaks and compiler options. --- autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index 6afaffde9..a304da09d 100755 --- a/autogen.sh +++ b/autogen.sh @@ -16,7 +16,7 @@ esac export CFLAGS="${CFLAGS:- -std=gnu89 -O1 -g -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wno-unused-parameter}" prefix=/usr -defaults=(--sysconfdir=/etc --prefix=${prefix} --libdir=${prefix}/${_lib} --libexecdir=${prefix}/lib --datadir=${prefix}/share --localstatedir=/var) +defaults=(--enable-silent-rules --sysconfdir=/etc --prefix=${prefix} --libdir=${prefix}/${_lib} --libexecdir=${prefix}/lib --datadir=${prefix}/share --localstatedir=/var) "${srcdir}/configure" "${@:-${defaults[@]}}" From 03b3b9433b96247b3e75da611bfc53e0dad57d91 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Thu, 4 May 2023 11:23:11 +0200 Subject: [PATCH 2/4] autogen.sh: accept further configure arguments Pass autogen.sh arguments as additional options to configure without the need to repeat all defaults. --- autogen.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/autogen.sh b/autogen.sh index a304da09d..aeb1d6091 100755 --- a/autogen.sh +++ b/autogen.sh @@ -16,7 +16,15 @@ esac export CFLAGS="${CFLAGS:- -std=gnu89 -O1 -g -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wno-unused-parameter}" prefix=/usr -defaults=(--enable-silent-rules --sysconfdir=/etc --prefix=${prefix} --libdir=${prefix}/${_lib} --libexecdir=${prefix}/lib --datadir=${prefix}/share --localstatedir=/var) +defaults=( + --enable-silent-rules + --sysconfdir=/etc + --prefix="${prefix}" + --libdir="${prefix}/${_lib}" + --libexecdir="${prefix}/lib" + --datadir="${prefix}/share" + --localstatedir=/var +) -"${srcdir}/configure" "${@:-${defaults[@]}}" +"${srcdir}/configure" "${defaults[@]}" "${@}" From 5fb1570cdb82a91841dad86c6320cd932f56c156 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Thu, 4 May 2023 11:34:22 +0200 Subject: [PATCH 3/4] autogen.sh: fetch _rundir from rpm config --- autogen.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/autogen.sh b/autogen.sh index aeb1d6091..b40e92cca 100755 --- a/autogen.sh +++ b/autogen.sh @@ -8,7 +8,8 @@ pushd "${srcdir}" >/dev/null autoreconf --force --install || exit 1 popd >/dev/null -_lib=`rpm -E '%_lib' 2>/dev/null` +statedir=$(rpm -E '%{!_rundir:/var}' 2>/dev/null) +_lib=$(rpm -E '%_lib' 2>/dev/null) test -n "$_lib" || case "$(uname -m)" in x86_64|s390x|ppc64|powerpc64) _lib=lib64 ;; *) _lib=lib ;; @@ -23,7 +24,7 @@ defaults=( --libdir="${prefix}/${_lib}" --libexecdir="${prefix}/lib" --datadir="${prefix}/share" - --localstatedir=/var + --localstatedir="${statedir}" ) "${srcdir}/configure" "${defaults[@]}" "${@}" From 1384fce7b742475a2a5c7e266e39680112c7a5a9 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Fri, 5 May 2023 10:42:23 +0200 Subject: [PATCH 4/4] autogen.sh: added -debug0 and -Werror options The -debug0 causes to set -O0 compiler option to disable optimizations in the intended gdb run with the binaries. The -Werror is passed to compiler to fail on all warnings. All other arguments are passed to configure (as before). --- autogen.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/autogen.sh b/autogen.sh index b40e92cca..4097cdec7 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,6 +3,18 @@ script=$0 srcdir=$(dirname ${script}) +debug='-g -O1 -D_FORTIFY_SOURCE=2' +werror='' +args=() +while test $# -gt 0 ; do + case $1 in + -debug0) debug='-g -O0' ;; + -Werror) werror='-Werror' ;; + *) args+=("$1") ;; + esac + shift +done + test -f "${srcdir}/configure.ac" || exit 1 pushd "${srcdir}" >/dev/null autoreconf --force --install || exit 1 @@ -15,7 +27,8 @@ test -n "$_lib" || case "$(uname -m)" in *) _lib=lib ;; esac -export CFLAGS="${CFLAGS:- -std=gnu89 -O1 -g -D_FORTIFY_SOURCE=2 -fstack-protector -Wall -Wextra -Wno-unused-parameter}" +export CFLAGS="${CFLAGS:--std=gnu89 ${debug} -fstack-protector -Wall -Wextra -Wno-unused-parameter ${werror}}" + prefix=/usr defaults=( --enable-silent-rules @@ -27,5 +40,5 @@ defaults=( --localstatedir="${statedir}" ) -"${srcdir}/configure" "${defaults[@]}" "${@}" +"${srcdir}/configure" "${defaults[@]}" "${args[@]}"