From stdcxx-dev-return-6411-apmail-incubator-stdcxx-dev-archive=incubator.apache.org@incubator.apache.org Mon Dec 10 01:41:10 2007 Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 95849 invoked from network); 10 Dec 2007 01:41:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 Dec 2007 01:41:10 -0000 Received: (qmail 35490 invoked by uid 500); 10 Dec 2007 01:40:58 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 35479 invoked by uid 500); 10 Dec 2007 01:40:58 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 35468 invoked by uid 99); 10 Dec 2007 01:40:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Dec 2007 17:40:58 -0800 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Dec 2007 01:41:00 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1J1XdP-0007Nb-BC for stdcxx-dev@incubator.apache.org; Sun, 09 Dec 2007 17:40:39 -0800 Message-ID: <14245955.post@talk.nabble.com> Date: Sun, 9 Dec 2007 17:40:39 -0800 (PST) From: Martin Sebor To: stdcxx-dev@incubator.apache.org Subject: Re: [PING] Re: missing build line for 22.locale.codecvt.out In-Reply-To: <13828127.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: sebor@roguewave.com References: <45F59654.4010108@roguewave.com> <45F5994B.1020306@roguewave.com> <45F5A2DB.90306@roguewave.com> <45F5AB72.5020106@roguewave.com> <13638627.post@talk.nabble.com> <4732A06D.2020708@roguewave.com> <13659042.post@talk.nabble.com> <4739DF18.1060700@roguewave.com> <13828127.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org In the absence of further feedback I'll be checking in the following patch as the fix for https://issues.apache.org/jira/browse/STDCXX-650. Index: etc/config/makefile.rules =================================================================== --- etc/config/makefile.rules (revision 602767) +++ etc/config/makefile.rules (working copy) @@ -87,9 +87,17 @@ endif # ifneq ($(AS_EXT),".") endif # ifneq ($(AS_EXT),) +# make the rule match for sources matching *.out.cpp +%.out.o: %.out.cpp + $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(call CXX.repo,$<) $< + %.o: %.cpp $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(call CXX.repo,$<) $< +# make the rule match for objects matching *.out.o +%.out: %.out.o + $(LD) $< -o $@ $(LDFLAGS) $(LDLIBS) $(call CXX.repo,$<) + %: %.o $(LD) $< -o $@ $(LDFLAGS) $(LDLIBS) $(call CXX.repo,$<) Martin Sebor wrote: > > Well, what do you think? > > Martin > > > Martin Sebor wrote: >> >> Travis Vitek wrote: >> [...] >>> So now we are pretty sure we know what is happening. All target names >>> that >>> end in .out will match to the pattern rule for generating .out files >>> first. >>> The question is how to fix it. Here are the options I see. >> >> Thanks for the analysis! >> >>> >>> 1. rename the source file so the generated executable will not end >>> in >>> .out >>> 2. change the .out rule to generate output files with some other >>> extension >>> 3. create an rule that is a better match than %.out so that rule is >>> selected for 22.locale.codecvt.out >>> 4. create a new makefile that includes the original GNUmakefile.tst, >>> but >>> defines the more explicit rule mentioned in 3 >>> >>> I dislike option 3 the most, >> >> Between 2 and 3 I think I actually like 3 better. It seems general >> enough to eliminate all ill-effects of the overly generic %.out: % >> rule. And it's very simple (at least in my tests it was): >> >> %.foo: %.foo.c >> touch $@ >> >>> and from the sound of it you won't want to use >>> option 1. So how does option 2 sound? >> >> Another possibility might be to enable the %.out: % rule only for >> examples and disable it for tests and everything else work? We don't >> need to create .out files anywhere else, do we? >> >> Martin >> >> > > -- View this message in context: http://www.nabble.com/missing-build-line-for-22.locale.codecvt.out-tp12503279p14245955.html Sent from the stdcxx-dev mailing list archive at Nabble.com.