summaryrefslogtreecommitdiff
path: root/pump.in
diff options
context:
space:
mode:
authorklarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917>2008-04-30 22:46:00 +0000
committerklarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917>2008-04-30 22:46:00 +0000
commit6aa1324f6855ca5bfcce690081f188cdcddff3c5 (patch)
treec4fa047f2cc38bcb3022d73c4679ea17c7c4f48e /pump.in
parent3777eb79988aee8711c23e38106d74e5a1585de4 (diff)
downloaddistcc-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-xpump.in41
1 files changed, 14 insertions, 27 deletions
diff --git a/pump.in b/pump.in
index a100639..79d763a 100755
--- a/pump.in
+++ b/pump.in
@@ -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.