blob: c424c06f0aec195342db9ea3bfe4f9a6f7df636a [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"\
Jason Molenda5e8dce42013-12-13 00:29:16 +0000110" ${SRC_ROOT}/include/lldb/API/SBQueue.h"\
111" ${SRC_ROOT}/include/lldb/API/SBQueueItem.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000112" ${SRC_ROOT}/include/lldb/API/SBSourceManager.h"\
Caroline Tice77404122010-09-22 16:41:52 +0000113" ${SRC_ROOT}/include/lldb/API/SBStream.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000114" ${SRC_ROOT}/include/lldb/API/SBStringList.h"\
115" ${SRC_ROOT}/include/lldb/API/SBSymbol.h"\
116" ${SRC_ROOT}/include/lldb/API/SBSymbolContext.h"\
Greg Clayton05faeb72010-10-07 04:19:01 +0000117" ${SRC_ROOT}/include/lldb/API/SBSymbolContextList.h"\
Caroline Ticed6ac3842010-06-16 19:26:52 +0000118" ${SRC_ROOT}/include/lldb/API/SBTarget.h"\
119" ${SRC_ROOT}/include/lldb/API/SBThread.h"\
120" ${SRC_ROOT}/include/lldb/API/SBType.h"\
Enrico Granata061858c2012-02-15 02:34:21 +0000121" ${SRC_ROOT}/include/lldb/API/SBTypeCategory.h"\
122" ${SRC_ROOT}/include/lldb/API/SBTypeFilter.h"\
123" ${SRC_ROOT}/include/lldb/API/SBTypeFormat.h"\
124" ${SRC_ROOT}/include/lldb/API/SBTypeNameSpecifier.h"\
125" ${SRC_ROOT}/include/lldb/API/SBTypeSummary.h"\
126" ${SRC_ROOT}/include/lldb/API/SBTypeSynthetic.h"\
Caroline Tice77404122010-09-22 16:41:52 +0000127" ${SRC_ROOT}/include/lldb/API/SBValue.h"\
Johnny Chend4dd7992011-09-27 01:19:20 +0000128" ${SRC_ROOT}/include/lldb/API/SBValueList.h"\
Enrico Granata21dfcd92012-09-28 23:57:51 +0000129" ${SRC_ROOT}/include/lldb/API/SBWatchpoint.h"
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000130
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000131INTERFACE_FILES="${SRC_ROOT}/scripts/Python/interface/SBAddress.i"\
132" ${SRC_ROOT}/scripts/Python/interface/SBBlock.i"\
133" ${SRC_ROOT}/scripts/Python/interface/SBBreakpoint.i"\
134" ${SRC_ROOT}/scripts/Python/interface/SBBreakpointLocation.i"\
135" ${SRC_ROOT}/scripts/Python/interface/SBBroadcaster.i"\
136" ${SRC_ROOT}/scripts/Python/interface/SBCommandInterpreter.i"\
137" ${SRC_ROOT}/scripts/Python/interface/SBCommandReturnObject.i"\
138" ${SRC_ROOT}/scripts/Python/interface/SBCommunication.i"\
139" ${SRC_ROOT}/scripts/Python/interface/SBCompileUnit.i"\
140" ${SRC_ROOT}/scripts/Python/interface/SBData.i"\
141" ${SRC_ROOT}/scripts/Python/interface/SBDebugger.i"\
Enrico Granata10de0902012-10-10 22:54:17 +0000142" ${SRC_ROOT}/scripts/Python/interface/SBDeclaration.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000143" ${SRC_ROOT}/scripts/Python/interface/SBError.i"\
144" ${SRC_ROOT}/scripts/Python/interface/SBEvent.i"\
Jim Ingham35e1bda2012-10-16 21:41:58 +0000145" ${SRC_ROOT}/scripts/Python/interface/SBExpressionOptions.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000146" ${SRC_ROOT}/scripts/Python/interface/SBFileSpec.i"\
147" ${SRC_ROOT}/scripts/Python/interface/SBFrame.i"\
148" ${SRC_ROOT}/scripts/Python/interface/SBFunction.i"\
149" ${SRC_ROOT}/scripts/Python/interface/SBHostOS.i"\
150" ${SRC_ROOT}/scripts/Python/interface/SBInputReader.i"\
151" ${SRC_ROOT}/scripts/Python/interface/SBInstruction.i"\
152" ${SRC_ROOT}/scripts/Python/interface/SBInstructionList.i"\
153" ${SRC_ROOT}/scripts/Python/interface/SBLineEntry.i"\
154" ${SRC_ROOT}/scripts/Python/interface/SBListener.i"\
155" ${SRC_ROOT}/scripts/Python/interface/SBModule.i"\
Greg Clayton226cce22013-07-08 22:22:41 +0000156" ${SRC_ROOT}/scripts/Python/interface/SBModuleSpec.i"\
Greg Claytonfbb76342013-11-20 21:07:01 +0000157" ${SRC_ROOT}/scripts/Python/interface/SBPlatform.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000158" ${SRC_ROOT}/scripts/Python/interface/SBProcess.i"\
Jason Molenda5e8dce42013-12-13 00:29:16 +0000159" ${SRC_ROOT}/scripts/Python/interface/SBQueue.i"\
160" ${SRC_ROOT}/scripts/Python/interface/SBQueueItem.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000161" ${SRC_ROOT}/scripts/Python/interface/SBSourceManager.i"\
162" ${SRC_ROOT}/scripts/Python/interface/SBStream.i"\
163" ${SRC_ROOT}/scripts/Python/interface/SBStringList.i"\
164" ${SRC_ROOT}/scripts/Python/interface/SBSymbol.i"\
165" ${SRC_ROOT}/scripts/Python/interface/SBSymbolContext.i"\
166" ${SRC_ROOT}/scripts/Python/interface/SBTarget.i"\
167" ${SRC_ROOT}/scripts/Python/interface/SBThread.i"\
168" ${SRC_ROOT}/scripts/Python/interface/SBType.i"\
Enrico Granata061858c2012-02-15 02:34:21 +0000169" ${SRC_ROOT}/scripts/Python/interface/SBTypeCategory.i"\
170" ${SRC_ROOT}/scripts/Python/interface/SBTypeFilter.i"\
171" ${SRC_ROOT}/scripts/Python/interface/SBTypeFormat.i"\
172" ${SRC_ROOT}/scripts/Python/interface/SBTypeNameSpecifier.i"\
173" ${SRC_ROOT}/scripts/Python/interface/SBTypeSummary.i"\
174" ${SRC_ROOT}/scripts/Python/interface/SBTypeSynthetic.i"\
Johnny Chen8a8ce4a2011-09-09 17:37:06 +0000175" ${SRC_ROOT}/scripts/Python/interface/SBValue.i"\
Johnny Chend4dd7992011-09-27 01:19:20 +0000176" ${SRC_ROOT}/scripts/Python/interface/SBValueList.i"\
Greg Clayton1b282f92011-10-13 18:08:26 +0000177" ${SRC_ROOT}/scripts/Python/interface/SBWatchpoint.i"
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000178
Jason Molenda47d114a2012-09-27 21:26:57 +0000179if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000180then
181 echo "Header files are:"
182 echo ${HEADER_FILES}
183fi
184
Jason Molenda47d114a2012-09-27 21:26:57 +0000185if [ $Debug -eq 1 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000186then
187 echo "SWIG interface files are:"
188 echo ${INTERFACE_FILES}
189fi
190
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000191NeedToUpdate=0
192
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000193
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000194if [ ! -f ${swig_output_file} ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000195then
196 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000197 if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000198 then
199 echo "Failed to find LLDBWrapPython.cpp"
200 fi
201fi
202
Jason Molenda47d114a2012-09-27 21:26:57 +0000203if [ $NeedToUpdate -eq 0 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000204then
205 for hdrfile in ${HEADER_FILES}
206 do
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000207 if [ $hdrfile -nt ${swig_output_file} ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000208 then
209 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000210 if [ $Debug -eq 1 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000211 then
212 echo "${hdrfile} is newer than ${swig_output_file}"
213 echo "swig file will need to be re-built."
214 fi
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000215 break
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000216 fi
217 done
218fi
219
Jason Molenda47d114a2012-09-27 21:26:57 +0000220if [ $NeedToUpdate -eq 0 ]
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000221then
Enrico Granata9128ee22011-09-06 19:20:51 +0000222 for intffile in ${INTERFACE_FILES}
223 do
224 if [ $intffile -nt ${swig_output_file} ]
225 then
226 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000227 if [ $Debug -eq 1 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000228 then
229 echo "${intffile} is newer than ${swig_output_file}"
230 echo "swig file will need to be re-built."
231 fi
232 break
233 fi
234 done
235fi
236
Jason Molenda47d114a2012-09-27 21:26:57 +0000237if [ $NeedToUpdate -eq 0 ]
Enrico Granata9128ee22011-09-06 19:20:51 +0000238then
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000239 if [ ${swig_input_file} -nt ${swig_output_file} ]
240 then
241 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000242 if [ $Debug -eq 1 ]
Johnny Chen5fca8ca2010-08-26 20:04:17 +0000243 then
244 echo "${swig_input_file} is newer than ${swig_output_file}"
245 echo "swig file will need to be re-built."
246 fi
247 fi
248fi
249
Jason Molenda47d114a2012-09-27 21:26:57 +0000250if [ $NeedToUpdate -eq 0 ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000251then
Johnny Chen30123f12011-08-22 22:10:57 +0000252 if [ ${swig_python_extensions} -nt ${swig_output_file} ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000253 then
254 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000255 if [ $Debug -eq 1 ]
Caroline Ticeceb6b132010-10-26 03:11:13 +0000256 then
Johnny Chen30123f12011-08-22 22:10:57 +0000257 echo "${swig_python_extensions} is newer than ${swig_output_file}"
258 echo "swig file will need to be re-built."
259 fi
260 fi
261fi
262
Jason Molenda47d114a2012-09-27 21:26:57 +0000263if [ $NeedToUpdate -eq 0 ]
Johnny Chen30123f12011-08-22 22:10:57 +0000264then
265 if [ ${swig_python_wrapper} -nt ${swig_output_file} ]
266 then
267 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000268 if [ $Debug -eq 1 ]
Johnny Chen30123f12011-08-22 22:10:57 +0000269 then
270 echo "${swig_python_wrapper} is newer than ${swig_output_file}"
Caroline Ticeceb6b132010-10-26 03:11:13 +0000271 echo "swig file will need to be re-built."
272 fi
273 fi
274fi
275
Jason Molenda47d114a2012-09-27 21:26:57 +0000276if [ $NeedToUpdate -eq 0 ]
Enrico Granata9d2063e2012-02-02 17:26:00 +0000277then
278 if [ ${swig_python_typemaps} -nt ${swig_output_file} ]
279 then
280 NeedToUpdate=1
Jason Molenda47d114a2012-09-27 21:26:57 +0000281 if [ $Debug -eq 1 ]
Enrico Granata9d2063e2012-02-02 17:26:00 +0000282 then
283 echo "${swig_python_typemaps} is newer than ${swig_output_file}"
284 echo "swig file will need to be re-built."
285 fi
286 fi
287fi
288
Enrico Granatac972c702013-06-21 18:57:30 +0000289if [ $NeedToUpdate -eq 0 ]
290then
291 if [ ${swig_python_swigsafecast} -nt ${swig_output_file} ]
292 then
293 NeedToUpdate=1
294 if [ $Debug -eq 1 ]
295 then
296 echo "${swig_python_swigsafecast} is newer than ${swig_output_file}"
297 echo "swig file will need to be re-built."
298 fi
299 fi
300fi
301
Filipe Cabecinhas3e9e0812012-09-14 17:09:15 +0000302python_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 +0000303
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000304if [ $MakefileCalled -eq 0 ]
Caroline Ticed6ac3842010-06-16 19:26:52 +0000305then
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000306 framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python/lldb"
Caroline Ticed6ac3842010-06-16 19:26:52 +0000307else
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000308 if [ -n "${PYTHON_INSTALL_DIR}" ]
309 then
310 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
311 else
312 framework_python_dir=`/usr/bin/env python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False);"`/lldb
313 fi
Caroline Ticed6ac3842010-06-16 19:26:52 +0000314fi
315
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000316[ -n "${CONFIG_BUILD_DIR}" ] || CONFIG_BUILD_DIR=${framework_python_dir}
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000317
318if [ ! -L "${framework_python_dir}/_lldb.so" ]
319then
320 NeedToUpdate=1
321fi
322
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000323if [ ! -f "${framework_python_dir}/__init__.py" ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000324then
325 NeedToUpdate=1
326fi
327
328
Jason Molenda47d114a2012-09-27 21:26:57 +0000329if [ $NeedToUpdate -eq 0 ]
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000330then
331 echo "Everything is up-to-date."
332 exit 0
333else
334 echo "SWIG needs to be re-run."
Caroline Ticeceb6b132010-10-26 03:11:13 +0000335 if [ -f ${swig_output_file} ]
336 then
337 rm ${swig_output_file}
338 fi
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000339fi
340
341
342# Build the SWIG C++ wrapper file for Python.
343
Filipe Cabecinhasc281a3b2012-11-01 18:55:16 +0000344if [ $GenerateDependencies -eq 1 ]
345then
346 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}"
347 then
348 mv -f "${swig_depend_file}.tmp" "${swig_depend_file}"
349 else
350 rm -f "${swig_depend_file}.tmp"
351 exit 1
352 fi
353else
354 $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 $?
355fi
Chris Lattner30fdc8d2010-06-08 16:52:24 +0000356
Johnny Chenf1c95f82011-04-29 19:22:24 +0000357# Implement the iterator protocol and/or eq/ne operators for some lldb objects.
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000358# Append global variable to lldb Python module.
Johnny Chenfbc0d272011-04-28 21:31:18 +0000359# And initialize the lldb debugger subsystem.
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000360current_dir=`pwd`
Johnny Chenfbc0d272011-04-28 21:31:18 +0000361if [ -f "${current_dir}/modify-python-lldb.py" ]
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000362then
Sylvestre Ledrua7830a42013-12-10 16:51:35 +0000363 /usr/bin/env python ${current_dir}/modify-python-lldb.py ${CONFIG_BUILD_DIR}
Caroline Ticeebc1bb22010-06-30 16:22:25 +0000364fi
Caroline Tice3cc87512010-10-28 21:51:20 +0000365
Greg Claytondce502e2011-11-04 03:34:56 +0000366
Greg Claytondce502e2011-11-04 03:34:56 +0000367fi