1 #! /bin/sh 2 3 # finish-swig-wrapper-classes.sh 4 # 5 # For each scripting language liblldb supports, we need to create the 6 # appropriate Script Bridge wrapper classes for that language so that 7 # users can call Script Bridge functions from within the script interpreter. 8 # 9 # We use SWIG to create a C++ file containing the appropriate wrapper classes 10 # and funcitons for each scripting language, before liblldb is built (thus 11 # the C++ file can be compiled into liblldb. In some cases, additional work 12 # may need to be done after liblldb has been compiled, to make the scripting 13 # language stuff fully functional. Any such post-processing is handled through 14 # the shell scripts called here. 15 16 # SRC_ROOT is the root of the lldb source tree. 17 # TARGET_DIR is where the lldb framework/shared library gets put. 18 # CONFIG_BUILD_DIR is where the build-swig-Python-LLDB.sh shell script 19 # put the lldb.py file it generated from running SWIG. 20 # PREFIX is the root directory used to determine where third-party modules 21 # for scripting languages should be installed. 22 # debug_flag (optional) determines whether or not this script outputs 23 # additional information when running. 24 25 SRC_ROOT=$1 26 TARGET_DIR=$2 27 CONFIG_BUILD_DIR=$3 28 PREFIX=$4 29 30 shift 4 31 32 if [ -n "$1" -a "$1" = "-debug" ] 33 then 34 debug_flag=$1 35 Debug=1 36 shift 37 else 38 debug_flag="" 39 Debug=0 40 fi 41 42 if [ -n "$1" -a "$1" = "-m" ] 43 then 44 makefile_flag="$1" 45 shift 46 else 47 makefile_flag="" 48 fi 49 50 # 51 # For each scripting language, see if a post-processing script for that 52 # language exists, and if so, call it. 53 # 54 # For now the only language we support is Python, but we expect this to 55 # change. 56 57 languages="Python" 58 cwd=${SRC_ROOT}/scripts 59 60 for curlang in $languages 61 do 62 if [ $Debug -eq 1 ] 63 then 64 echo "Current language is $curlang" 65 fi 66 67 if [ ! -d "$cwd/$curlang" ] 68 then 69 echo "error: unable to find $curlang script sub-dirctory" >&2 70 continue 71 else 72 73 if [ $Debug -eq 1 ] 74 then 75 echo "Found $curlang sub-directory" 76 fi 77 78 cd $cwd/$curlang 79 80 filename="./finish-swig-${curlang}-LLDB.sh" 81 82 if [ -f $filename ] 83 then 84 if [ $Debug -eq 1 ] 85 then 86 echo "Found $curlang post-processing script for LLDB" 87 echo "Executing $curlang post-processing script..." 88 fi 89 90 91 ./finish-swig-${curlang}-LLDB.sh $SRC_ROOT $TARGET_DIR $CONFIG_BUILD_DIR "${PREFIX}" "${debug_flag}" "${makefile_flag}" 92 fi 93 fi 94 done 95 96 exit 0 97