[Lldb-commits] [lldb] r167242 - in /lldb/trunk: scripts/Python/build-swig-Python.sh scripts/Python/finish-swig-Python-LLDB.sh scripts/Python/modify-python-lldb.py scripts/build-swig-wrapper-classes.sh scripts/finish-swig-wrapper-classes.sh source/Interpreter/Makefile test/Makefile
Charles Davis
cdavis5x at gmail.com
Thu Nov 1 13:21:58 PDT 2012
On Nov 1, 2012, at 12:55 PM, Filipe Cabecinhas wrote:
> Author: filcab
> Date: Thu Nov 1 13:55:16 2012
> New Revision: 167242
>
> URL: http://llvm.org/viewvc/llvm-project?rev=167242&view=rev
> Log:
> Makefile patches from Charles Davis and Daniel Malea (+ one or two tweaks).
Looks good, thanks! Sorry, but I've been busy trying to find paying work :). Gotta put food on the table, you know.
Chip
>
> Modified:
> lldb/trunk/scripts/Python/build-swig-Python.sh
> lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh
> lldb/trunk/scripts/Python/modify-python-lldb.py
> lldb/trunk/scripts/build-swig-wrapper-classes.sh
> lldb/trunk/scripts/finish-swig-wrapper-classes.sh
> lldb/trunk/source/Interpreter/Makefile
> lldb/trunk/test/Makefile
>
> Modified: lldb/trunk/scripts/Python/build-swig-Python.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/build-swig-Python.sh?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/Python/build-swig-Python.sh (original)
> +++ lldb/trunk/scripts/Python/build-swig-Python.sh Thu Nov 1 13:55:16 2012
> @@ -4,22 +4,39 @@
>
> # 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
> +# CONFIG_BUILD_DIR is where the build-swig-Python-LLDB.sh shell script
> # put the lldb.py file it was 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
> +# debug_flag (optional) determines whether or not this script outputs
> # additional information when running.
>
> SRC_ROOT=$1
> TARGET_DIR=$2
> CONFIG_BUILD_DIR=$3
> PYTHON_INSTALL_DIR=$4
> -debug_flag=$5
> +debug_flag=$5
> SWIG=$6
> +makefile_flag=$7
> +dependency_flag=$8
>
> -os_name=`uname -s`
> -if [ "$os_name" = "Darwin" ]
> +if [ -n "$makefile_flag" -a "$makefile_flag" = "-m" ]
> +then
> + MakefileCalled=1
> + if [ -n "$dependency_flag" -a "$dependency_flag" = "-M" ]
> + then
> + GenerateDependencies=1
> + swig_depend_file="${TARGET_DIR}/LLDBWrapPython.cpp.d"
> + SWIG_DEPEND_OPTIONS="-MMD -MF \"${swig_depend_file}.tmp\""
> + else
> + GenerateDependencies=0
> + fi
> +else
> + MakefileCalled=0
> + GenerateDependencies=0
> +fi
> +
> +if [ $MakefileCalled -eq 0 ]
> then
> swig_output_file=${SRC_ROOT}/source/LLDBWrapPython.cpp
> else
> @@ -263,20 +280,26 @@
>
> python_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],,'`
>
> -if [ "$os_name" = "Darwin" ]
> +if [ $MakefileCalled -eq 0 ]
> then
> - framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python"
> + framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python/lldb"
> else
> - framework_python_dir="${PYTHON_INSTALL_DIR}/python${python_version}"
> + if [ -n "${PYTHON_INSTALL_DIR}" ]
> + then
> + 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
> + else
> + framework_python_dir=`/usr/bin/env python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False);"`/lldb
> + fi
> fi
>
> +[ -n "${CONFIG_BUILD_DIR}" ] || CONFIG_BUILD_DIR=${framework_python_dir}
>
> if [ ! -L "${framework_python_dir}/_lldb.so" ]
> then
> NeedToUpdate=1
> fi
>
> -if [ ! -f "${framework_python_dir}/lldb.py" ]
> +if [ ! -f "${framework_python_dir}/__init__.py" ]
> then
> NeedToUpdate=1
> fi
> @@ -297,7 +320,18 @@
>
> # Build the SWIG C++ wrapper file for Python.
>
> -$SWIG -c++ -shadow -python -threads -I"/usr/include" -I"${SRC_ROOT}/include" -I./. -outdir "${CONFIG_BUILD_DIR}" -o "${swig_output_file}" "${swig_input_file}"
> +if [ $GenerateDependencies -eq 1 ]
> +then
> + 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}"
> + then
> + mv -f "${swig_depend_file}.tmp" "${swig_depend_file}"
> + else
> + rm -f "${swig_depend_file}.tmp"
> + exit 1
> + fi
> +else
> + $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 $?
> +fi
>
> # Implement the iterator protocol and/or eq/ne operators for some lldb objects.
> # Append global variable to lldb Python module.
> @@ -312,7 +346,12 @@
>
> if [ -f "${current_dir}/edit-swig-python-wrapper-file.py" ]
> then
> - python ${current_dir}/edit-swig-python-wrapper-file.py
> + if [ $MakefileCalled -eq 1 ]
> + then
> + python ${current_dir}/edit-swig-python-wrapper-file.py "${TARGET_DIR}"
> + else
> + python ${current_dir}/edit-swig-python-wrapper-file.py
> + fi
> if [ -f "${swig_output_file}.edited" ]
> then
> mv "${swig_output_file}.edited" ${swig_output_file}
>
> Modified: lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh (original)
> +++ lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh Thu Nov 1 13:55:16 2012
> @@ -5,10 +5,10 @@
> # For the Python script interpreter (external to liblldb) to be able to import
> # and use the lldb module, there must be two files, lldb.py and _lldb.so, that
> # it can find. lldb.py is generated by SWIG at the same time it generates the
> -# C++ file. _lldb.so is actually a symlink file that points to the
> +# C++ file. _lldb.so is actually a symlink file that points to the
> # LLDB shared library/framework.
> #
> -# The Python script interpreter needs to be able to automatically find
> +# The Python script interpreter needs to be able to automatically find
> # these two files. On Darwin systems it searches in the LLDB.framework, as
> # well as in all the normal Python search paths. On non-Darwin systems
> # these files will need to be put someplace where Python will find them.
> @@ -20,11 +20,11 @@
>
> # 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
> +# CONFIG_BUILD_DIR is where the build-swig-Python-LLDB.sh shell script
> # put the lldb.py file it was generated from running SWIG.
> # PYTHON_INSTALL_DIR is where non-Darwin systems want to put the .py and .so
> # files so that Python can find them automatically.
> -# debug_flag (optional) determines whether or not this script outputs
> +# debug_flag (optional) determines whether or not this script outputs
> # additional information when running.
>
> SRC_ROOT=$1
> @@ -32,6 +32,7 @@
> CONFIG_BUILD_DIR=$3
> PYTHON_INSTALL_DIR=$4
> debug_flag=$5
> +makefile_flag=$6
>
> # If we don't want Python, then just do nothing here.
> # Note, at present iOS doesn't have Python, so if you're building for iOS be sure to
> @@ -46,6 +47,13 @@
> Debug=0
> fi
>
> +if [ -n "$makefile_flag" -a "$makefile_flag" = "-m" ]
> +then
> + MakefileCalled=1
> +else
> + MakefileCalled=0
> +fi
> +
> OS_NAME=`uname -s`
> PYTHON_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],,'`
>
> @@ -56,12 +64,19 @@
> echo "The Python version is $PYTHON_VERSION"
> fi
>
> +if [ ${OS_NAME} = "Darwin" ]
> +then
> + SOEXT=".dylib"
> +else
> + SOEXT=".so"
> +fi
> +
> #
> # Determine where to put the files.
>
> -if [ ${OS_NAME} = "Darwin" ]
> +if [ $MakefileCalled -eq 0 ]
> then
> - # We are on a Darwin system, so all the lldb Python files can go
> + # We are being built by Xcode, so all the lldb Python files can go
> # into the LLDB.framework/Resources/Python subdirectory.
>
> if [ ! -d "${TARGET_DIR}/LLDB.framework" ]
> @@ -79,13 +94,20 @@
>
> framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python/lldb"
> else
> - # We are on a non-Darwin system, so use the PYTHON_INSTALL_DIR argument,
> + # We are being built by LLVM, so use the PYTHON_INSTALL_DIR argument,
> # and append the python version directory to the end of it. Depending on
> # the system other stuff may need to be put here as well.
>
> - framework_python_dir="${PYTHON_INSTALL_DIR}/python${PYTHON_VERSION}/lldb"
> + if [ -n "${PYTHON_INSTALL_DIR}" ]
> + then
> + 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
> + else
> + framework_python_dir=`/usr/bin/env python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False);"`/lldb
> + fi
> fi
>
> +[ -n "${CONFIG_BUILD_DIR}" ] || CONFIG_BUILD_DIR=${framework_python_dir}
> +
> #
> # Look for the directory in which to put the Python files; if it does not
> # already exist, attempt to make it.
> @@ -130,10 +152,12 @@
> then
> echo "Creating symlink for _lldb.so"
> fi
> - if [ ${OS_NAME} = "Darwin" ]
> + cd "${framework_python_dir}"
> + if [ $MakefileCalled -eq 0 ]
> then
> - cd "${framework_python_dir}"
> ln -s "../../../LLDB" _lldb.so
> + else
> + ln -s "../../../liblldb${SOEXT}" _lldb.so
> fi
> else
> if [ $Debug -eq 1 ]
>
> Modified: lldb/trunk/scripts/Python/modify-python-lldb.py
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/modify-python-lldb.py?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/Python/modify-python-lldb.py (original)
> +++ lldb/trunk/scripts/Python/modify-python-lldb.py Thu Nov 1 13:55:16 2012
> @@ -386,7 +386,7 @@
> new_content.add_line(section_iter % d[cls+'-section'])
> new_content.add_line(compile_unit_iter % d[cls+'-compile-unit'])
> new_content.add_line(d[cls+'-symbol-in-section'])
> -
> +
> # This special purpose iterator is for SBValue only!!!
> if cls == "SBValue":
> new_content.add_line(linked_list_iter_def)
>
> Modified: lldb/trunk/scripts/build-swig-wrapper-classes.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/build-swig-wrapper-classes.sh?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/build-swig-wrapper-classes.sh (original)
> +++ lldb/trunk/scripts/build-swig-wrapper-classes.sh Thu Nov 1 13:55:16 2012
> @@ -26,20 +26,45 @@
> TARGET_DIR=$2
> CONFIG_BUILD_DIR=$3
> PREFIX=$4
> -debug_flag=$5
> +
> +shift 4
>
> #
> # Check to see if we are in debug-mode or not.
> #
>
> -if [ -n "$debug_flag" -a "$debug_flag" = "-debug" ]
> +if [ -n "$1" -a "$1" = "-debug" ]
> then
> + debug_flag="$1"
> Debug=1
> + shift
> else
> + debug_flag=""
> Debug=0
> fi
>
> #
> +# Check to see if we were called from the Makefile system. If we were, check
> +# if the caller wants swig to generate a dependency file.
> +#
> +
> +if [ -n "$1" -a "$1" = "-m" ]
> +then
> + makefile_flag="$1"
> + shift
> + if [ -n "$1" -a "$1" = "-M" ]
> + then
> + dependency_flag="$1"
> + shift
> + else
> + dependency_flag=""
> + fi
> +else
> + makefile_flag=""
> + dependency_flag=""
> +fi
> +
> +#
> # Verify that 'lldb.swig' exists.
> #
>
> @@ -119,7 +144,7 @@
> echo "Executing $curlang build script..."
> fi
>
> - ./build-swig-${curlang}.sh "$SRC_ROOT" "$TARGET_DIR" "$CONFIG_BUILD_DIR" "${PREFIX}" "${debug_flag}" "${SWIG}"
> + ./build-swig-${curlang}.sh "$SRC_ROOT" "$TARGET_DIR" "$CONFIG_BUILD_DIR" "${PREFIX}" "${debug_flag}" "${SWIG}" "${makefile_flag}" "${dependency_flag}" || exit $?
> fi
> fi
> done
>
> Modified: lldb/trunk/scripts/finish-swig-wrapper-classes.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/finish-swig-wrapper-classes.sh?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/scripts/finish-swig-wrapper-classes.sh (original)
> +++ lldb/trunk/scripts/finish-swig-wrapper-classes.sh Thu Nov 1 13:55:16 2012
> @@ -3,9 +3,9 @@
> # 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
> +# 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
> @@ -26,18 +26,29 @@
> TARGET_DIR=$2
> CONFIG_BUILD_DIR=$3
> PREFIX=$4
> -debug_flag=$5
>
> -if [ -n "$debug_flag" -a "$debug_flag" = "-debug" ]
> +shift 4
> +
> +if [ -n "$1" -a "$1" = "-debug" ]
> then
> + debug_flag=$1
> Debug=1
> + shift
> else
> + debug_flag=""
> Debug=0
> fi
>
> +if [ -n "$1" -a "$1" = "-m" ]
> +then
> + makefile_flag="$1"
> + shift
> +else
> + makefile_flag=""
> +fi
>
> #
> -# For each scripting language, see if a post-processing script for that
> +# 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
> @@ -76,8 +87,8 @@
> echo "Executing $curlang post-processing script..."
> fi
>
> -
> - ./finish-swig-${curlang}-LLDB.sh $SRC_ROOT $TARGET_DIR $CONFIG_BUILD_DIR "${PREFIX}" "${debug_flag}"
> +
> + ./finish-swig-${curlang}-LLDB.sh $SRC_ROOT $TARGET_DIR $CONFIG_BUILD_DIR "${PREFIX}" "${debug_flag}" "${makefile_flag}"
> fi
> fi
> done
>
> Modified: lldb/trunk/source/Interpreter/Makefile
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/Makefile?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/source/Interpreter/Makefile (original)
> +++ lldb/trunk/source/Interpreter/Makefile Thu Nov 1 13:55:16 2012
> @@ -18,177 +18,19 @@
>
> # edit-swig-python-wrapper-file.py needs $(SRCROOT)
> export SRCROOT := $(PROJ_SRC_DIR)/$(LLDB_LEVEL)
> -TARGET_DIR := $(PROJ_OBJ_DIR)
>
> -PYTHON_DIR := $(LibDir)/python/lldb
> -ifeq ($(HOST_OS),Darwin)
> -PYTHON_DEST_DIR := $(DESTDIR)/$(call realpath,/Library/Python/$(shell python -c 'import sys; print sys.version[:3]')/site-packages)/lldb
> -else
> -PYTHON_DEST_DIR := $(DESTDIR)/$(call realpath,$(shell python -c 'import sys; print sys.exec_prefix')/lib/python$(shell python -c 'import sys; print sys.version[:3]')/site-packages)/lldb
> -endif
> -LLDB_SWIG_INCLUDE_DIRS:= -I"$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/include" -I./.
> -LIBLLDB := $(LibDir)/liblldb$(SHLIBEXT)
> -INST_LIBLLDB := $(PROJ_libdir)/liblldb$(SHLIBEXT)
> +PYTHON_DIR := $(PROJ_OBJ_ROOT)/$(BuildMode)
>
> -# Subpackages of the main LLDB package
> -LLDB_SUBPACKAGES := FORMATTERS FORMATTERS_CPP FORMATTERS_OBJC RUNTIME RUNTIME_OBJC UTILS
> -# lldb.formatters
> -LLDB_PACKAGE_FORMATTERS := formatters
> -LLDB_PACKAGE_FORMATTERS_FILES := $(addprefix \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/summaries/cocoa/, \
> - cache.py metrics.py attrib_fromdict.py Logger.py)
> -# lldb.formatters.cpp
> -LLDB_PACKAGE_FORMATTERS_CPP := formatters/cpp
> -LLDB_PACKAGE_FORMATTERS_CPP_FILES := $(addprefix \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/synthetic/,gnu_libstdcpp.py libcxx.py)
> -# lldb.formatters.objc
> -LLDB_PACKAGE_FORMATTERS_OBJC := formatters/objc
> -LLDB_PACKAGE_FORMATTERS_OBJC_FILES := \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/summaries/cocoa/Selector.py \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/summaries/objc.py \
> - $(addprefix $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/summaries/cocoa/, \
> - Class.py CFArray.py CFBag.py CFBinaryHeap.py CFBitVector.py \
> - CFDictionary.py CFString.py NSBundle.py NSData.py NSDate.py \
> - NSException.py NSIndexSet.py NSMachPort.py NSNotification.py \
> - NSNumber.py NSSet.py NSURL.py \
> - )
> -# lldb.runtime
> -LLDB_PACKAGE_RUNTIME := runtime
> -LLDB_PACKAGE_RUNTIME_FILES :=
> -# lldb.runtime.objc
> -LLDB_PACKAGE_RUNTIME_OBJC := runtime/objc
> -LLDB_PACKAGE_RUNTIME_OBJC_FILES := \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/summaries/cocoa/objc_runtime.py
> -# lldb.utils
> -LLDB_PACKAGE_UTILS := utils
> -LLDB_PACKAGE_UTILS_FILES := \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/python/symbolication.py
> -
> -ifeq ($(HOST_OS),Darwin)
> -# Additional packages for Darwin/Mac OS X
> -LLDB_SUBPACKAGES += MACOSX
> -# lldb.macosx
> -LLDB_PACKAGE_MACOSX := macosx
> -LLDB_PACKAGE_MACOSX_FILES := $(addprefix \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/, python/crashlog.py darwin/heap_find/heap.py \
> -)
> -endif
> -
> -LLDB_ALL_SUBPACKAGE_FILES := $(foreach subpackage,$(LLDB_SUBPACKAGES),$(LLDB_PACKAGE_$(subpackage)_FILES))
> -LLDB_ALL_INSTALLED_SUBPACKAGE_FILES := $(foreach subpackage,$(LLDB_SUBPACKAGES),$(addprefix $(LLDB_PACKAGE_$(subpackage))/,$(notdir $(LLDB_PACKAGE_$(subpackage)_FILES))))
> -
> -comma := ,
> -LLDB_COPY_PACKAGE = $(Verb) \
> -$(foreach subpackage,$(LLDB_SUBPACKAGES), \
> - init_file="$(PYTHON_DIR)/$(LLDB_PACKAGE_$(subpackage))/__init__.py"; \
> - $(MKDIR) "$(PYTHON_DIR)/$(LLDB_PACKAGE_$(subpackage))"; \
> - $(foreach file,$(LLDB_PACKAGE_$(subpackage)_FILES), \
> - $(CP) "$(file)" "$(PYTHON_DIR)/$(LLDB_PACKAGE_$(subpackage))"; \
> - ) \
> - echo "__all__ = [$(patsubst %,\"%\"$(comma),\
> - $(basename $(notdir $(LLDB_PACKAGE_$(subpackage)_FILES))))]" >$$init_file; \
> - echo "for x in __all__:" >>$$init_file; \
> - echo " __import__('lldb.$(subst /,.,$(LLDB_PACKAGE_$(subpackage))).'+x)" >>$$init_file; \
> -)
> -
> -LLDB_INSTALL_SUBPACKAGES = $(Verb) \
> -$(foreach subpackage,$(LLDB_SUBPACKAGES), \
> - $(MKDIR) $(PYTHON_DEST_DIR)/$(LLDB_PACKAGE_$(subpackage)); \
> - $(DataInstall) $(PYTHON_DIR)/$(LLDB_PACKAGE_$(subpackage))/__init__.py \
> - $(PYTHON_DEST_DIR)/$(LLDB_PACKAGE_$(subpackage))/__init__.py; \
> -) \
> -$(foreach file,$(LLDB_ALL_INSTALLED_SUBPACKAGE_FILES), \
> - $(DataInstall) $(PYTHON_DIR)/$(file) $(PYTHON_DEST_DIR)/$(file); \
> -)
> -
> -ifeq ($(HOST_OS),Darwin)
> -# Install the heap_find sources, too.
> -LLDB_INSTALL_SUBPACKAGES += $(MKDIR) $(PYTHON_DEST_DIR)/macosx/heap/; \
> -$(DataInstall) $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/darwin/heap_find/heap/heap_find.cpp \
> - $(PYTHON_DEST_DIR)/macosx/heap/heap_find.cpp; \
> -$(DataInstall) $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/examples/darwin/heap_find/heap/Makefile \
> - $(PYTHON_DEST_DIR)/macosx/heap/Makefile;
> -endif
> -
> -# We need Swig to process stdint.h, but by default it will not inspect system
> -# include directories. The following should cover the standard locations on
> -# most platforms.
> -LLDB_SWIG_INCLUDE_DIRS += -I"/usr/local/include"
> -LLDB_SWIG_INCLUDE_DIRS += -I"/usr/include"
> -
> -# On Darwin, stdint.h might only be in the compiler subdirectory. Unfortunately,
> -# swig doesn't currently seem able to understand Clang's stdint.h, so we have to
> -# point at the GCC one.
> -ifeq ($(HOST_OS),Darwin)
> -LLDB_SWIG_INCLUDE_DIRS += -I"/usr/include/gcc/darwin/4.2"
> -endif
> -
> -ifndef DISABLE_AUTO_DEPENDENCIES
> -
> -SWIG_DEPEND_OPTIONS = -MMD -MF "$(PROJ_OBJ_DIR)/$*.cpp.d.tmp"
> -CPP_DEPEND_MOVEFILE = then $(MV) -f "$(PROJ_OBJ_DIR)/$*.cpp.d.tmp" "$(PROJ_OBJ_DIR)/$*.cpp.d"; \
> - else $(RM) -f "$(PROJ_OBJ_DIR)/$*.cpp.d.tmp"; exit 1; fi
> -
> -LLDBWrapPython.cpp: $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/edit-swig-python-wrapper-file.py \
> - $(wildcard $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/interface/*.i)
> +LLDBWrapPython.cpp lldb.py: $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py \
> + $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/edit-swig-python-wrapper-file.py \
> + $(wildcard $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/interface/*.i)
> $(Echo) Generating LLDBWrapPython.cpp
> - $(Verb) $(MKDIR) $(PYTHON_DIR)
> - $(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/build-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(TARGET_DIR)" "$(PYTHON_DIR)" "$(PYTHON_DIR)"
> - $(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/finish-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(TARGET_DIR)" "$(PYTHON_DIR)" "$(PYTHON_DIR)"
> -# $(Verb) if swig -c++ -shadow -python $(LLDB_SWIG_INCLUDE_DIRS) \
> -# -D__STDC_LIMIT_MACROS -outdir "$(PYTHON_DIR)" \
> -# $(SWIG_DEPEND_OPTIONS) \
> -# -o LLDBWrapPython.cpp "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/lldb.swig" ; \
> -# $(CPP_DEPEND_MOVEFILE)
> -# $(Verb) python "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py" \
> -# "$(PYTHON_DIR)"
> -# $(Verb) python "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/edit-swig-python-wrapper-file.py" \
> -# "$(PROJ_OBJ_DIR)"
> -# $(Verb) if test -f "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp.edited"; then \
> -# $(MV) "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp.edited" \
> -# "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp"; fi
> -# $(Verb) $(MV) "$(PYTHON_DIR)/lldb.py" "$(PYTHON_DIR)/__init__.py"
> -# $(Verb) $(CP) "$(PROJ_SRC_DIR)/embedded_interpreter.py" "$(PYTHON_DIR)"
> -# $(Verb) $(RM) -f $(PYTHON_DIR)/_lldb.so
> -# $(Verb) $(AliasTool) $(LIBLLDB) $(PYTHON_DIR)/_lldb.so
> -# $(LLDB_COPY_PACKAGE)
> -
> -else
> -
> -LLDBWrapPython.cpp: $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py \
> - $(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/edit-swig-python-wrapper-file.py
> - $(Echo) Generating LLDBWrapPython.cpp
> - $(Verb) $(MKDIR) $(PYTHON_DIR)
> - $(Verb) swig -c++ -shadow -python $(LLDB_SWIG_INCLUDE_DIRS) \
> - -D__STDC_LIMIT_MACROS -outdir "$(PYTHON_DIR)" \
> - -o LLDBWrapPython.cpp "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/lldb.swig"
> - $(Verb) python "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/modify-python-lldb.py" \
> - "$(PYTHON_DIR)"
> - $(Verb) python "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/Python/edit-swig-python-wrapper-file.py" \
> - "$(PROJ_OBJ_DIR)"
> - $(Verb) if test -f "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp.edited"; then \
> - $(MV) "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp.edited" \
> - "$(PROJ_OBJ_DIR)/LLDBWrapPython.cpp"; fi
> - $(Verb) $(MV) "$(PYTHON_DIR)/lldb.py" "$(PYTHON_DIR)/__init__.py"
> - $(Verb) $(CP) "$(PROJ_SRC_DIR)/embedded_interpreter.py" "$(PYTHON_DIR)"
> - $(Verb) $(RM) -f $(PYTHON_DIR)/_lldb.so
> - $(Verb) $(AliasTool) $(LIBLLDB) $(PYTHON_DIR)/_lldb.so
> - $(LLDB_COPY_PACKAGE)
> -
> -endif
> + $(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/build-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(PYTHON_DIR)" -m $(if $(DISABLE_AUTO_DEPENDENCIES),,-M)
> + $(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/finish-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "$(PYTHON_DIR)" -m
>
> -install-local:: $(PYTHON_DIR)/__init__.py $(PYTHON_DIR)/embedded_interpreter.py \
> - $(addprefix $(PYTHON_DIR)/,$(LLDB_ALL_INSTALLED_SUBPACKAGE_FILES))
> +install-local:: lldb.py
> $(Echo) Installing $(BuildMode) LLDB python modules
> - $(Verb) $(MKDIR) $(PYTHON_DEST_DIR)
> - $(Verb) $(DataInstall) $(PYTHON_DIR)/__init__.py $(PYTHON_DEST_DIR)/__init__.py
> - $(Verb) $(DataInstall) $(PYTHON_DIR)/embedded_interpreter.py $(PYTHON_DEST_DIR)/embedded_interpreter.py
> - $(Verb) $(RM) -f $(PYTHON_DEST_DIR)/_lldb.so
> - $(Verb) $(AliasTool) $(INST_LIBLLDB) $(PYTHON_DEST_DIR)/_lldb.so
> - $(LLDB_INSTALL_SUBPACKAGES)
> + $(Verb) "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/scripts/finish-swig-wrapper-classes.sh" "$(PROJ_SRC_DIR)/$(LLDB_LEVEL)" "$(PROJ_OBJ_DIR)" "$(PROJ_OBJ_DIR)" "" -m
>
> clean-local::
> - $(Verb) $(RM) -f LLDBWrapPython.cpp $(PYTHON_DIR)/_lldb.so \
> - $(PYTHON_DIR)/embedded_interpreter.py $(PYTHON_DIR)/__init__.py \
> - $(addprefix $(PYTHON_DIR)/,$(LLDB_ALL_INSTALLED_SUBPACKAGE_FILES))
> + $(Verb) $(RM) -f LLDBWrapPython.cpp lldb.py
>
> Modified: lldb/trunk/test/Makefile
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/Makefile?rev=167242&r1=167241&r2=167242&view=diff
> ==============================================================================
> --- lldb/trunk/test/Makefile (original)
> +++ lldb/trunk/test/Makefile Thu Nov 1 13:55:16 2012
> @@ -31,8 +31,8 @@
> check-local::
> rm -rf ../test-rdir
> env PATH="$(ToolDir):$(PATH)" \
> - PYTHONPATH=$(LibDir)/python \
> + PYTHONPATH="$(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False, \"$(LibDir)/..\")" )" \
> LLDB_EXEC=$(ToolDir)/lldb \
> - LLDB_BUILD_TYPE=Makefile \
> + LLDB_BUILD_TYPE=Makefile \
> $(SHLIBPATH_VAR)=$(LibDir):$($(SHLIBPATH_VAR)) \
> python $(PROJ_SRC_DIR)/dotest.py -i -v -r ../test-rdir
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
More information about the lldb-commits
mailing list