diff options
author | Andrew Jeffery <andrew@aj.id.au> | 2018-05-25 15:52:28 +0930 |
---|---|---|
committer | Andrew Jeffery <andrew@aj.id.au> | 2019-03-18 15:46:49 +1030 |
commit | f2086fcd89b53be4842109b06012489acbf7a390 (patch) | |
tree | d421a07111185fc48c48e36a1a898ed92b76427d | |
parent | cd3b05e0b069f4407e4c0fa738c18cb0b0222b87 (diff) | |
download | phosphor-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-x | bootstrap.sh | 27 |
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 |