blob: d43e8e4899f65d989683fed960a54ccc708191e2 [file] [log] [blame]
#!/bin/sh
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# Install C++ build and python tools to the standard places in a Unix buld
# WARNING: Will destroy any existing installation!
#
# NOTE: build must be configured like this:
# ../qpid/cpp/configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64
# NOTE: Must run as root.
usage() {
cat <<EOF
Usage $0 -pc <cpp-build-directory>
-p <prefix> : Prefix to install python
-s : Skip C++ installation
EOF
exit 1
}
fail() { echo $*; exit 1; }
while getopts "ps" opt; do
case $opt in
p) PY_PREFIX="--prefix $OPTARG";;
s) SKIP_CPP=1;;
*) usage;;
esac
done
shift `expr $OPTIND - 1`
BUILD=$1
SRC=$(dirname $0)/..
# Install python
cd $SRC || fail "No such directory: $SRC"
for d in python tools extras/qmf; do
(
cd $d || fail "No such directory: $(pwd)/$d"
./setup.py install || fail Python install failed in $(pwd)
)
done
if test $SKIP_CPP; then exit; fi
test -n "$BUILD" || { echo "No build directory."; usage; }
test -d "$BUILD" || fail "No such directory: $BUILD"
SRC=$(dirname $BUILD)
# Install C++
cd $BUILD
make -j1 install || fail "C++ install failed in $BUILD"
# NOTE: setup.py does not uninstall, but you can get a list of files installed with:
# setup.py install --record <output-file>