Better error message when a target is built multiple ways. (Kevin Quick)
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 13 Sep 2004 21:41:40 +0000 (21:41 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 13 Sep 2004 21:41:40 +0000 (21:41 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1063 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Builder.py
test/multi.py

index 33ef27a0a9ea4a432147a5b861ca517388063b95..ec8ac36a3b2336fb883a471ace53bdea78c150c5 100644 (file)
@@ -51,6 +51,9 @@ RELEASE 0.97 - XXX
     $RPCGEN, $RPCGENFLAGS, $RPCGENCLIENTFLAGS, $RPCGENHEADERFLAGS,
     $RPCGENSERVICEFLAGS, $RPCGENXDRFLAGS.
 
+  - Provide more info in the error message when a user tries to build
+    a target multiple ways.
+
   From Christoph Wiedemann:
 
   - Add an Environment.SetDefault() method that only sets values if
index 47c9ad2505567de71e4ab19cd7c1235dcb9de3ec..1f3c60d5d3d58ea4f5bd39d8e43a23a788ca48a9 100644 (file)
@@ -311,7 +311,7 @@ def _init_nodes(builder, env, overrides, tlist, slist):
                 elif isinstance(t.builder, ListBuilder) ^ isinstance(builder, ListBuilder):
                     raise UserError, "Cannot build same target `%s' as singular and list"%str(t)
             elif t.sources != slist:
-                raise UserError, "Multiple ways to build the same target were specified for: %s" % str(t)
+                raise UserError, "Multiple ways to build the same target were specified for: %s  (from %s and from %s)" % (str(t), map(str,t.sources), map(str,slist))
 
     if builder.single_source:
         if len(slist) > 1:
index bc5bc7d481cdd3100c42c936289ae8da21559082..f7161a17d67afb589e2e7c50ed261d5179f258be 100644 (file)
@@ -81,7 +81,7 @@ test.write('file2b.in', 'file2b.in\n')
 test.run(arguments='file2.out', 
          status=2, 
          stderr="""
-scons: *** Multiple ways to build the same target were specified for: file2.out
+scons: *** Multiple ways to build the same target were specified for: file2.out  (from ['file2a.in'] and from ['file2b.in'])
 File "SConstruct", line 10, in ?
 """)