blob: 2ec107d83ed9312c9de398594d48569de3852511 [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.
# Set up PATH, LIBRARY_PATH, LD_LIBRARY_PATH and CLOWNFISH_INCLUDE to build
# Lucy with an uninstalled Clownfish source tree. Useful for development.
#
# Usage: . setup_clownfish_env.sh path_to_clownfish_source
contains() {
string="$1"
substring="$2"
test "${string#*$substring}" != "$string"
}
add_to_path() {
path="$1"
dir="$2"
if [ -z "$path" ]; then
echo "$dir"
elif ! contains ":$path:" ":$dir:"; then
echo "$dir:$path"
else
echo "$path"
fi
}
if [ -z "$1" ]; then
echo "Usage: . setup_clownfish_env.sh path_to_clownfish_source"
return 1 2>/dev/null || exit 1
fi
if [ ! -d "$1" ]; then
echo "Not a directory: $1"
return 1 2>/dev/null || exit 1
fi
src_dir=`cd "$1" && pwd`
if [ ! -d "$src_dir/compiler" ] || [ ! -d "$src_dir/runtime" ]
then
echo "Doesn't look like a Clownfish source directory: $src_dir"
return 1 2>/dev/null || exit 1
fi
compiler_dir=$src_dir/compiler
runtime_dir=$src_dir/runtime
export PATH=`add_to_path "$PATH" "$compiler_dir/c"`
export C_INCLUDE_PATH=`add_to_path "$C_INCLUDE_PATH" "$runtime_dir/perl/xs"`
export LIBRARY_PATH=`add_to_path "$LIBRARY_PATH" "$runtime_dir/c"`
export CLOWNFISH_INCLUDE=`add_to_path "$CLOWNFISH_INCLUDE" "$runtime_dir/core"`
export PERL5LIB=`add_to_path "$PERL5LIB" "$compiler_dir/perl/blib/arch"`
export PERL5LIB=`add_to_path "$PERL5LIB" "$compiler_dir/perl/blib/lib"`
export PERL5LIB=`add_to_path "$PERL5LIB" "$runtime_dir/perl/blib/arch"`
export PERL5LIB=`add_to_path "$PERL5LIB" "$runtime_dir/perl/blib/lib"`
if [ `uname` != Darwin ]; then
export LD_LIBRARY_PATH=`add_to_path "$LD_LIBRARY_PATH" "$runtime_dir/c"`
fi