On Tue, May 19 2015, David Bremner <david@tethera.net> wrote: > Passing in environment variables incompatible with the compiler may > cause other parts of the configure script to fail in hard to > understand ways, so we abort early. > --- > > This doesn't actually fix the problem Ronny points out, but a more > serious one where configure can actually fail when using gcc, if > e.g. nonsense is passed in CFLAGS. > > configure | 30 ++++++++++++++++++++++++++++-- > 1 file changed, 28 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index 4af7ba9..cf618e8 100755 > --- a/configure > +++ b/configure > @@ -269,6 +269,34 @@ dependencies are available: > EOF > > errors=0 > +printf "int main(void){return 0;}\n" > minimal.c > + > +printf "Sanity checking C compilation environment... " > +if ${CC} ${CFLAGS} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 Looks good, but there is 2 spcs ^^ there (and same in CXX part)... ... also minimal.c is not removed if we exit early. In the future we could think of writing all temp files to a subdirectory which is cleared out using trap -- then we could drop all temp file deletions... but now simple rm -f minimal minimal.c suffices Tomi > +then > + printf "Ok.\n" > +else > + printf "Fail.\n" > + errors=$((errors + 1)) > +fi > + > +printf "Sanity checking C++ compilation environment... " > +if ${CXX} ${CXXFLAGS} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 > +then > + printf "Ok.\n" > +else > + printf "Fail.\n" > + errors=$((errors + 1)) > +fi > + > +if [ $errors -gt 0 ]; then > + cat <<EOF > +*** Error: Initial sanity checking of environment failed. Please try > +running configure in a clean environment, and if the problem persists, > +report a bug. > +EOF > + exit 1 > +fi > > if pkg-config --version > /dev/null 2>&1; then > have_pkg_config=1 > @@ -690,8 +718,6 @@ else > fi > rm -f compat/check_asctime > > -printf "int main(void){return 0;}\n" > minimal.c > - > printf "Checking for rpath support... " > if ${CC} -Wl,--enable-new-dtags -Wl,-rpath,/tmp/ -o minimal minimal.c >/dev/null 2>&1 > then > -- > 2.1.4 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch