diff options
author | klarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917> | 2008-04-30 22:46:00 +0000 |
---|---|---|
committer | klarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917> | 2008-04-30 22:46:00 +0000 |
commit | 6aa1324f6855ca5bfcce690081f188cdcddff3c5 (patch) | |
tree | c4fa047f2cc38bcb3022d73c4679ea17c7c4f48e /pump.in | |
parent | 3777eb79988aee8711c23e38106d74e5a1585de4 (diff) | |
download | distcc-6aa1324f6855ca5bfcce690081f188cdcddff3c5.tar.gz |
Make install-checks work and a lot of clean-up in regards to the 'checking'
targets.
- Remove temporary installation for include server tests. The current scheme
doesn't make too much sense: when testing a real installation, the include
server is tested in the separate temporary installation.
Instead, we propose to make the installation tests run only the regression
tests in the 'test' directory, unpumped and pumped. The include server is now
tested as part of maintainer-check only, but run out of the source directory,
except for the C extension module.
- The maintainer-check and the maintainer-install-check now run the integration
test (test/testdistcc.py) also in pump mode.
- A new script, find_c_extension.sh, is added; it finds the location of the
shared library. It is used for both running the include server tests and the
regression tests out of the built (not installed) version of the software. It
was cut of the 'pump' script, which now has been simplified.
- Reorganize the order of affected targets. Introduce '###############...' as
separator between sections of Makefile in a more consistent way. Make each
section consistently declare all the phony targets at the beginning of the
section.
- Introduce DISTCC_INSTALLATION variable to account for the precise location
of the tested binaries in an installation.
- Add verify-binaries-installcheck target to ensure that binaries are in this
location.
- Also, this target reports the location to users:
Make sure all paths below are where you expect them to be:
**********************************************************
/home/klarlund/svn-distcc/mybin/installation/bin/distcc
/home/klarlund/svn-distcc/mybin/installation/bin/distccd
/home/klarlund/svn-distcc/mybin/installation/bin/distccmon-text
/home/klarlund/svn-distcc/mybin/installation/bin/lsdistcc
**********************************************************
- Absolutize a couple of relative directory references before they are passed to
scripts, because otherwise things won't work with the disciplined approach to
DISTCC_INSTALLATION.
- Change a randomly generated filename so that it resides in /tmp (in
c_extensions_test.py) and not inside the build directory tree. Fix up logic
for filenaming to be more secure. This makes 'make distcheck' pass w/o
permission problems. Also, delete the temporary file and directory when
test passes.
- Make include-server-maintainer-check remove the .out file when test passes.
This makes 'make distcheck' pass the final test of the clean-out.
- Remove the 'Filtering' of the c_extensions_test output. This filtering was
necessary in a previous version that printed all output to stdout to reduce
user confusion. But now the test results go to intermediate files. This
change was forced by the removal of the .out files (above).
REVIEWED: fergus, csilvers.
TESTS: make distcheck
make maintainer-installcheck
make include-server-maintainer-check
make maintainer-check
git-svn-id: http://distcc.googlecode.com/svn/trunk@84 01de4be4-8c4a-0410-9132-4925637da917
Diffstat (limited to 'pump.in')
-rwxr-xr-x | pump.in | 41 |
1 files changed, 14 insertions, 27 deletions
@@ -179,36 +179,23 @@ StartIncludeServer() { local include_server_location="$DISTCC_LOCATION/$include_server_relative" local pythonpath=$include_server_location else - # When run from the source code directory (assuming that we configured in - # the distcc_pump top-level directory) we pick up .py files from the - # include_server directory and pick up the .so file from the - # include_server/build/libXXX/include_server directory. When configured in a - # separate directory, we pick up .py files also from include_server/build. - local include_server_location=${DISTCC_LOCATION}/include_server + # We assume this script is run from the build directory. We pick up .py + # files from the include_server directory in the source tree, and we pick up + # the .so file from the include_server/build/libXXX/include_server + # directory. + # + # The source tree location must be passed. + if test -z "$DISTCC_SRCDIR"; then + echo "__________Expected DISTCC_SRCDIR to point to distcc source directory." 1>&2 + PrintIncludeServerStatusMessage 1 + exit 1 + fi + local include_server_location=$DISTCC_SRCDIR/include_server # Now locate the single directory containing the .so file from the build # directory. Possibly there may be more than one such file; first identify # them all. - so_files=$(ls ${DISTCC_LOCATION}/_builddir/lib.*/include_server/\ -distcc_pump_c_extensions.so) - if [ -z "$so_files" ]; then - echo \ - '__________Could not find shared libraries for distcc-pump' 1>&2 - PrintIncludeServerStatusMessage 1 - return 1 - elif echo $so_files | grep -q ' '; then - echo \ - '__________Shared libraries for multiple architectures discovered.' \ - 1>&2 - echo \ - "__________Cannot determine which one to use among: $so_files" \ - 1>&2 - PrintIncludeServerStatusMessage 1 - return 1 - else - # There was only one such file. - local so_dir=$(dirname $so_files) - fi - local pythonpath="${DISTCC_LOCATION}/include_server:$so_dir" + local so_dir=`$DISTCC_SRCDIR/find_c_extension.sh $DISTCC_LOCATION` + local pythonpath="$so_dir" fi # Create a temporary directory $socket_dir. |