|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
directory up to the top level: delete the distcc directory (I already
copied it all to the top level in my last commit).
This requires changing all files that refer to distcc/FOO to refer
directly to FOO instead. Mostly this is Makefile.in and setup.py, but
there are a few other changes in scripts that have to hard-code paths,
like configure.ac and pump.in. Also, several files changed their
comments to refer to the new location, which isn't strictly necessary
but I did anyway.
The only other change I made was to get rid of the hack I had put in
before, which renamed distcc to distcc-bin. I had needed to do that
before, temporarily, because "distcc" was already the name of a
directory, and couldn't also be the name of a binary. Now that the
distcc directory is going away, I can rename the target back to
distcc.
Tested by running './autogen; ./configure; make maintainer-check'.
I also ran 'make pump-check' and 'make distcheck'.
To be reviewed (post-facto) by klarlund@google.com and fergus@google.com
git-svn-id: http://distcc.googlecode.com/svn/trunk@23 01de4be4-8c4a-0410-9132-4925637da917
|
|
include_server/configure.ac into a single, top-level configure.ac
script. Likewise with the three Makefile.in scripts. Now one config
file at the top level controls everything.
I had to rewrite quite a bit of code to account for the new level-up.
In particular, I had to add "distcc/" in front of many things in order
to refer to the same files I used to refer to when the
configure.ac/Makefile.in text lived in the distcc/ directory rather
than the top-level directory. Likewise (though to a lesser extent)
for include_server.
I also had to do a bit of merge work. Typically I'd leave the
originally-distcc-directory content as close to the original as
possible, and then try to put in the include_server directory stuff.
Most of the top-level configure.ac and Makefile.in could go away,
since they were glue before. I also could get rid of other top-level
helper scripts that were used for the glue, such as version.sh.
I also fixed a number of typos and other bugs:
Makefile.in:
1) Removed obsolete CVS comment (we're 3 source-control systems past
that now!)
2) distcc/Makefile.in was using top_builddir without importing it from
the configure script.
3) Add zeroconf.h to HEADERS, which is needed for 'make dist'. I also
added all the include_server files to 'make dist'.
4) "make dist" was passing 'h' ("no symlinks") to tar. This does not
work with the include_server test-suite, which includes symlinks.
I verified no other part of the distribution uses symlinks.
Removed the h.
5) "make dist" was missing a lot of stuff (including almost all the
include-server files). Updated it to get it all now. Likewise,
updated "make clean" and its cousins to be more precise. Also made
"make distcheck" more careful in checking that kind of thing.
6) Declared more phony targets .PHONY.
7) The include-server build commands do a lot of 'cd'-ing (since
setup.py requires it), and then using make variables that might
store relative directory paths. I now go through some hoops to
make those directory paths absolute before the cd.
8) "make pump-check" was not setting the path, so it was using the
installed distcc instead of the local one in the client. Fixed
that, and added a new target, "make pump-installcheck", to use the
installed distcc instead (parallel to the maintainer-check and
maintainer-installcheck targets).
configure.ac:
1) popt test was using $srcdir rather than required ${srcdir}, and
thus was always getting the empty string. (Luckily, srcdir is
usually ".", and the empty string is usually equivalent.)
Likewise when setting CPPFLAGS, which again didn't matter because
it turns out the relevant code was redundant with what autoconf
already does automatically.
2) A merge error: apparently the avahi check was added twice. Get rid
of the second one.
3) Was using obsolete AC_OUTPUT format. Use AC_CONFIG_FILES instead.
4) Added pkg.m4 to the m4/ directory. Before it only lived in
autoconf.m4. But my system, at least, doesn't have it.
5) include-server requires python2.4, so remove checks for earlier
pythons.
autogen.sh:
1) Added aclocal call. I think it was a bug that it was left out
before.
pump.in:
1) Fixed it to notice when it can't find the .so file it needs.
I also modified INSTALL to point to the new file locations, and the
new instructions to run them (eg no more run_all_autoconf.sh).
Despite all these bugfixes, I made the minimal changes possible to get
things to work. I marked with "TODO" further improvements I'd like to
make later.
One particular TODO is that I had to rename the "distcc" target -- the
main executable -- because it conflicts with the existing distcc
directory. This is a temporary breakage which will be fixed in the
next submit after this one, where I move the subdirs under distcc to
the top level, getting rid of the artificial extra directory
introduced.
Tested by running 'make maintainer-check', 'make distcheck', and 'make
pump-check' on my local machine, which passed. I've not tested all
the various configurations and options (including using avahi, using
the library popt library, building without python, etc). I've also
not tried 'make benchmark'.
Reviewed by klarlund@google.com and fergus@google.com
git-svn-id: http://distcc.googlecode.com/svn/trunk@21 01de4be4-8c4a-0410-9132-4925637da917
|