From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3642 invoked by alias); 29 Jun 2008 16:26:24 -0000 Received: (qmail 3626 invoked by uid 22791); 29 Jun 2008 16:26:23 -0000 X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 29 Jun 2008 16:25:40 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m5TGPbDd001172; Sun, 29 Jun 2008 12:25:37 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m5TGPael023306; Sun, 29 Jun 2008 12:25:36 -0400 Received: from opsy.redhat.com (vpn-10-29.bos.redhat.com [10.16.10.29]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m5TGPZBF008653; Sun, 29 Jun 2008 12:25:36 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 1C83A5086D6; Sun, 29 Jun 2008 10:25:35 -0600 (MDT) To: Mark Kettenis Cc: drow@false.org, gdb@sourceware.org Subject: Re: Automatic dependency tracking References: <200806152203.14626.pedro@codesourcery.com> <20080616012617.GA8944@caradoc.them.org> <20080625182858.GA25575@caradoc.them.org> <200806281920.m5SJKAQI008684@brahms.sibelius.xs4all.nl> From: Tom Tromey Reply-To: Tom Tromey X-Attribution: Tom Date: Sun, 29 Jun 2008 16:26:00 -0000 In-Reply-To: (Tom Tromey's message of "Sun\, 29 Jun 2008 09\:32\:02 -0600") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-06/txt/msg00312.txt.bz2 --=-=-= Content-length: 969 >>>>> "Tom" == Tom Tromey writes: Tom> I am happy to implement this, but it will be a major regression for Tom> folks not using GNU make. Here is a new patch. Again, I made this against the Python branch. Sorry about that, but I have uncommitted patches in my trunk tree and didn't want to mess with it. This one works by overriding selected variables and adding new rules using a GNUmakefile. While somewhat more obscure than AM_CONDITIONAL, this one has the nice property that the user can switch between GNU make and other makes without needing to re-run configure. IMO this patch is uglier than the previous. For one thing I had to recreate explicit rules for all the objects whose source files are in subdirs. I only have GNU make. So, I don't actually know that this works for non-GNU makes. Mark, maybe you could try it out? Let me know what you think of this. If it looks ok-ish I will clean it up and submit it for real. Tom --=-=-= Content-Type: application/x-gzip Content-Disposition: attachment; filename=P.gz Content-Transfer-Encoding: base64 Content-Description: patch Content-length: 29927 H4sICIC2Z0gAA1AA3X1rcxtJjuBn61dUdPuirZMo62HLcs/2XcuS3K0bv8KS b6Zv+0JLFYsSxySLyyJlKW7vvx+QTwD5qKKknpm9jg658sF8IJFIAAkgB6Ph sOj1rkaLov/8anD5/H3/azUcjautq+myuAyy1qbVtwITxaQeVMXO9vb+ixdr o+mgui229X9bW69eXfb7L3fXer1e8XxQ3TyfLsfjtY2NjViDP/9c9LY3t4uN nc2XL4uff17b+L745cOXialTfJv3Z7NqXgzreQE/LgbVrILupuWoaoqi9197 ha3au8KvnhoY5GNDR/Xsbj66ul4Uz47Wi93t7YPi7byqirN6uPjWn1fF23o5 HfQXo3q6WZxOy621DfzZ+fWo0bOEf2f9+aKoh8Uvx29o8WxeX837E6wxxCYb 0+Sfirt6WZT9aTGvBqNmMR9dLhfQEAB4OngOk4DxjYZ32A7kQe8wt8V1VSyq +aTBfjABACh+qabVvD8uPi0vx6OyeDcqq2lTFX3oGnOa62pQXKp28Bepaf2p qEZQPi9uqnkD6WLX9mEa3CzqOTbyrL/Akc+Leoa/W4fh3hXj/sL/FGb/fWz6 fpaDYjRVbV/XM5jRNTQJc/w2Go+Ly6pYNtVwOd7EJqBy8ZfT818/fjkvDj/8 Vvzl8PPnww/nv/0JKi+uayitbird1GgyG4+gZZjXvD9d3MHwsYX3J5+PfoWf HL45fXd6/htMonh7ev7h5OysePvxc3FYfDr8fH569OXd4efi05fPnz6enWwV xVmFw6oMjqVAPFSrBGAcVIv+aNzYif8GC9vA6MaD4rp/U8ECl9XoBsbWL0pA tPbFw0b643p6paYJlT0g/1SMhsW0XmwCwo8AXxZ1uKz4c4mwm8XLHajVn34d A+zPFlAf2ng7GkL7b8d1PVfwflM3C/zF+8Nie3dnZ7u3s7e9s1l8OTtUKO1W Ff6HmSC4of+nl8vRePCcbsbLOyifDkdXy3mlfjmaluMl7De7pXVbHwFj5qOB gnXRVIvFaHqF26SeqJxJH4bqiAA0Mqz+vXj29Nnxyaf3H49P1jdhj+Mu/umq LPfWscEP9cLg07cK0H+hmmGUYDSFEfeLrfNZrXbuJlaZwjLeqFFM1H7DOrNx v6wQ2NhEWU9mOK9mWZZVNWgARf5SFdMKAYDwuKzKPqBtAQMpBnXVYCuwSEV/ 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 i/iYxfrVIIyQ4ddtxaUwkjQuhAkEIGuEUQGiU16xX9Wq6laBOtaxLshQOrpO D9+tpjs1JjijLutx8qimxS1nBD3tlveEFevOkFkMxRansqokQmRd8LYV6alu D8WnFeSJTuLYCpz7Ku21cc6rtNXOaK7QWobtW2VMXRi2Vdrrxgqt0mIb89K5 rVY0795SO1/Sta12pqJrS+08QdeW8odo11ZyJ0DXNtrIedd2ViHBq2lsmtHV tD9u/jnVNsVaz4yPz9oO2hYq61IarCLCJD3kTAz6W9voNi6p1M1XTC7SYvnP q1eDsXEg4GAxM2227zxD1AdezPgFwqxBf9H3Fcb9O8+uQ3pU+28bG8n/lkjN mPxm2XeToEoMk2V7M23E5PlQuZf3mRMBg1PBhTrjnwOpAnfPqJyiYHeFQlig IBczlmCyAJYjv9/eCcal54BjiE9AlaRj85iZpLAFZqIuWKzzuZSD2KRWnoQe m5mB0m8m5qDL8s5XEqfit+tx17S4kBdd5cgK+y3FUEBuDrGXeNy0BwDRAEeD MWQqbb226G10TH4elDw8AtpaXSV+R66abTVrL5nC2lBAZ3rj1WxLI3bJLfK0 0EzGriroPURUjU3jQVEPRknHu9Nw34qPcRfgakjQo+TrDyK5zm5AIUCMRbUV 293xuK4pr7FKuObFqB6PVhfALwrz+/nwyakaoNQJgNRJhRUFQRJn2QZxuS3k n+5+3oCHC8MbdlhwKpddg8fEMYSUhqXeJ3F4mjLhcsYe5xUHDA1GIUh7+pSI 7q4ASmJXRvdv9myhXtaPe0ZbOGmIhrKgrZexiI7f2fnNvPKYrGJxsYzIlbZS XrfIED8GsdVdrFnHenA2ImlYKRKeNMNU5gP7R16NDgM/pB/ajbE9CZYmitrt m99pmmnoiYehpY0igt/+fe6wXuuL3S1nufBsknxzSgIIj9mAGxQnbOxK+/7g sdM2AAq1eq5i5BKW3aJGPJ4JnjGCmUaxID5sRzZbRANLks9QDJVZ4VNgDwCu ve/FxLcUQfwW0MPs6ZIRX7j/jTu75VsY+YMofeak+EZ6prRCmS2Q7zwr9D7w nP/mDwHTZ3IhIkJwywaOQYyFjn7EI9YN0E3GdJ2cjy2PTqmrLM9o+oNn4Ibk JpEjy744L9RndEYJob4FCC0KLQKgvCzfmf+K87cP4zAI9FCjvUjqDDspxBed dWCdm2tTR3VvqINWqHNjbbqRzg21ay46N9VFBu7eWEZ27NxIF6Gpc2Nt8kLn hvJsfudm2hjyzg114Tm7N9bKn3VuKs+OrNJMhwN1leY6H2mrNNrxiFntDk8H 9PnnvCHCcRZvlY/WFMaiR2Mb+aQGXqDXQAHs99dqWgzn9aTQEzKx94pez3hA rBWffjv/9eMHc9D81BtO6x4eXOWi1x+P+g2Mtugdfzg+efPll6I3RN+KG7xE 1O1xqBugmSJ+qLsISQW1Eozobcejy9ElnIk27L6MT+Sfq2gxNTM98sC5bYFi qd2WDATV3byGwXQ9DSELxp6yU40CU5eI2LcpJ9hQUUDBHgJk1YlwR0cxwl5d 8Nn42TmuLT5FX5zCmcD6t9NiB0+bRJT0NPomXXyimn8cKNFJElAR0Dh4wZii gML83K5iNn33gxCFSLD1SPi+R4GJno8Hhpq3g4J7ESr4Xfg4VARZovMlooSE j5Q6GKEhEoMF86NAwM7Ew8DM2kNhOVU7PA4IW/j/BSz8ZAg43PQdRCKMt2kh dmMYi1TCpiMv6vIU07Tw2NTBxYZxEzezdLPW9kjRaZuitP6uHR0eZRJuHH4W dtR0Gubx2tjPw9dsOeYJTdPf+aBzA2TzU9Nx83Mv3AS/jj15E4vHHt2rj7rR 7Ej8NMyo1za6siPSCEsyPHGGfXV24EH9ZI/RB7XcejQ9rPVuJP9BfbQS0Ye0 npUKHjTsDlTwoe23kacHtd9KHu7ROoqD339fgJha1EMlL8KRVrwH0U9ptEDk XxuMhkOQ+a5Gi6KPTvLP+6UJCLo1eVFcBllrINxXt8X+i8ty5/Xu1tar/YNq Z2+/2Nne3n/xYq3X60XaWdvY2Ii1hXFRd15t7hcb8Pc1xkNtTOmzra3nWiB9 DlJZbzyA6jCfRPFsDhO6zVYZj6ZfdYW1jcF0XLwFIdtJ8HfqWdivKNBO+uW8 brbQ5NS086++IfgBsDhTHMz/xrXTSoGzelItRpOqURCe9hejGyfrz4tRU/SL y/pq2RTNYnlZDKHjq7JEIf/5spk/X5aXz8tyqzi/HqEaQSkFmkJ3uJyj6A8j L0aLHyATRtaYltErvjjFpdMXacW3fjP9YYGPWw42cSDTcGldo1v90iwHzTJL +/rgVX9nWG1tvd57vbs3PAiXlv3ILy3LVkurVhb+/PzzWoFAP1wuaqxFpqel aAWVX47fqJEXv3z4Amtzuby6quZb+pdH9exujpFyi2dwxO28fv1yE//uq7+v 1N8D9ff1ZrG7vb2t/u6ov7vq7576+2JzrYfNwedLlbGvscGn1d8D3enbeVXB 6g4X3/ow0rf1EvVaQGA3i9NpqQemK+LaGcVMU8z68wVuN5jOlo78+wLhAH93 thHFD99ffPr88ZeLo6OLs/Pjo7Xi8Oji6OOHt6e/XBx++SsGqXn2b+WgeKqp wJ9m3wb/9nxra13XO/zw8cPpEZzrZ7+dnZ+8R2z+vjj2eFxeVwqPAYH/118u jj6fHJ6fYNhgaFXl6J41ffiMBScfjk8+HJ2enD3716MjjdQ4o3ejRk2CKJ0A j4GOaGyD77JcTpbj/qIaFJd3fkGVDspM5+Obs580IhzsvNh8BbhwsHMA/yIQ jqDzt6cfTjA8D34efnl3fvErEK+Lo18PP5+dnG8W352efewdHLx83dv5bhOb BcidQtP/E5VM0MDHL+efvpw/s+Ss2AIkHE1Hix/Nv0DfNtc2ulVEnJuY8h8d gbyaLqHjfxXIO6grtdVm8/pmNKhge08qYEano2ai8HhSw867Q2IC7By2j1xc oRsxv1Ews/0VwBlcTVDM2Fr7fx7SyF4q1gEA --=-=-=--