summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Jeffery <andrew@aj.id.au>2018-05-25 15:52:28 +0930
committerAndrew Jeffery <andrew@aj.id.au>2019-03-18 15:46:49 +1030
commitf2086fcd89b53be4842109b06012489acbf7a390 (patch)
treed421a07111185fc48c48e36a1a898ed92b76427d
parentcd3b05e0b069f4407e4c0fa738c18cb0b0222b87 (diff)
downloadphosphor-led-sysfs-f2086fcd89b53be4842109b06012489acbf7a390.tar.gz
phosphor-led-sysfs-f2086fcd89b53be4842109b06012489acbf7a390.zip
bootstrap: Add dev mode
Running `./bootstrap.sh dev` enables various sanitisers in GCC and code-coverage targets in the generated Makefile. `./configure` is run automatically as part of dev mode, as it is a shortcut for adding the above options to the configure script invocation. Change-Id: I48b9a312f438efd070ad5f982be80326894b1141 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
-rwxr-xr-xbootstrap.sh27
1 files changed, 25 insertions, 2 deletions
diff --git a/bootstrap.sh b/bootstrap.sh
index 50b75b7..11c8ae9 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,10 +1,20 @@
#!/bin/sh
+set -eu
+
AUTOCONF_FILES="Makefile.in aclocal.m4 ar-lib autom4te.cache compile \
config.guess config.h.in config.sub configure depcomp install-sh \
ltmain.sh missing *libtool test-driver"
-case $1 in
+BOOTSTRAP_MODE=""
+
+if [ $# -gt 0 ];
+then
+ BOOTSTRAP_MODE="${1}"
+ shift 1
+fi
+
+case ${BOOTSTRAP_MODE} in
clean)
test -f Makefile && make maintainer-clean
for file in ${AUTOCONF_FILES}; do
@@ -15,4 +25,17 @@ case $1 in
esac
autoreconf -i
-echo 'Run "./configure ${CONFIGURE_FLAGS} && make"'
+
+case ${BOOTSTRAP_MODE} in
+ dev)
+ FLAGS="-fsanitize=address -fsanitize=leak -fsanitize=undefined -Wall -Werror"
+ ./configure \
+ CFLAGS="${FLAGS}" \
+ CXXFLAGS="${FLAGS}" \
+ --enable-code-coverage \
+ "$@"
+ ;;
+ *)
+ echo 'Run "./configure ${CONFIGURE_FLAGS} && make"'
+ ;;
+esac
OpenPOWER on IntegriCloud