blob: 28e7df91c1ce2842c7b2e9f01024b3379f4da1e8 [file] [log] [blame]
Chris Lattner30fdc8d2010-06-08 16:52:24 +00001#!/bin/sh
2
3# build-swig-Python.sh
4
Caroline Ticed6ac3842010-06-16 19:26:52 +00005# SRC_ROOT is the root of the lldb source tree.
6# TARGET_DIR is where the lldb framework/shared library gets put.
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +00007# CONFIG_BUILD_DIR is where the build-swig-Python-LLDB.sh shell script
Caroline Ticed6ac3842010-06-16 19:26:52 +00008# put the lldb.py file it was generated from running SWIG.
9# PREFIX is the root directory used to determine where third-party modules
10# for scripting languages should be installed.
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +000011# debug_flag (optional) determines whether or not this script outputs
Caroline Ticed6ac3842010-06-16 19:26:52 +000012# additional information when running.
Chris Lattner30fdc8d2010-06-08 16:52:24 +000013
Caroline Ticed6ac3842010-06-16 19:26:52 +000014SRC_ROOT=$1
15TARGET_DIR=$2
16CONFIG_BUILD_DIR=$3
17PYTHON_INSTALL_DIR=$4
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +000018debug_flag=$5
Jim Ingham6b90ba42011-03-01 01:39:04 +000019SWIG=$6
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +000020makefile_flag=$7
21dependency_flag=$8
Caroline Ticed6ac3842010-06-16 19:26:52 +000022
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +000023if [ -n "$makefile_flag" -a "$makefile_flag" = "-m" ]
24then
25 MakefileCalled=1
26 if [ -n "$dependency_flag" -a "$dependency_flag" = "-M" ]
27 then
28 GenerateDependencies=1
29 swig_depend_file="${TARGET_DIR}/LLDBWrapPython.cpp.d"
30 SWIG_DEPEND_OPTIONS="-MMD -MF \"${swig_depend_file}.tmp\""
31 else
32 GenerateDependencies=0
33 fi
34else
35 MakefileCalled=0
36 GenerateDependencies=0
37fi
38
39if [ $MakefileCalled -eq 0 ]
Filipe Cabecinhas3e9e0812012-09-14 17:09:15 +000040then
41 swig_output_file=${SRC_ROOT}/source/LLDBWrapPython.cpp
42else
43 swig_output_file=${TARGET_DIR}/LLDBWrapPython.cpp
44fi
Caroline Ticed6ac3842010-06-16 19:26:52 +000045swig_input_file=${SRC_ROOT}/scripts/lldb.swig
Johnny Chen30123f12011-08-22 22:10:57 +000046swig_python_extensions=${SRC_ROOT}/scripts/Python/python-extensions.swig
47swig_python_wrapper=${SRC_ROOT}/scripts/Python/python-wrapper.swig
Enrico Granata9d2063e2012-02-02 17:26:00 +000048swig_python_typemaps=${SRC_ROOT}/scripts/Python/python-typemaps.swig
Enrico Granatac972c702013-06-21 18:57:30 +000049swig_python_swigsafecast=${SRC_ROOT}/scripts/Python/python-swigsafecast.swig
Chris Lattner30fdc8d2010-06-08 16:52:24 +000050
Filipe Cabecinhas3e9e0812012-09-14 17:09:15 +000051if [ "$LLDB_DISABLE_PYTHON" = "1" ] ; then
Jim Inghamde221822012-05-26 00:23:52 +000052 # We don't want Python for this build, but touch the output file so we don't have to
53 # conditionalize the build on this as well.
54 # Note, at present iOS doesn't have Python, so if you're building for iOS be sure to
55 # set LLDB_DISABLE_PYTHON to 1.
Jim Ingham777e6d02012-05-24 01:16:09 +000056 rm -rf ${swig_output_file}
57 touch ${swig_output_file}
58
59else
Greg Claytondce502e2011-11-04 03:34:56 +000060
Jason Molenda47d114a2012-09-27 21:26:57 +000061if [ -n "$debug_flag" -a "$debug_flag" = "-debug" ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +000062then
63 Debug=1
64else
65 Debug=0
66fi
67
Jason Molendacf7e2dc2012-02-21 05:33:55 +000068# If this project is being built with LLDB_DISABLE_PYTHON defined,
69# don't bother generating Python swig bindings -- we don't have
70# Python available.
71
72if echo $GCC_PREPROCESSOR_DEFINITIONS | grep LLDB_DISABLE_PYTHON
73then
74 echo "" > "${swig_output_file}"
75 exit 0
76fi
Chris Lattner30fdc8d2010-06-08 16:52:24 +000077
Greg Claytone0d378b2011-03-24 21:19:54 +000078HEADER_FILES="${SRC_ROOT}/include/lldb/lldb.h"\
Caroline Ticee206be22010-10-18 23:00:51 +000079" ${SRC_ROOT}/include/lldb/lldb-defines.h"\
80" ${SRC_ROOT}/include/lldb/lldb-enumerations.h"\
81" ${SRC_ROOT}/include/lldb/lldb-forward.h"\
82" ${SRC_ROOT}/include/lldb/lldb-forward-rtti.h"\
83" ${SRC_ROOT}/include/lldb/lldb-types.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +000084" ${SRC_ROOT}/include/lldb/API/SBAddress.h"\
85" ${SRC_ROOT}/include/lldb/API/SBBlock.h"\
86" ${SRC_ROOT}/include/lldb/API/SBBreakpoint.h"\
87" ${SRC_ROOT}/include/lldb/API/SBBreakpointLocation.h"\
88" ${SRC_ROOT}/include/lldb/API/SBBroadcaster.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +000089" ${SRC_ROOT}/include/lldb/API/SBCommandInterpreter.h"\
90" ${SRC_ROOT}/include/lldb/API/SBCommandReturnObject.h"\
Greg Clayton05faeb72010-10-07 04:19:01 +000091" ${SRC_ROOT}/include/lldb/API/SBCommunication.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +000092" ${SRC_ROOT}/include/lldb/API/SBCompileUnit.h"\
Enrico Granata9128ee22011-09-06 19:20:51 +000093" ${SRC_ROOT}/include/lldb/API/SBData.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +000094" ${SRC_ROOT}/include/lldb/API/SBDebugger.h"\
95" ${SRC_ROOT}/include/lldb/API/SBError.h"\
96" ${SRC_ROOT}/include/lldb/API/SBEvent.h"\
Jim Ingham35e1bda2012-10-16 21:41:58 +000097" ${SRC_ROOT}/include/lldb/API/SBExpressionOptions.h"\
Johnny Chen23fd10c2010-08-27 22:35:26 +000098" ${SRC_ROOT}/include/lldb/API/SBFileSpec.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +000099" ${SRC_ROOT}/include/lldb/API/SBFrame.h"\
100" ${SRC_ROOT}/include/lldb/API/SBFunction.h"\
Greg Clayton05faeb72010-10-07 04:19:01 +0000101" ${SRC_ROOT}/include/lldb/API/SBHostOS.h"\
102" ${SRC_ROOT}/include/lldb/API/SBInputReader.h"\
Greg Clayton1d273162010-10-06 03:09:58 +0000103" ${SRC_ROOT}/include/lldb/API/SBInstruction.h"\
104" ${SRC_ROOT}/include/lldb/API/SBInstructionList.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000105" ${SRC_ROOT}/include/lldb/API/SBLineEntry.h"\
106" ${SRC_ROOT}/include/lldb/API/SBListener.h"\
107" ${SRC_ROOT}/include/lldb/API/SBModule.h"\
Greg Clayton226cce22013-07-08 22:22:41 +0000108" ${SRC_ROOT}/include/lldb/API/SBModuleSpec.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000109" ${SRC_ROOT}/include/lldb/API/SBProcess.h"\
110" ${SRC_ROOT}/include/lldb/API/SBSourceManager.h"\
Caroline Tice77404122010-09-22 16:41:52 +0000111" ${SRC_ROOT}/include/lldb/API/SBStream.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000112" ${SRC_ROOT}/include/lldb/API/SBStringList.h"\
113" ${SRC_ROOT}/include/lldb/API/SBSymbol.h"\
114" ${SRC_ROOT}/include/lldb/API/SBSymbolContext.h"\
Greg Clayton05faeb72010-10-07 04:19:01 +0000115" ${SRC_ROOT}/include/lldb/API/SBSymbolContextList.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000116" ${SRC_ROOT}/include/lldb/API/SBTarget.h"\
117" ${SRC_ROOT}/include/lldb/API/SBThread.h"\
118" ${SRC_ROOT}/include/lldb/API/SBType.h"\
Enrico Granata061858c2012-02-15 02:34:21 +0000119" ${SRC_ROOT}/include/lldb/API/SBTypeCategory.h"\
120" ${SRC_ROOT}/include/lldb/API/SBTypeFilter.h"\
121" ${SRC_ROOT}/include/lldb/API/SBTypeFormat.h"\
122" ${SRC_ROOT}/include/lldb/API/SBTypeNameSpecifier.h"\
123" ${SRC_ROOT}/include/lldb/API/SBTypeSummary.h"\
124" ${SRC_ROOT}/include/lldb/API/SBTypeSynthetic.h"\
Caroline Tice77404122010-09-22 16:41:52 +0000125" ${SRC_ROOT}/include/lldb/API/SBValue.h"\
Johnny Chend4dd7992011-09-27 01:19:20 +0000126" ${SRC_ROOT}/include/lldb/API/SBValueList.h"\
Enrico Granata21dfcd92012-09-28 23:57:51 +0000127" ${SRC_ROOT}/include/lldb/API/SBWatchpoint.h"
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000128
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000129INTERFACE_FILES="${SRC_ROOT}/scripts/Python/interface/SBAddress.i"\
130" ${SRC_ROOT}/scripts/Python/interface/SBBlock.i"\
131" ${SRC_ROOT}/scripts/Python/interface/SBBreakpoint.i"\
132" ${SRC_ROOT}/scripts/Python/interface/SBBreakpointLocation.i"\
133" ${SRC_ROOT}/scripts/Python/interface/SBBroadcaster.i"\
134" ${SRC_ROOT}/scripts/Python/interface/SBCommandInterpreter.i"\
135" ${SRC_ROOT}/scripts/Python/interface/SBCommandReturnObject.i"\
136" ${SRC_ROOT}/scripts/Python/interface/SBCommunication.i"\
137" ${SRC_ROOT}/scripts/Python/interface/SBCompileUnit.i"\
138" ${SRC_ROOT}/scripts/Python/interface/SBData.i"\
139" ${SRC_ROOT}/scripts/Python/interface/SBDebugger.i"\
Enrico Granata10de0902012-10-10 22:54:17 +0000140" ${SRC_ROOT}/scripts/Python/interface/SBDeclaration.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000141" ${SRC_ROOT}/scripts/Python/interface/SBError.i"\
142" ${SRC_ROOT}/scripts/Python/interface/SBEvent.i"\
Jim Ingham35e1bda2012-10-16 21:41:58 +0000143" ${SRC_ROOT}/scripts/Python/interface/SBExpressionOptions.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000144" ${SRC_ROOT}/scripts/Python/interface/SBFileSpec.i"\
145" ${SRC_ROOT}/scripts/Python/interface/SBFrame.i"\
146" ${SRC_ROOT}/scripts/Python/interface/SBFunction.i"\
147" ${SRC_ROOT}/scripts/Python/interface/SBHostOS.i"\
148" ${SRC_ROOT}/scripts/Python/interface/SBInputReader.i"\
149" ${SRC_ROOT}/scripts/Python/interface/SBInstruction.i"\
150" ${SRC_ROOT}/scripts/Python/interface/SBInstructionList.i"\
151" ${SRC_ROOT}/scripts/Python/interface/SBLineEntry.i"\
152" ${SRC_ROOT}/scripts/Python/interface/SBListener.i"\
153" ${SRC_ROOT}/scripts/Python/interface/SBModule.i"\
Greg Clayton226cce22013-07-08 22:22:41 +0000154" ${SRC_ROOT}/scripts/Python/interface/SBModuleSpec.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000155" ${SRC_ROOT}/scripts/Python/interface/SBProcess.i"\
156" ${SRC_ROOT}/scripts/Python/interface/SBSourceManager.i"\
157" ${SRC_ROOT}/scripts/Python/interface/SBStream.i"\
158" ${SRC_ROOT}/scripts/Python/interface/SBStringList.i"\
159" ${SRC_ROOT}/scripts/Python/interface/SBSymbol.i"\
160" ${SRC_ROOT}/scripts/Python/interface/SBSymbolContext.i"\
161" ${SRC_ROOT}/scripts/Python/interface/SBTarget.i"\
162" ${SRC_ROOT}/scripts/Python/interface/SBThread.i"\
163" ${SRC_ROOT}/scripts/Python/interface/SBType.i"\
Enrico Granata061858c2012-02-15 02:34:21 +0000164" ${SRC_ROOT}/scripts/Python/interface/SBTypeCategory.i"\
165" ${SRC_ROOT}/scripts/Python/interface/SBTypeFilter.i"\
166" ${SRC_ROOT}/scripts/Python/interface/SBTypeFormat.i"\
167" ${SRC_ROOT}/scripts/Python/interface/SBTypeNameSpecifier.i"\
168" ${SRC_ROOT}/scripts/Python/interface/SBTypeSummary.i"\
169" ${SRC_ROOT}/scripts/Python/interface/SBTypeSynthetic.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000170" ${SRC_ROOT}/scripts/Python/interface/SBValue.i"\
Johnny Chend4dd7992011-09-27 01:19:20 +0000171" ${SRC_ROOT}/scripts/Python/interface/SBValueList.i"\
Greg Clayton1b282f92011-10-13 18:08:26 +0000172" ${SRC_ROOT}/scripts/Python/interface/SBWatchpoint.i"
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000173
Jason Molenda47d114a2012-09-27 21:26:57 +0000174if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000175then
176 echo "Header files are:"
177 echo ${HEADER_FILES}
178fi
179
Jason Molenda47d114a2012-09-27 21:26:57 +0000180if [ $Debug -eq 1 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000181then
182 echo "SWIG interface files are:"
183 echo ${INTERFACE_FILES}
184fi
185
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000186NeedToUpdate=0
187
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000188
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000189if [ ! -f ${swig_output_file} ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000190then
191 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000192 if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000193 then
194 echo "Failed to find LLDBWrapPython.cpp"
195 fi
196fi
197
Jason Molenda47d114a2012-09-27 21:26:57 +0000198if [ $NeedToUpdate -eq 0 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000199then
200 for hdrfile in ${HEADER_FILES}
201 do
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000202 if [ $hdrfile -nt ${swig_output_file} ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000203 then
204 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000205 if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000206 then
207 echo "${hdrfile} is newer than ${swig_output_file}"
208 echo "swig file will need to be re-built."
209 fi
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000210 break
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000211 fi
212 done
213fi
214
Jason Molenda47d114a2012-09-27 21:26:57 +0000215if [ $NeedToUpdate -eq 0 ]
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000216then
Enrico Granata9128ee22011-09-06 19:20:51 +0000217 for intffile in ${INTERFACE_FILES}
218 do
219 if [ $intffile -nt ${swig_output_file} ]
220 then
221 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000222 if [ $Debug -eq 1 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000223 then
224 echo "${intffile} is newer than ${swig_output_file}"
225 echo "swig file will need to be re-built."
226 fi
227 break
228 fi
229 done
230fi
231
Jason Molenda47d114a2012-09-27 21:26:57 +0000232if [ $NeedToUpdate -eq 0 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000233then
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000234 if [ ${swig_input_file} -nt ${swig_output_file} ]
235 then
236 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000237 if [ $Debug -eq 1 ]
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000238 then
239 echo "${swig_input_file} is newer than ${swig_output_file}"
240 echo "swig file will need to be re-built."
241 fi
242 fi
243fi
244
Jason Molenda47d114a2012-09-27 21:26:57 +0000245if [ $NeedToUpdate -eq 0 ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000246then
Johnny Chen30123f12011-08-22 22:10:57 +0000247 if [ ${swig_python_extensions} -nt ${swig_output_file} ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000248 then
249 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000250 if [ $Debug -eq 1 ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000251 then
Johnny Chen30123f12011-08-22 22:10:57 +0000252 echo "${swig_python_extensions} is newer than ${swig_output_file}"
253 echo "swig file will need to be re-built."
254 fi
255 fi
256fi
257
Jason Molenda47d114a2012-09-27 21:26:57 +0000258if [ $NeedToUpdate -eq 0 ]
Johnny Chen30123f12011-08-22 22:10:57 +0000259then
260 if [ ${swig_python_wrapper} -nt ${swig_output_file} ]
261 then
262 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000263 if [ $Debug -eq 1 ]
Johnny Chen30123f12011-08-22 22:10:57 +0000264 then
265 echo "${swig_python_wrapper} is newer than ${swig_output_file}"
Caroline Ticeceb6b132010-10-26 03:11:13 +0000266 echo "swig file will need to be re-built."
267 fi
268 fi
269fi
270
Jason Molenda47d114a2012-09-27 21:26:57 +0000271if [ $NeedToUpdate -eq 0 ]
Enrico Granata9d2063e2012-02-02 17:26:00 +0000272then
273 if [ ${swig_python_typemaps} -nt ${swig_output_file} ]
274 then
275 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000276 if [ $Debug -eq 1 ]
Enrico Granata9d2063e2012-02-02 17:26:00 +0000277 then
278 echo "${swig_python_typemaps} is newer than ${swig_output_file}"
279 echo "swig file will need to be re-built."
280 fi
281 fi
282fi
283
Enrico Granatac972c702013-06-21 18:57:30 +0000284if [ $NeedToUpdate -eq 0 ]
285then
286 if [ ${swig_python_swigsafecast} -nt ${swig_output_file} ]
287 then
288 NeedToUpdate=1
289 if [ $Debug -eq 1 ]
290 then
291 echo "${swig_python_swigsafecast} is newer than ${swig_output_file}"
292 echo "swig file will need to be re-built."
293 fi
294 fi
295fi
296
Filipe Cabecinhas3e9e0812012-09-14 17:09:15 +0000297python_version=`/usr/bin/env python --version 2>&1 | sed -e 's,Python ,,' -e 's,[.][0-9],,2' -e 's,[a-z][a-z][0-9],,'`
Caroline Ticed6ac3842010-06-16 19:26:52 +0000298
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000299if [ $MakefileCalled -eq 0 ]
Caroline Ticed6ac3842010-06-16 19:26:52 +0000300then
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000301 framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python/lldb"
Caroline Ticed6ac3842010-06-16 19:26:52 +0000302else
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000303 if [ -n "${PYTHON_INSTALL_DIR}" ]
304 then
305 framework_python_dir=`/usr/bin/env python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False, \"${PYTHON_INSTALL_DIR}\");"`/lldb
306 else
307 framework_python_dir=`/usr/bin/env python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False);"`/lldb
308 fi
Caroline Ticed6ac3842010-06-16 19:26:52 +0000309fi
310
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000311[ -n "${CONFIG_BUILD_DIR}" ] || CONFIG_BUILD_DIR=${framework_python_dir}
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000312
313if [ ! -L "${framework_python_dir}/_lldb.so" ]
314then
315 NeedToUpdate=1
316fi
317
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000318if [ ! -f "${framework_python_dir}/__init__.py" ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000319then
320 NeedToUpdate=1
321fi
322
323
Jason Molenda47d114a2012-09-27 21:26:57 +0000324if [ $NeedToUpdate -eq 0 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000325then
326 echo "Everything is up-to-date."
327 exit 0
328else
329 echo "SWIG needs to be re-run."
Caroline Ticeceb6b132010-10-26 03:11:13 +0000330 if [ -f ${swig_output_file} ]
331 then
332 rm ${swig_output_file}
333 fi
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000334fi
335
336
337# Build the SWIG C++ wrapper file for Python.
338
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000339if [ $GenerateDependencies -eq 1 ]
340then
341 if $SWIG -c++ -shadow -python -threads -I"${SRC_ROOT}/include" -I./. -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -MMD -MF "${swig_depend_file}.tmp" -outdir "${CONFIG_BUILD_DIR}" -o "${swig_output_file}" "${swig_input_file}"
342 then
343 mv -f "${swig_depend_file}.tmp" "${swig_depend_file}"
344 else
345 rm -f "${swig_depend_file}.tmp"
346 exit 1
347 fi
348else
349 $SWIG -c++ -shadow -python -threads -I"${SRC_ROOT}/include" -I./. -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -outdir "${CONFIG_BUILD_DIR}" -o "${swig_output_file}" "${swig_input_file}" || exit $?
350fi
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000351
Johnny Chenf1c95f82011-04-29 19:22:24 +0000352# Implement the iterator protocol and/or eq/ne operators for some lldb objects.
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000353# Append global variable to lldb Python module.
Johnny Chenfbc0d272011-04-28 21:31:18 +0000354# And initialize the lldb debugger subsystem.
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000355current_dir=`pwd`
Johnny Chenfbc0d272011-04-28 21:31:18 +0000356if [ -f "${current_dir}/modify-python-lldb.py" ]
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000357then
Johnny Chenfbc0d272011-04-28 21:31:18 +0000358 python ${current_dir}/modify-python-lldb.py ${CONFIG_BUILD_DIR}
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000359fi
Caroline Tice3cc87512010-10-28 21:51:20 +0000360
361# Fix the "#include" statement in the swig output file
362
363if [ -f "${current_dir}/edit-swig-python-wrapper-file.py" ]
364then
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000365 if [ $MakefileCalled -eq 1 ]
366 then
367 python ${current_dir}/edit-swig-python-wrapper-file.py "${TARGET_DIR}"
368 else
369 python ${current_dir}/edit-swig-python-wrapper-file.py
370 fi
Caroline Tice3cc87512010-10-28 21:51:20 +0000371 if [ -f "${swig_output_file}.edited" ]
372 then
373 mv "${swig_output_file}.edited" ${swig_output_file}
374 fi
375fi
Greg Claytondce502e2011-11-04 03:34:56 +0000376
Greg Claytondce502e2011-11-04 03:34:56 +0000377fi