#! /bin/sh # finish-swig-wrapper-classes.sh # # For each scripting language liblldb supports, we need to create the # appropriate Script Bridge wrapper classes for that language so that # users can call Script Bridge functions from within the script interpreter. # # We use SWIG to create a C++ file containing the appropriate wrapper classes # and funcitons for each scripting language, before liblldb is built (thus # the C++ file can be compiled into liblldb. In some cases, additional work # may need to be done after liblldb has been compiled, to make the scripting # language stuff fully functional. Any such post-processing is handled through # the shell scripts called here. # SRC_ROOT is the root of the lldb source tree. # TARGET_DIR is where the lldb framework/shared library gets put. # CONFIG_BUILD_DIR is where the build-swig-Python-LLDB.sh shell script # put the lldb.py file it generated from running SWIG. # PREFIX is the root directory used to determine where third-party modules # for scripting languages should be installed. # debug_flag (optional) determines whether or not this script outputs # additional information when running. SRC_ROOT=$1 TARGET_DIR=$2 CONFIG_BUILD_DIR=$3 PREFIX=$4 debug_flag=$5 if [ -n "$debug_flag" -a "$debug_flag" == "-debug" ] then Debug=1 else Debug=0 fi # # For each scripting language, see if a post-processing script for that # language exists, and if so, call it. # # For now the only language we support is Python, but we expect this to # change. languages="Python" cwd=${SRC_ROOT}/scripts for curlang in $languages do if [ $Debug == 1 ] then echo "Current language is $curlang" fi if [ ! -d "$cwd/$curlang" ] then echo "error: unable to find $curlang script sub-dirctory" >&2 continue else if [ $Debug == 1 ] then echo "Found $curlang sub-directory" fi cd $cwd/$curlang filename="./finish-swig-${curlang}-LLDB.sh" if [ -f $filename ] then if [ $Debug == 1 ] then echo "Found $curlang post-processing script for LLDB" echo "Executing $curlang post-processing script..." fi ./finish-swig-${curlang}-LLDB.sh $SRC_ROOT $TARGET_DIR $CONFIG_BUILD_DIR "${PREFIX}" "${debug_flag}" fi fi done exit 0