Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-24 Thread Peter Clifton
On Sun, 2010-04-18 at 20:16 -0700, Jared Casper wrote:

  I just discovered that the latest automake (1.11) has a nifty feature
  to create silent build rules to produce a Linux kernel style build
  that just displays CC  file.c etc. instead of the whole command line
  (must have missed the memo last year).   The attached patch enables
  this mode in PCB and edits most of the custom build rules to use the
  new silent type of output.  Right now it turns silent build on by
  default.   The old style can be obtained using make V=1 or with the
  --disable-silent-rules configure option.  To make it not on by
  default, remove the [yes] in the call to AM_SILENT_RULES in
  configure.ac.

I tried such a patch for gEDA (it is in my repo actually). I'm of mixed
feeling about it though.. it makes the normal compile output nicer, but
it doesn't honour the -s option passed to make.. so I loose my usual
easy way of checking for errors without getting lost in output (make -s)

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-21 Thread Bert Timmerman
Hi Jared,

On Sun, 2010-04-18 at 16:05 -0700, Jared Casper wrote: 
 Hi all,
 
 I just discovered that the latest automake (1.11) has a nifty feature
 to create silent build rules to produce a Linux kernel style build
 that just displays CC  file.c etc. instead of the whole command line
 (must have missed the memo last year).   The attached patch enables
 this mode in PCB and edits most of the custom build rules to use the
 new silent type of output.  Right now it turns silent build on by
 default.   The old style can be obtained using make V=1 or with the
 --disable-silent-rules configure option.  To make it not on by
 default, remove the [yes] in the call to AM_SILENT_RULES in
 configure.ac.
 
 I think it makes the build much cleaner and readable overall and, more
 importantly, makes the errors and warnings much easier to see.
 
 I decided to send it here instead of the patch tracker for two
 reasons:  1) Feedback to see if people like this style of build
 output.  2) Testing.  I don't have a box that has autoconf  2.60 and
 automake  1.11 (I either have servers that have been up for ever and
 still on autoconf  2.60 or desktops that are very up to date and have
 automake = 1.11.)  I'd be surprised if it broke things with automake
  1.11, but that needs testing.  Also, I don't have a Windows box or a
 box with a non-GNU tool chain to test it out on.  So if any body with
 these environments can test this out for me I'd appreciate it.
 
 Thanks!
 
 Jared
 

Here is my EUR 0.02 on this one

I have an old Fedora Core 5 box running (which is very slw ;)
and it took some time to get some results.

I have automake-1.9.6 and recently upgraded to autoconf-2.63

I applied your patch and ran the usual suspects ./autogen.sh
and ./configure

Running make with either v=0 v=1 V=0 or V=1 gives the same results,
just no silent mode over here.

The other (family) box has Microsoft Windows XP (SP3) with a recent
cygwin (new release and build system).

This one has automake-1.11.1 and autoconf-2.65 and AFAICT here things
work as you advocate ;-)

I had to configure with --disable-doc and
--disable-update-desktop-database to get things working here.

I hope this confirms what you said in the above message.

Kind regards,

Bert Timmerman.



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread Ineiev
Hi;

On 4/18/10, Jared Casper jaredcas...@gmail.com wrote:
 I think it makes the build much cleaner and readable overall and, more
 importantly, makes the errors and warnings much easier to see.

Actually, I don't think so; the build itself does not change, the readability
arguably decreases (I'll need an extra step to switch on the full mode).

 I decided to send it here instead of the patch tracker for two
 reasons:  1) Feedback to see if people like this style of build
 output.  2) Testing.  I don't have a box that has autoconf  2.60 and
 automake  1.11 (I either have servers that have been up for ever and
 still on autoconf  2.60 or desktops that are very up to date and have
 automake = 1.11.)  I'd be surprised if it broke things with automake
  1.11, but that needs testing.

It works for me with autoconf-2.63, automake-1.10.2; that is, nothing changes.

Some of patches from my collection will need to be rebased manually,
but I have no other objections.

Thanks,
Ineiev


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread John Griessen

Jared Casper wrote:


I think it makes the build much cleaner and readable overall and, more
importantly, makes the errors and warnings much easier to see.



Anything to help understandability of compile output is good by me.
Your change probably won't decrease error output, just the ones that
go smoothly are shortened, right?

John


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread Jared Casper
On Mon, Apr 19, 2010 at 7:57 AM, John Griessen j...@ecosensory.com wrote:
 Anything to help understandability of compile output is good by me.
 Your change probably won't decrease error output, just the ones that
 go smoothly are shortened, right?


The errors/warnings themselves aren't shortened, it just shortens the
command line used to compile.  As an example this is the output of the
build with this patch applied, versus without. (sorry for the spam of
compile output, but since people without automake 1.11 won't be able
to see the change, I think this will help demonstrate what this patch
would do.  In fact the mere fact I feel like I need to apologize for
pasting compile output could be part of the argument :)

With patch (warnings obvious)

  CC action.o
  CC autoplace.o
  CC autoroute.o
../../../pcb/pcb/src/autoroute.c:3431: warning: ‘add_clearance’
defined but not used
  CC buffer.o
  CC change.o
../../../pcb/pcb/src/change.c: In function ‘ChangeElementName’:
../../../pcb/pcb/src/change.c:1016: warning: unused variable ‘old’
  CC clip.o
  CC command.o

Without patch (very difficult to quickly see what exactly is going on,
let alone catch the warnings):

gcc -std=gnu99 -DLOCALEDIR=\/usr/local/share/locale\
-DHAVE_CONFIG_H -I. -I../../../pcb/pcb/src -I.. -I../../../pcb/pcb
-I../../../pcb/pcb/src/icons -I../../../pcb/pcb/src/gts
-I/usr/include -I/usr/include -I/usr/include
-DPREFIXDIR=\/usr/local\ -DBINDIR=\/usr/local/bin\
-DHOST=\x86_64-unknown-linux-gnu\
-DPCBLIBDIR=\/usr/local/share/pcb\
-DPCBTREEDIR=\/usr/local/share/pcb/newlib\
-DPCBTREEPATH=\/usr/local/share/pcb/newlib:/usr/local/share/pcb/pcblib-newlib\
-DNDEBUG -g -O2 -I/usr/include -I/usr/include -I/usr/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng14-Wall -Wdeclaration-after-statement -MT
action.o -MD -MP -MF $depbase.Tpo -c -o action.o
../../../pcb/pcb/src/action.c \
mv -f $depbase.Tpo $depbase.Po
depbase=`echo autoplace.o | sed 's|[^/]*$|.deps/|;s|\.o$||'`;\
gcc -std=gnu99 -DLOCALEDIR=\/usr/local/share/locale\
-DHAVE_CONFIG_H -I. -I../../../pcb/pcb/src -I.. -I../../../pcb/pcb
-I../../../pcb/pcb/src/icons -I../../../pcb/pcb/src/gts
-I/usr/include -I/usr/include -I/usr/include
-DPREFIXDIR=\/usr/local\ -DBINDIR=\/usr/local/bin\
-DHOST=\x86_64-unknown-linux-gnu\
-DPCBLIBDIR=\/usr/local/share/pcb\
-DPCBTREEDIR=\/usr/local/share/pcb/newlib\
-DPCBTREEPATH=\/usr/local/share/pcb/newlib:/usr/local/share/pcb/pcblib-newlib\
-DNDEBUG -g -O2 -I/usr/include -I/usr/include -I/usr/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng14-Wall -Wdeclaration-after-statement -MT
autoplace.o -MD -MP -MF $depbase.Tpo -c -o autoplace.o
../../../pcb/pcb/src/autoplace.c \
mv -f $depbase.Tpo $depbase.Po
depbase=`echo autoroute.o | sed 's|[^/]*$|.deps/|;s|\.o$||'`;\
gcc -std=gnu99 -DLOCALEDIR=\/usr/local/share/locale\
-DHAVE_CONFIG_H -I. -I../../../pcb/pcb/src -I.. -I../../../pcb/pcb
-I../../../pcb/pcb/src/icons -I../../../pcb/pcb/src/gts
-I/usr/include -I/usr/include -I/usr/include
-DPREFIXDIR=\/usr/local\ -DBINDIR=\/usr/local/bin\
-DHOST=\x86_64-unknown-linux-gnu\
-DPCBLIBDIR=\/usr/local/share/pcb\
-DPCBTREEDIR=\/usr/local/share/pcb/newlib\
-DPCBTREEPATH=\/usr/local/share/pcb/newlib:/usr/local/share/pcb/pcblib-newlib\
-DNDEBUG -g -O2 -I/usr/include -I/usr/include -I/usr/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -pthread
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng14-Wall -Wdeclaration-after-statement -MT
autoroute.o -MD -MP -MF $depbase.Tpo -c -o autoroute.o
../../../pcb/pcb/src/autoroute.c \
mv -f $depbase.Tpo $depbase.Po
../../../pcb/pcb/src/autoroute.c:3431: warning: ‘add_clearance’
defined but not used
depbase=`echo buffer.o | sed 's|[^/]*$|.deps/|;s|\.o$||'`;\
gcc -std=gnu99 -DLOCALEDIR=\/usr/local/share/locale\
-DHAVE_CONFIG_H -I. -I../../../pcb/pcb/src -I.. -I../../../pcb/pcb
-I../../../pcb/pcb/src/icons -I../../../pcb/pcb/src/gts
-I/usr/include -I/usr/include -I/usr/include
-DPREFIXDIR=\/usr/local\ -DBINDIR=\/usr/local/bin\
-DHOST=\x86_64-unknown-linux-gnu\
-DPCBLIBDIR=\/usr/local/share/pcb\
-DPCBTREEDIR=\/usr/local/share/pcb/newlib\
-DPCBTREEPATH=\/usr/local/share/pcb/newlib:/usr/local/share/pcb/pcblib-newlib\
-DNDEBUG -g -O2 

Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread Jared Casper
On Mon, Apr 19, 2010 at 2:03 AM, Ineiev ine...@gmail.com wrote:
 On 4/18/10, Jared Casper jaredcas...@gmail.com wrote:
 I think it makes the build much cleaner and readable overall and, more
 importantly, makes the errors and warnings much easier to see.

 Actually, I don't think so; the build itself does not change, the readability
 arguably decreases (I'll need an extra step to switch on the full mode).


I'm curious why you feel readability decreases?  I still see what file
is being compiled and the full output the errors.  The only
information I loose and need to switch on full mode for is the full
compiler flags used in the compile, most of which probably aren't
directly related to compiling this particular file and in my
experience are very rarely needed to understand a compiler error or
warning.   Readability is increased because the warnings are not lost
in the lines and lines of command line output (see my last reply)

 It works for me with autoconf-2.63, automake-1.10.2; that is, nothing changes.


Thanks for testing, that is indeed what was expected.

 Some of patches from my collection will need to be rebased manually,
 but I have no other objections.


I'm sure they will get in before this (if it does), in which case I'll
rebase this stuff, no problem.

Jared


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread Armin Faltl
Leaving out the commandline in a build can open all sorts of cans with 
worms.

Most commandline flags control parts of header files (-DHAVE_STRANGE_MOFOS
-I/other/weired/headers)
and getting this wrong is a show-stopper with my bugs...

I feel make V=0.5 would be ideal: omit the stuff if everything goes well
and show the commandline (and the directory this make was started in)
if an error occurs (not for warnings). Clearly I know this is wishful 
thinking.
I wrote an extra tool errlog, to conserve the commandline in automated 
build
logs for my projects. It's sort of a tee(1) that calls the compiler, 
sends it's
output to log and stdout and terminates with the code the compiler 
terminated.

It's trivial to invoke: instead of CC = gcc use CC = errlog gcc.

Armin

Jared Casper wrote:

On Mon, Apr 19, 2010 at 2:03 AM, Ineiev ine...@gmail.com wrote:
  

On 4/18/10, Jared Casper jaredcas...@gmail.com wrote:


I think it makes the build much cleaner and readable overall and, more
importantly, makes the errors and warnings much easier to see.
  

Actually, I don't think so; the build itself does not change, the readability
arguably decreases (I'll need an extra step to switch on the full mode).




I'm curious why you feel readability decreases?  I still see what file
is being compiled and the full output the errors.  The only
information I loose and need to switch on full mode for is the full
compiler flags used in the compile, most of which probably aren't
directly related to compiling this particular file and in my
experience are very rarely needed to understand a compiler error or
warning.   Readability is increased because the warnings are not lost
in the lines and lines of command line output (see my last reply)

  

It works for me with autoconf-2.63, automake-1.10.2; that is, nothing changes.




Thanks for testing, that is indeed what was expected.

  

Some of patches from my collection will need to be rebased manually,
but I have no other objections.




I'm sure they will get in before this (if it does), in which case I'll
rebase this stuff, no problem.

Jared


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

  



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-19 Thread Charles Lepple
On Mon, Apr 19, 2010 at 5:27 PM, Armin Faltl armin.fa...@aon.at wrote:
 I feel make V=0.5 would be ideal: omit the stuff if everything goes well
 and show the commandline (and the directory this make was started in)
 if an error occurs (not for warnings).

... which you should get if you run make || make V=1.

In all likelihood, the errors will still be there the second time.

I dunno, this looks suspiciously similar to what the Linux kernel's
kbuild system has been doing for a number of years now. I don't think
it's too much to ask users to re-post build logs with V=1.

-- 
- Charles Lepple


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-18 Thread Jared Casper
Hi all,

I just discovered that the latest automake (1.11) has a nifty feature
to create silent build rules to produce a Linux kernel style build
that just displays CC  file.c etc. instead of the whole command line
(must have missed the memo last year).   The attached patch enables
this mode in PCB and edits most of the custom build rules to use the
new silent type of output.  Right now it turns silent build on by
default.   The old style can be obtained using make V=1 or with the
--disable-silent-rules configure option.  To make it not on by
default, remove the [yes] in the call to AM_SILENT_RULES in
configure.ac.

I think it makes the build much cleaner and readable overall and, more
importantly, makes the errors and warnings much easier to see.

I decided to send it here instead of the patch tracker for two
reasons:  1) Feedback to see if people like this style of build
output.  2) Testing.  I don't have a box that has autoconf  2.60 and
automake  1.11 (I either have servers that have been up for ever and
still on autoconf  2.60 or desktops that are very up to date and have
automake = 1.11.)  I'd be surprised if it broke things with automake
 1.11, but that needs testing.  Also, I don't have a Windows box or a
box with a non-GNU tool chain to test it out on.  So if any body with
these environments can test this out for me I'd appreciate it.

Thanks!

Jared


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-18 Thread Jared Casper
This time with the patch.

On Sun, Apr 18, 2010 at 4:05 PM, Jared Casper jaredcas...@gmail.com wrote:
 Hi all,

 I just discovered that the latest automake (1.11) has a nifty feature
 to create silent build rules to produce a Linux kernel style build
 that just displays CC  file.c etc. instead of the whole command line
 (must have missed the memo last year).   The attached patch enables
 this mode in PCB and edits most of the custom build rules to use the
 new silent type of output.  Right now it turns silent build on by
 default.   The old style can be obtained using make V=1 or with the
 --disable-silent-rules configure option.  To make it not on by
 default, remove the [yes] in the call to AM_SILENT_RULES in
 configure.ac.

 I think it makes the build much cleaner and readable overall and, more
 importantly, makes the errors and warnings much easier to see.

 I decided to send it here instead of the patch tracker for two
 reasons:  1) Feedback to see if people like this style of build
 output.  2) Testing.  I don't have a box that has autoconf  2.60 and
 automake  1.11 (I either have servers that have been up for ever and
 still on autoconf  2.60 or desktops that are very up to date and have
 automake = 1.11.)  I'd be surprised if it broke things with automake
  1.11, but that needs testing.  Also, I don't have a Windows box or a
 box with a non-GNU tool chain to test it out on.  So if any body with
 these environments can test this out for me I'd appreciate it.

 Thanks!

 Jared


 ___
 geda-user mailing list
 geda-user@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user



