RE: Is a ChangeLog file realistic if /lots/ of developers adding/lots/ of changes?
I appreciate your helpful input. I will propose your suggestions to my lab and hope they are open to it. Thanks again, Chris Original Message Subject: Re: Is a ChangeLog file realistic if /lots/ of developers adding /lots/ of changes? From: Thien-Thi Nguyen [EMAIL PROTECTED] Date: Fri, June 27, 2003 5:49 am To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED] From: [EMAIL PROTECTED] Date: Wed, 25 Jun 2003 13:57:26 -0700 This overhead will take work and commitment from people. How much improvement can this deliver?? 10%? 50%? 500%? the way to look at it is that you WANT work and commitment from people, but you want the right kind of work and commitment. the improvement cannot be measured simply w/ a number, so if you are looking for that kind of change, this advice is not for you. Is this advice meant only for large (10? 100?) development groups??? it's meant for any size group that wants to work smarter and that has the desire and discipline to try that method. of course, you have to tweak the method as you scale up. for a very large group, feel free hire a management consultant (who will give you pretty much the same advice but w/ glossy brochures ;-). The reason I am asking is that I usually work on projects with 10 developers. Things usually get done somehow regardless. well, the art of manglement is to finesse the somehow into our how where our is customized to the particular group's dynamics, tight in the right places, and slackful in the right places. that's a lot of weasel words, you are sure to notice. the activity i suggested falls into the general class of reflective activity which is, at its core, a force that works to oppose weasling. that's why all art is ironic, btw. (I got a bad deal when I went crazy about OOP and decided to do everything object oriented only to discover that small projects don't necessarily benefit from OOP. Sometimes OOP can even *slow down* a little project. I hope this ChangeLog business is not another OOP) it all depends on the people who have to carry it out. good luck! thi
RE: Is a ChangeLog file realistic if /lots/ of developers adding/lots/ of changes?
This overhead will take work and commitment from people. How much improvement can this deliver?? 10%? 50%? 500%? Is this advice meant only for large (10? 100?) development groups??? The reason I am asking is that I usually work on projects with 10 developers. Things usually get done somehow regardless. (I got a bad deal when I went crazy about OOP and decided to do everything object oriented only to discover that small projects don't necessarily benefit from OOP. Sometimes OOP can even *slow down* a little project. I hope this ChangeLog business is not another OOP) Chris Original Message Subject: Re: Is a ChangeLog file realistic if /lots/ of developers adding /lots/ of changes? From: Thien-Thi Nguyen [EMAIL PROTECTED] Date: Thu, June 19, 2003 9:04 am To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED] [EMAIL PROTECTED]: If you have any advice or ways to streamline the process I would very much like to hear it. spend one hour a week as a group reading change logs (and only change logs -- no code!) for the week preceding. discuss applicability of changes, especially whether or not the change introduces new problems. note change/changeback pairs. characterize and categorize changes to determine if a larger-scope redesign is indicated (or rather, soon to be indicated :-). over time, this will streamline things because your group will be able to recognize useless (or less than optimal) changes that should never have been made in the first place, and thus reduce that kind of noise. you might also develop ability to pre-emptively figure out more direct and more robust changes to make. basically, to understand the code is one thing, to understand how you change your code is the next best thing, and to understand how you understand how you change your code is the best thing. change logs can help you do this. thi
RE: Problems getting dependencies compiled before executable....
Alexandre Thanks for the info. I really appreciate it. What is the easiest way then to tell system to go to a different directory to build a dependency if it is not built yet?? By the way, if you don't mind me asking, what is the point of _DEPENDENCIES when you can just add library to _LDADD and Autotools will update dependency list automatically from that??? Chris Original Message Subject: Re: Problems getting dependencies compiled before executable From: Alexandre Duret-Lutz [EMAIL PROTECTED] Date: Sat, June 14, 2003 12:19 pm To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] Chris == Chris Seberino [EMAIL PROTECTED] writes: [...] Chris If a dependency of a target is not built, then Makefile Chris should build the dependency first. That is not what Chris is happening here. Why can't Makefile go to right Chris directory to build the dependency??? [...] Because the rules to build this dependency are in the subdirectory not in the current one. See http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html for some background. You can tell Automake you want the subdirectory built *after* the current one by changing src/Makefile.am's SUBDIRS definition to SUBDIRS = . exec Alternatively, you can merge src/exec/Makefile.am into src/Makefiles.am. It's ok to write things like noinst_LIBRARIES = libfoo.a libfoo_a_SOURCES = foo.c bin_PROGRAMS = exec/main exec_main_SOURCES = exec/main.c exec_main_LDADD = libfoo.a -- Alexandre Duret-Lutz
How hardcode different default prefix? Hack Makefile.in best way?use autoconf macro?
Is hacking definition of $(prefix) in Makefile.in the best way to change default prefix from something other than /usr/local??? Is there some macro to add to configure.in that would do the same? That seems like the ideal. Chris
Re: Problems getting dependencies compiled before executable....
Assar Thanks for the email. I am using Red Hat 8 which means automake 1.6 and autoconf 2.53. I spent some time creating a very *simple* example like you requested. I'd be very grateful if you looked at it In order to show you my problem with _DEPENDENCIES I intentionally put the executable in src/exec and the library stuff in src. Since the executable in src/exec cannot be built without the library in src being built *first*, I was hoping build process would realize this and adjust accordingly. It didn't and I got error message I want to fix. Here are the contents of 2 Makefile.am's that need to be fixed. src/Makefile.am: - noinst_LIBRARIES = libhelperfunctions.a libhelperfunctions_a_SOURCES = printmessage1.c printmessage1.h printmessage2.c printmessage2.h printmessage3.c printmessage3.h SUBDIRS = exec src/exec/Makefile.am - bin_PROGRAMS = main main_SOURCES = main.c main_LDADD= -lhelperfunctions -lpthread -lm main_DEPENDENCIES = ../libhelperfunctions.a main_LDFLAGS = -L ../ INCLUDES = -I ../ Here is what happens when I type make at top of source tree (BTW: $(top_srcdir) = /home/seberino/MAIN/Wb/efe2) Making all in src make[1]: Entering directory `/home/seberino/MAIN/Wb/efe2/src' Making all in exec make[2]: Entering directory `/home/seberino/MAIN/Wb/efe2/src/exec' make[2]: *** No rule to make target `../libhelperfunctions.a', needed by `main'. Stop. make[2]: Leaving directory `/home/seberino/MAIN/Wb/efe2/src/exec' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/seberino/MAIN/Wb/efe2/src' make: *** [all-recursive] Error 1 Here is a listing of entire source tree before doing anything... (laptop /home/seberino/MAIN/Wb/efe2) % ls -lR .: total 24 drwxrwxr-x3 seberino seberino 4096 Jun 10 11:23 ./ drwxrwxr-x 15 seberino seberino 4096 Jun 10 10:51 ../ -rwxrwxr-x1 seberino seberino 149 Jun 10 10:51 bootstrap -rw-rw-r--1 seberino seberino 177 Jun 10 10:58 configure.ac -rw-rw-r--1 seberino seberino 14 Jun 10 10:51 Makefile.am drwxrwxr-x4 seberino seberino 4096 Jun 10 11:24 src/ ./src: total 44 drwxrwxr-x4 seberino seberino 4096 Jun 10 11:24 ./ drwxrwxr-x3 seberino seberino 4096 Jun 10 11:23 ../ drwxrwxr-x2 seberino seberino 4096 Jun 10 11:24 exec/ -rw-rw-r--1 seberino seberino 380 Jun 10 10:56 Makefile.am -rw-rw-r--1 seberino seberino 189 Jun 10 10:51 printmessage1.c -rw-rw-r--1 seberino seberino 249 Jun 10 10:51 printmessage1.h -rw-rw-r--1 seberino seberino 189 Jun 10 10:51 printmessage2.c -rw-rw-r--1 seberino seberino 249 Jun 10 10:51 printmessage2.h -rw-rw-r--1 seberino seberino 189 Jun 10 10:51 printmessage3.c -rw-rw-r--1 seberino seberino 249 Jun 10 10:51 printmessage3.h ./src/exec: total 16 drwxrwxr-x2 seberino seberino 4096 Jun 10 11:24 ./ drwxrwxr-x4 seberino seberino 4096 Jun 10 11:24 ../ -rw-rw-r--1 seberino seberino 625 Jun 10 10:51 main.c -rw-rw-r--1 seberino seberino 202 Jun 10 11:07 Makefile.am Thanks! Chris Original Message Subject: Re: Problems getting dependencies compiled before executable From: Assar Westerlund [EMAIL PROTECTED] Date: Fri, June 6, 2003 10:38 pm To: [EMAIL PROTECTED] [EMAIL PROTECTED] writes: I would have preferred that build system would see myprogram_DEPENDENCIES = libmylibrary.a and automatically known to build library FIRST. Why don't you use myprogram_LDADD = libmylibrary.a ? I'm not able to reproduce your problem. Can you tell us what version of automake you're running and show us a minimal example that shows the problem?
Problems getting dependencies compiled before executable....
I have multiple executables built from my source tree. Some files in 1 directory are needed by many executables so I made a library to link everwhere needed. This one directory now must build this library and ALSO the executable in that directory. It was a real struggle to get library built FIRST as well as executable in same directory. I don't know if I did it the easiest way. Autotools book mentions putting SUBDIRS at the TOP of Makefile.am with a . (i.e. current directory) as one of the subdirs. Apparently you can get current directory worked on before subdirs this way. I would have preferred that build system would see myprogram_DEPENDENCIES = libmylibrary.a and automatically known to build library FIRST. Instead I always got messages about 'make' not finding rule to build this target even though I have noninst_LIBRARIES = libmylibrary.a in same Makefile.am. Any help would be greatly appreciated. Sincerely, Chris