forked from apache/qpid-proton
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.sh.in
executable file
·83 lines (69 loc) · 2.89 KB
/
config.sh.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
#
# 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.
#
merge_paths() {
# Merge paths, remove duplicates (keep first instance)
path=$(echo $* | sed 's/:/ /'g) # Split with spaces.
newpath=""
for d in $path; do # Remove duplicates
{ echo $newpath | grep -q "\(:\|^\)$d\(:\|$\)"; } || newpath="$newpath:$d"
done
echo $newpath | sed 's/^://' # Remove leading :
}
PROTON_HOME=@CMAKE_SOURCE_DIR@
PROTON_BUILD=@CMAKE_BINARY_DIR@
PROTON_BINDINGS=$PROTON_BUILD/proton-c/bindings
PROTON_JARS=$PROTON_BUILD/proton-j/proton-j.jar
PYTHON_BINDINGS=$PROTON_BINDINGS/python
PHP_BINDINGS=$PROTON_BINDINGS/php
RUBY_BINDINGS=$PROTON_BINDINGS/ruby
PERL_BINDINGS=$PROTON_BINDINGS/perl
# Python & Jython
COMMON_PYPATH=$PROTON_HOME/tests/python:$PROTON_HOME/proton-c/bindings/python
export PYTHONPATH=$COMMON_PYPATH:$PYTHON_BINDINGS
export JYTHONPATH=$COMMON_PYPATH:$PROTON_HOME/proton-j/src/main/resources:$PROTON_JARS
export CLASSPATH=$PROTON_JARS
# PHP
if [ -d $PHP_BINDINGS ]; then
cat <<EOF > $PHP_BINDINGS/php.ini
include_path="$PHP_BINDINGS:$PROTON_HOME/proton-c/bindings/php"
extension="$PHP_BINDINGS/cproton.so"
EOF
export PHPRC=$PHP_BINDINGS/php.ini
fi
# Ruby
export RUBYLIB=$RUBY_BINDINGS:$PROTON_HOME/proton-c/bindings/ruby/lib:$PROTON_HOME/tests/ruby
# Perl
export PERL5LIB=$PERL5LIB:$PERL_BINDINGS:$PROTON_HOME/proton-c/bindings/perl/lib
# Go
export GOPATH="$(merge_paths $PROTON_HOME/proton-c/bindings/go $GOPATH)"
# Help Go compiler find libraries and include files.
export C_INCLUDE_PATH="$(merge_paths $PROTON_HOME/proton-c/include $PROTON_BUILD/proton-c/include $C_INCLUDE_PATH)"
export LIBRARY_PATH="$(merge_paths $PROTON_BUILD/proton-c $LIBRARY_PATH)"
export LD_LIBRARY_PATH="$(merge_paths $PROTON_BUILD/proton-c $LD_LIBRARY_PATH)"
# test applications
export PATH="$(merge_paths $PATH $PROTON_BUILD/tests/tools/apps/c $PROTON_HOME/tests/tools/apps/python $PROTON_HOME/tests/python)"
# can the test harness use valgrind?
if [[ -x "$(type -p valgrind)" && "@ENABLE_VALGRIND@" == "ON" ]] ; then
export VALGRIND=$(type -p valgrind)
fi
# can the test harness use saslpasswd2?
if [[ -x "$(type -p saslpasswd2)" ]] ; then
export SASLPASSWD=$(type -p saslpasswd2)
fi