0001-Enable-linux-kernel-style-silent-build-if-available.patch
Description: Binary data


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-18 Thread Larry Doolittle
Jared -

Sent privately, maybe you can summarize responses
(or if I'm the only one, tell me, and I'll post
to the list).

On Sun, Apr 18, 2010 at 04:05:16PM -0700, Jared Casper wrote:
 I think it makes the build much cleaner and readable overall and, more
 importantly, makes the errors and warnings much easier to see.

I don't mind the short form, until I run into trouble.
Then I want a documented way to turn it off, so I can
see what make is actually trying to do.  The explicit
command lines are wonderful sources of cutting-and-pasting
experiments on the command line.

- Larry


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-18 Thread Larry Doolittle
On Sun, Apr 18, 2010 at 08:38:28PM -0700, Larry Doolittle wrote:
 Sent privately, maybe you can summarize responses

Yeah, well, I got distracted at exactly the wrong moment.
So kick me.

   - Larry


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Patch to PCB build system needs testing/feedback

2010-04-18 Thread Jared Casper
On Sun, Apr 18, 2010 at 8:38 PM, Larry Doolittle
ldool...@recycle.lbl.gov wrote:
 I don't mind the short form, until I run into trouble.
 Then I want a documented way to turn it off, so I can
 see what make is actually trying to do.  The explicit
 command lines are wonderful sources of cutting-and-pasting
 experiments on the command line.


Absolutely.  Like I said it is pretty easy to turn off.  Using make
V=1 instead of just make will display all the full command lines
for a single run of make.  ./configure'ing with --disable-silent-rules
will turn off the silent builds completely and show all command lines
in the build tree.

Jared


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user