From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4878 invoked by alias); 12 Dec 2001 17:16:10 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 4823 invoked by uid 71); 12 Dec 2001 17:16:04 -0000 Resent-Date: 12 Dec 2001 17:16:03 -0000 Resent-Message-ID: <20011212171603.4822.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, "Golubev I. N." Received:(qmail 32570 invoked from network); 12 Dec 2001 17:05:07 -0000 Received: from unknown (HELO zabor.mo.msk.ru) (195.170.194.222) by sources.redhat.com with SMTP; 12 Dec 2001 17:05:07 -0000 Received: from d-fens.vdata.ru (d-fens.vdata.ru [192.168.168.62]) by zabor.mo.msk.ru (8.9.3/8.9.3) with SMTP id UAA58302 for ; Wed, 12 Dec 2001 20:05:05 +0300 (MSK) (envelope-from gin@mo.msk.ru) Received: (gin@localhost) by d-fens.vdata.ru (8.6.8.1/SCA-6.6) id RAA01397; Wed, 12 Dec 2001 17:05:04 GMT Message-Id:<01e43c178e4002-gin@mo.msk.ru> Date: Wed, 12 Dec 2001 09:16:00 -0000 From: "Golubev I. N." To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: libstdc++/5095: broken $(MAKEFLAGS) X-SW-Source: 2001-12/txt/msg00748.txt.bz2 List-Id: >Number: 5095 >Category: libstdc++ >Synopsis: broken $(MAKEFLAGS) >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Dec 12 09:16:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: >Release: 3.0.2 >Organization: >Environment: System: SCO_SV d-fens 3.2 2 i386 GNU Make version 3.79.1 host: i586-pc-sco3.2v5.0.2 build: i586-pc-sco3.2v5.0.2 target: i586-pc-sco3.2v5.0.2 configured with: configure --without-included-gettext --prefix=/usr --with-as=/usr/bin/gas --enable-multilib --disable-static --enable-shared --with-system-zlib --program-transform-name=s/cpp/gcpp/ --enable-languages=c,c++,f77 >Description: target libstdc++-v3 build fails >How-To-Repeat: gmake bootstrap-lean gmake[3]: Entering directory `$top_builddir/i586-pc-sco3.2v5.0.2/libstdc++-v3' /bin/sh: syntax error at line 1: `(' unexpected gmake[3]: *** [all-recursive] Error 2 gmake[3]: Leaving directory `$top_builddir/i586-pc-sco3.2v5.0.2/libstdc++-v3' gmake[2]: *** [all-recursive-am] Error 2 gmake[2]: Target `all' not remade because of errors. gmake[2]: Leaving directory `$top_builddir/i586-pc-sco3.2v5.0.2/libstdc++-v3' gmake[1]: *** [all-target-libstdc++-v3] Error 2 When doing `$(MAKE) all-recursive' in leave gmake process, $(MAKEFLAGS) expansion *in shell command* causes arguments like LIBCXXFLAGS=$(LIBCXXFLAGS_FOR_TARGET) to appear in `set' shell command. Its expansion in upper level makes yields 'LIBCXXFLAGS=$(LIBCXXFLAGS_FOR_TARGET)' Entries in MAKEFLAGS like this appear due to $(EXTRA_TARGET_FLAGS) in top-level Makefile. When passed through command line arguments to sub-make once, they are ok. But the next sub-make handles them as described above. >Fix: Passing variable values containing references to other makefile variables to sub-make that uses Makefile generated by automake is more reliable when using AM_MAKEFLAGS environment variable. Its value does not get mangled by recursive makes. That is, top-level makefile might call recursive make for target build like this: AM_MAKEFLAGS='AR=$$(AR_FOR_TARGET) AS=$$(AS_FOR_TARGET)' $(MAKE) Unfortunately, it should be done only for modules using automake, otherwise AM_MAKEFLAGS will affect nothing. >Release-Note: >Audit-Trail: >Unformatted: