From 1ba848c57152fb4f47577255532043429d02f335 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Wed, 20 May 2015 11:48:28 +0300 Subject: [PATCH] Re: [PATCH] configure: Add sanity checking for environment variables --- 7e/5efadca831689a9bebe125eed9302b4a4b2089 | 143 ++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 7e/5efadca831689a9bebe125eed9302b4a4b2089 diff --git a/7e/5efadca831689a9bebe125eed9302b4a4b2089 b/7e/5efadca831689a9bebe125eed9302b4a4b2089 new file mode 100644 index 000000000..acd563b14 --- /dev/null +++ b/7e/5efadca831689a9bebe125eed9302b4a4b2089 @@ -0,0 +1,143 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by arlo.cworth.org (Postfix) with ESMTP id 8813E6DE1997 + for ; Wed, 20 May 2015 01:48:52 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at cworth.org +X-Spam-Flag: NO +X-Spam-Score: 1.038 +X-Spam-Level: * +X-Spam-Status: No, score=1.038 tagged_above=-999 required=5 tests=[AWL=0.386, + SPF_NEUTRAL=0.652] autolearn=disabled +Received: from arlo.cworth.org ([127.0.0.1]) + by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id u5I12wLpXQfU for ; + Wed, 20 May 2015 01:48:50 -0700 (PDT) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by arlo.cworth.org (Postfix) with ESMTP id 1A56B6DE13EA + for ; Wed, 20 May 2015 01:48:50 -0700 (PDT) +Received: from guru.guru-group.fi (localhost [IPv6:::1]) + by guru.guru-group.fi (Postfix) with ESMTP id 678721000F2; + Wed, 20 May 2015 11:48:28 +0300 (EEST) +From: Tomi Ollila +To: David Bremner , David Bremner , + Ronny Chevalier +Subject: Re: [PATCH] configure: Add sanity checking for environment variables +In-Reply-To: <1432109551-16861-1-git-send-email-david@tethera.net> +References: + <1432109551-16861-1-git-send-email-david@tethera.net> +User-Agent: Notmuch/0.19+115~g9a981cb (http://notmuchmail.org) Emacs/24.3.1 + (x86_64-unknown-linux-gnu) +X-Face: HhBM'cA~ +MIME-Version: 1.0 +Content-Type: text/plain +Cc: notmuch@notmuchmail.org +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.18 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Wed, 20 May 2015 08:48:52 -0000 + +On Wed, May 20 2015, David Bremner 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. +> --- +> +> meh, the previous version was borken by lazy evaluation of CXXFLAGS +> using make syntax. Better suggestions for how to do this? + +Final try, I promise ;D + +> +> configure | 31 +++++++++++++++++++++++++++++-- +> 1 file changed, 29 insertions(+), 2 deletions(-) +> +> diff --git a/configure b/configure +> index 4af7ba9..650b976 100755 +> --- a/configure +> +++ b/configure +> @@ -269,6 +269,35 @@ 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 + +if ${CC} ${CFLAGS} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 + +> +then +> + printf "OK.\n" +> +else +> + printf "Fail.\n" +> + errors=$((errors + 1)) +> +fi + +if [ "$CXXFLAGS" = '$(CFLAGS)' ] +then + CXXFLAGS_for_sh=$CFLAGS +else + CXXFLAGS_for_sh=$CXXFLAGS +fi + +the above is basically safe as if there are slight chages in string +'$(CFLAGS)' the CXXFLAGS_for_sh=$CXXFLAGS applies and if it is borken +then we notice it. + +> + +> +printf "Sanity checking C++ compilation environment... " +> +if ${CXX} ${CXXFLAGS_for_sh} ${CPPFLAGS} minimal.c ${LDFLAGS} -o minimal > /dev/null 2>&1 +> +then +> + printf "OK.\n" +> +else +> + printf "Fail.\n" +> + errors=$((errors + 1)) +> +fi + +unset CXXFLAGS_for_sh + +> + +> +if [ $errors -gt 0 ]; then +> + cat < +*** Error: Initial sanity checking of environment failed. Please try +> +running configure in a clean environment, and if the problem persists, +> +report a bug. +> +EOF +> + rm -f minimal minimal.c +> + exit 1 +> +fi +> +> if pkg-config --version > /dev/null 2>&1; then +> have_pkg_config=1 +> @@ -690,8 +719,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 -- 2.26.2