[Lldb-commits] [lldb] r366879 - [lldb] Remove Xcode project legacy

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 24 15:37:57 PDT 2019


How are we updating the sources in LLDB.framework these days? Using cmake? When making the LLDB.framework, we must fix up the header includes in any header files that are copies over into LLDB.framework from:

#include "lldb/API/SB*"

to a framework like include:

#inclue <LLDB/SB*>

I am mentioning this as I am seeing "sed-sources" being removed here.

Greg

> On Jul 24, 2019, at 2:20 AM, Stefan Granitz via lldb-commits <lldb-commits at lists.llvm.org> wrote:
> 
> Author: stefan.graenitz
> Date: Wed Jul 24 02:20:14 2019
> New Revision: 366879
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=366879&view=rev
> Log:
> [lldb] Remove Xcode project legacy
> 
> Summary: Since D65109 removed the manually maintained Xcode project, there's a few things we don't need anymore. Anything here we should keep or anything more to remove?
> 
> Reviewers: JDevlieghere, jasonmolenda, clayborg, jingham, lanza, teemperor
> 
> Subscribers: mgorny, lldb-commits, #lldb
> 
> Tags: #lldb
> 
> Differential Revision: https://reviews.llvm.org/D65155
> 
> Removed:
>    lldb/trunk/cmake/XcodeHeaderGenerator/
>    lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh
>    lldb/trunk/scripts/Xcode/
>    lldb/trunk/scripts/build-lldb-llvm-clang
>    lldb/trunk/scripts/checkpoint-llvm.pl
>    lldb/trunk/scripts/finish-swig-wrapper-classes.sh
>    lldb/trunk/scripts/install-lldb.sh
>    lldb/trunk/scripts/sed-sources
> 
> Removed: 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=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh (original)
> +++ lldb/trunk/scripts/Python/finish-swig-Python-LLDB.sh (removed)
> @@ -1,309 +0,0 @@
> -#!/bin/sh
> -
> -# finish-swig-Python.sh
> -#
> -# 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
> -# LLDB shared library/framework.
> -#
> -# 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.
> -#
> -# This shell script creates the _lldb.so symlink in the appropriate place,
> -# and copies the lldb.py (and embedded_interpreter.py) file to the correct
> -# directory.
> -#
> -
> -# 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 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
> -#           additional information when running.
> -
> -SRC_ROOT=$1
> -TARGET_DIR=$2
> -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
> -# set LLDB_DISABLE_PYTHON to 1.
> -
> -if [ ! "$LLDB_DISABLE_PYTHON" = "1" ] ; then
> -
> -if [ -n "$debug_flag" -a "$debug_flag" = "-debug" ]
> -then
> -    Debug=1
> -else
> -    Debug=0
> -fi
> -
> -if [ -n "$makefile_flag" -a "$makefile_flag" = "-m" ]
> -then
> -    MakefileCalled=1
> -else
> -    MakefileCalled=0
> -fi
> -
> -OS_NAME=`uname -s`
> -PYTHON=${PYTHON_EXECUTABLE:-/usr/bin/env python}
> -PYTHON_VERSION=`${PYTHON} -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))'`
> -
> -if [ $Debug -eq 1 ]
> -then
> -    echo "The current OS is $OS_NAME"
> -    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 [ $MakefileCalled -eq 0 ]
> -then
> -    # 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" ]
> -    then
> -        echo "Error:  Unable to find LLDB.framework" >&2
> -        exit 1
> -    else
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "Found ${TARGET_DIR}/LLDB.framework."
> -        fi
> -    fi
> -
> -    # Make the Python directory in the framework if it doesn't already exist
> -
> -    framework_python_dir="${TARGET_DIR}/LLDB.framework/Resources/Python/lldb"
> -else
> -    # 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.
> -
> -    if [ -n "${PYTHON_INSTALL_DIR}" ]
> -    then
> -        framework_python_dir=`${PYTHON} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, False, \"${PYTHON_INSTALL_DIR}\");"`/lldb
> -    else
> -        framework_python_dir=`${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.
> -#
> -
> -if [ $Debug -eq 1 ]
> -then
> -    echo "Python files will be put in ${framework_python_dir}"
> -fi
> -
> -python_dirs="${framework_python_dir}"
> -
> -for python_dir in $python_dirs
> -do
> -    if [ ! -d "${python_dir}" ]
> -    then
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "Making directory ${python_dir}"
> -        fi
> -        mkdir -p "${python_dir}"
> -    else
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "${python_dir} already exists."
> -        fi
> -    fi
> -
> -    if [ ! -d "${python_dir}" ]
> -    then
> -        echo "Error: Unable to find or create ${python_dir}" >&2
> -        exit 1
> -    fi
> -done
> -
> -# Make the symlink that the script bridge for Python will need in the
> -# Python framework directory
> -
> -if [ ! -L "${framework_python_dir}/_lldb.so" ]
> -then
> -    if [ $Debug -eq 1 ]
> -    then
> -        echo "Creating symlink for _lldb.so"
> -    fi
> -    cd "${framework_python_dir}"
> -    if [ $MakefileCalled -eq 0 ]
> -    then
> -        ln -s "../../../LLDB" _lldb.so
> -	else
> -        ln -s "../../../liblldb${SOEXT}" _lldb.so
> -    fi
> -else
> -    if [ $Debug -eq 1 ]
> -    then
> -        echo "${framework_python_dir}/_lldb.so already exists."
> -    fi
> -fi
> -
> -# Make symlink for darwin-debug on Darwin
> -if [ ${OS_NAME} = "Darwin" ] && [ $MakefileCalled -ne 0 ]
> -then
> -    # We are being built by CMake on Darwin
> -
> -    if [ ! -L "${framework_python_dir}/darwin-debug" ]
> -    then
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "Creating symlink for darwin-debug"
> -        fi
> -        cd "${framework_python_dir}"
> -    else
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "${framework_python_dir}/darwin-debug already exists."
> -        fi
> -    fi
> -fi
> -
> -# Make symlink for lldb-argdumper on any platform
> -if [ $MakefileCalled -ne 0 ]
> -then
> -    # We are being built by CMake
> -
> -    if [ ! -L "${framework_python_dir}/lldb-argdumper" ]
> -    then
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "Creating symlink for lldb-argdumper"
> -        fi
> -        cd "${framework_python_dir}"
> -        ln -s "../../../../bin/lldb-argdumper" lldb-argdumper
> -    else
> -        if [ $Debug -eq 1 ]
> -        then
> -            echo "${framework_python_dir}/lldb-argdumper already exists."
> -        fi
> -    fi
> -fi
> -
> -create_python_package () {
> -    package_dir="${framework_python_dir}$1"
> -    package_files="$2"
> -    package_name=`echo $1 | tr '/' '.'`
> -    package_name="lldb${package_name}"
> -
> -    if [ ! -d "${package_dir}" ]
> -    then
> -        mkdir -p "${package_dir}"
> -    fi
> -
> -    for package_file in $package_files
> -    do
> -        if [ -f "${package_file}" ]
> -        then
> -            cp "${package_file}" "${package_dir}"
> -            package_file_basename=$(basename "${package_file}")
> -        fi
> -    done
> -
> -
> -    # Create a packate init file if there wasn't one
> -    package_init_file="${package_dir}/__init__.py"
> -    if [ ! -f "${package_init_file}" ]
> -    then
> -        printf "__all__ = [" > "${package_init_file}"
> -        python_module_separator=""
> -        for package_file in $package_files
> -        do
> -            if [ -f "${package_file}" ]
> -            then
> -                package_file_basename=$(basename "${package_file}")
> -                printf "${python_module_separator}\"${package_file_basename%.*}\"" >> "${package_init_file}"
> -                python_module_separator=", "
> -            fi
> -        done
> -        echo "]" >> "${package_init_file}"
> -        echo "for x in __all__:" >> "${package_init_file}"
> -        echo "    __import__('${package_name}.'+x)" >> "${package_init_file}"
> -    fi
> -
> -
> -}
> -
> -# Copy the lldb.py file into the lldb package directory and rename to __init_.py
> -cp "${CONFIG_BUILD_DIR}/lldb.py" "${framework_python_dir}/__init__.py"
> -
> -# lldb
> -package_files="${SRC_ROOT}/source/Interpreter/embedded_interpreter.py"
> -create_python_package "" "${package_files}"
> -
> -# lldb/formatters/cpp
> -package_files="${SRC_ROOT}/examples/synthetic/gnu_libstdcpp.py
> -${SRC_ROOT}/examples/synthetic/libcxx.py"
> -create_python_package "/formatters/cpp" "${package_files}"
> -
> -# make an empty __init__.py in lldb/runtime
> -# this is required for Python to recognize lldb.runtime as a valid package
> -# (and hence, lldb.runtime.objc as a valid contained package)
> -create_python_package "/runtime" ""
> -
> -# lldb/formatters
> -# having these files copied here ensures that lldb/formatters is a valid package itself
> -package_files="${SRC_ROOT}/examples/summaries/cocoa/cache.py
> -${SRC_ROOT}/examples/summaries/synth.py
> -${SRC_ROOT}/examples/summaries/cocoa/metrics.py
> -${SRC_ROOT}/examples/summaries/cocoa/attrib_fromdict.py
> -${SRC_ROOT}/examples/summaries/cocoa/Logger.py"
> -create_python_package "/formatters" "${package_files}"
> -
> -# lldb/utils
> -package_files="${SRC_ROOT}/examples/python/symbolication.py"
> -create_python_package "/utils" "${package_files}"
> -
> -if [ ${OS_NAME} = "Darwin" ]
> -then
> -    # lldb/macosx
> -    package_files="${SRC_ROOT}/examples/python/crashlog.py
> -    ${SRC_ROOT}/examples/darwin/heap_find/heap.py"
> -    create_python_package "/macosx" "${package_files}"
> -
> -    # lldb/diagnose
> -    package_files="${SRC_ROOT}/examples/python/diagnose_unwind.py
> -    ${SRC_ROOT}/examples/python/diagnose_nsstring.py"
> -    create_python_package "/diagnose" "${package_files}"
> -
> -    # Copy files needed by lldb/macosx/heap.py to build libheap.dylib
> -    heap_dir="${framework_python_dir}/macosx/heap"
> -    if [ ! -d "${heap_dir}" ]
> -    then
> -        mkdir -p "${heap_dir}"
> -        cp "${SRC_ROOT}/examples/darwin/heap_find/heap/heap_find.cpp" "${heap_dir}"
> -        cp "${SRC_ROOT}/examples/darwin/heap_find/heap/Makefile" "${heap_dir}"
> -    fi
> -fi
> -
> -fi
> -
> -exit 0
> -
> 
> Removed: lldb/trunk/scripts/build-lldb-llvm-clang
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/build-lldb-llvm-clang?rev=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/build-lldb-llvm-clang (original)
> +++ lldb/trunk/scripts/build-lldb-llvm-clang (removed)
> @@ -1,74 +0,0 @@
> -#!/bin/sh -x
> -
> -# Usage:
> -# build-lldb-llvm-clang <revision> [Debug|Release|BuildAndIntegration]
> -# build-lldb-llvm-clang <llvm-revision> <clang-revision> [Debug|Release|BuildAndIntegration]
> -
> -LLVM_REVISION=$1
> -CLANG_REVISION=$2
> -LLVM_CONFIGURATION=$3
> -
> -if [ "$LLVM_REVISION" = "" ]; then
> -	echo "Usage:\n    build-lldb-llvm-clang <llvm-revision> [<clang-revision> Debug|Release||BuildAndIntegration]"
> -	exit 1
> -fi
> -
> -if [ "$CLANG_REVISION" = "" ]; then
> -	$CLANG_REVISION = $LLVM_REVISION
> -fi
> -
> -# Checkout LLVM
> -svn co -q -r $LLVM_REVISION http://llvm.org/svn/llvm-project/llvm/trunk llvm
> -
> -# change directory to "./llvm"
> -cd llvm
> -
> -# Checkout Clang
> -# change directory to "./llvm/tools"
> -cd tools
> -svn co -q -r $CLANG_REVISION http://llvm.org/svn/llvm-project/cfe/trunk clang
> -
> -# change directory to "./llvm"
> -cd ..
> -for patch_file in ../scripts/llvm.*.diff
> -do
> -	echo "Applying patch from '$patch_file'"
> -    patch -p1 < "$patch_file"
> -done
> -
> -# change directory to "./llvm/tools/clang"
> -cd tools/clang
> -for patch_file in ../../../scripts/clang.*.diff
> -do
> -	echo "Applying patch from '$patch_file'"
> -    patch -p1 < "$patch_file"
> -done
> -
> -# change directory to "./"
> -cd ../../..
> -pwd
> -
> -if [ "$LLVM_CONFIGURATION" = "Debug" ]; then
> -	# Configure "Debug+Asserts" build
> -	mkdir llvm-debug
> -	cd llvm-debug
> -	../llvm/configure --enable-targets=x86_64,arm 
> -	make -j8 clang-only VERBOSE=1 PROJECT_NAME='llvm'
> -	make -j8 tools-only VERBOSE=1 PROJECT_NAME='llvm' EDIS_VERSION=1
> -elif [ "$LLVM_CONFIGURATION" = "Release" ]; then
> -	# Configure "Release" build
> -	mkdir llvm-release
> -	cd llvm-release
> -	../llvm/configure --enable-targets=x86_64,arm --enable-optimized --disable-assertions
> -	make -j8 clang-only VERBOSE=1 PROJECT_NAME='llvm'
> -	make -j8 tools-only VERBOSE=1 PROJECT_NAME='llvm' EDIS_VERSION=1
> -elif [ "$LLVM_CONFIGURATION" = "BuildAndIntegration" ]; then
> -	# Don't configure or build for "BuildAndIntegration", this configuration 
> -	# is a preparation step for a build submission
> -	
> -	# Remove all patches, and the llvm and clang "test" directories
> -	rm -rf ./scripts/*.diff ./llvm/test ./llvm/tools/clang/test
> -else
> -	echo "checked out llvm (revision $LLVM_REVISION) and clang (revision $CLANG_REVISION)."
> -	exit 0
> -fi
> 
> Removed: lldb/trunk/scripts/checkpoint-llvm.pl
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/checkpoint-llvm.pl?rev=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/checkpoint-llvm.pl (original)
> +++ lldb/trunk/scripts/checkpoint-llvm.pl (removed)
> @@ -1,126 +0,0 @@
> -#!/usr/bin/perl
> -
> -# This script should be pointed to a valid llvm.build folder that
> -# was created using the "build-llvm.pl" shell script. It will create
> -# a new llvm.zip file that can be checked into the repository
> -# at lldb/llvm.zip
> -
> -use strict;
> -use Cwd 'abs_path';
> -use File::Basename;
> -use File::Temp qw/ tempfile tempdir /;
> -our $debug = 1;
> -
> -
> -sub do_command
> -{
> -	my $cmd = shift;
> -	my $description = @_ ? shift : "command";
> -	my $die_on_fail = @_ ? shift : undef;
> -	$debug and print "% $cmd\n";
> -	system ($cmd);
> -	if ($? == -1) 
> -	{
> -        $debug and printf ("error: %s failed to execute: $!\n", $description);
> -		$die_on_fail and $? and exit(1);
> -		return $?;
> -    }
> -    elsif ($? & 127) 
> -	{
> -        $debug and printf("error: %s child died with signal %d, %s coredump\n", 
> -						  $description, 
> -						  ($? & 127),  
> -						  ($? & 128) ? 'with' : 'without');
> -		$die_on_fail and $? and exit(1);
> -		return $?;
> -    }
> -    else 
> -	{
> -		my $exit = $? >> 8;
> -		if ($exit)
> -		{
> -			$debug and printf("error: %s child exited with value %d\n", $description, $exit);
> -			$die_on_fail and exit(1);
> -		}
> -		return $exit;
> -    }
> -}
> -
> -sub do_rsync_paths
> -{
> -    while (@_)
> -	{
> -		my $rsync_src = shift @_;
> -		my $rsync_dst = shift @_;
> -		print "rsync_src = '$rsync_src'\n";
> -		print "rsync_dst = '$rsync_dst'\n";
> -        
> -        if (!-d $rsync_dst)
> -        {
> -            mkdir $rsync_dst;
> -        }
> -        
> -		if (-e $rsync_src)
> -		{
> -			my ($rsync_dst_file, $rsync_dst_dir) = fileparse ($rsync_dst);
> -			print "rsync_dst_dir = '$rsync_dst_dir'\n";
> -			-e $rsync_dst_dir or do_command ("mkdir -p '$rsync_dst_dir'");			
> -			do_command ("rsync -amvC --exclude='*.tmp' --exclude='*.txt' --exclude='*.TXT' --exclude='*.td' --exclude='\.dir' --exclude=Makefile '$rsync_src' '$rsync_dst'");
> -		}
> -        else
> -        {
> -            die "$rsync_src does not exist!\n";
> -        }
> -	}
> -}
> -
> -if (@ARGV > 4)
> -{
> -	my $llvm_source_dir = abs_path(shift @ARGV);	# The llvm source that contains full llvm and clang sources
> -	my $llvm_build_dir  = abs_path(shift @ARGV);     # The llvm build directory that contains headers and 
> -	my $lldb_build_dir  = abs_path(shift @ARGV);     # the build directory that contains the fat libEnhancedDisassembly.dylib
> -	my $llvm_zip_file   = abs_path(shift @ARGV);
> -
> -    printf("LLVM sources : '%s'\n", $llvm_source_dir);
> -    printf("LLVM build   : '%s'\n", $llvm_build_dir);
> -    printf("LLDB build   : '%s'\n", $lldb_build_dir);
> -    printf("LLVM zip file: '%s'\n", $llvm_zip_file);
> -
> -	-e $llvm_build_dir or die "LLVM build directory doesn't exist: '$llvm_build_dir': $!\n";
> -
> -	my $temp_dir = tempdir( CLEANUP => 1 );
> -	print "temp dir = '$temp_dir'\n";
> -  	my $llvm_checkpoint_dir = "$temp_dir/llvm";
> -	mkdir "$llvm_checkpoint_dir" or die "Couldn't make 'llvm' in '$temp_dir'\n";
> -	
> -	my @generic_rsync_src_dst_paths =
> -	(
> -		"$llvm_source_dir/include", "$llvm_checkpoint_dir",
> -		"$llvm_source_dir/tools/clang/include", "$llvm_checkpoint_dir/tools/clang",
> -	);
> -    
> -    do_rsync_paths (@generic_rsync_src_dst_paths);
> -
> -	for my $arch (@ARGV)
> -    {
> -        my @specific_rsync_src_dst_paths =
> -        (
> -            "$llvm_build_dir/$arch/include", "$llvm_checkpoint_dir/$arch",
> -            "$llvm_build_dir/$arch/tools/clang/include", "$llvm_checkpoint_dir/$arch/tools/clang",
> -        );
> -        
> -        do_rsync_paths (@specific_rsync_src_dst_paths);
> -
> -        do_command ("cp '$llvm_build_dir/$arch/libllvmclang.a' '$llvm_checkpoint_dir/$arch/libllvmclang.a'", "Copying .a file", 1);
> -
> -    }
> -
> -	#do_command ("cp '$llvm_build_dir/libllvmclang.a' '$llvm_checkpoint_dir'", "Copying libllvmclang.a", 1);
> -	do_command ("rm -rf '$llvm_zip_file'", "Removing old llvm checkpoint file '$llvm_zip_file'", 1);
> -	do_command ("(cd '$temp_dir' ; zip -r '$llvm_zip_file' 'llvm')", "Zipping llvm checkpoint directory '$llvm_checkpoint_dir' to '$llvm_zip_file'", 1);
> -}
> -else
> -{
> -	print "USAGE\n\tcheckpoint-llvm.pl <llvm-sources> <llvm-build> <lldb-build> <llvm-zip> <arch1> [<arch2> ...]\n\n";
> -	print "EXAMPLE\n\tcd lldb\n\t./scripts/checkpoint-llvm.pl llvm build/llvm build/BuildAndIntegration llvm.zip x86_64 i386\n";
> -}
> 
> Removed: lldb/trunk/scripts/finish-swig-wrapper-classes.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/finish-swig-wrapper-classes.sh?rev=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/finish-swig-wrapper-classes.sh (original)
> +++ lldb/trunk/scripts/finish-swig-wrapper-classes.sh (removed)
> @@ -1,101 +0,0 @@
> -#! /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
> -
> -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
> -# 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 -eq 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 -eq 1 ]
> -        then
> -            echo "Found $curlang sub-directory"
> -        fi
> -
> -        cd $cwd/$curlang
> -
> -        filename="./finish-swig-${curlang}-LLDB.sh"
> -
> -        if [ -f $filename ]
> -        then
> -            if [ $Debug -eq 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}" "${makefile_flag}"
> -            retval=$?
> -            if [ $retval -ne 0 ]; then
> -                echo "$(pwd)/finish-swig-${curlang}-LLDB.sh failed with exit code $retval"
> -                exit $retval
> -            fi
> -        fi
> -    fi
> -done
> -
> -exit 0
> 
> Removed: lldb/trunk/scripts/install-lldb.sh
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/install-lldb.sh?rev=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/install-lldb.sh (original)
> +++ lldb/trunk/scripts/install-lldb.sh (removed)
> @@ -1,59 +0,0 @@
> -#!/bin/sh
> -
> -
> -# This script will install the files from a "Debug" or "Release" build
> -# directory into the developer folder specified.
> -
> -NUM_EXPECTED_ARGS=2
> -
> -PROGRAM=`basename $0`
> -
> -if [ $# -ne $NUM_EXPECTED_ARGS ]; then
> -	echo This script will install the files from a 'Debug' or 'Release' build directory into the developer folder specified.
> -	echo "usage: $PROGRAM <BUILD_DIR> <DEVELOPER_DIR>";
> -	echo "example: $PROGRAM ./Debug /Developer"
> -	echo "example: $PROGRAM /build/Release /Xcode4"
> -	exit 1;
> -fi
> -
> -BUILD_DIR=$1
> -DEVELOPER_DIR=$2
> -
> -if [ -d $BUILD_DIR ]; then
> -	if [ -d $DEVELOPER_DIR ]; then
> -		if [ -e "$BUILD_DIR/debugserver" ]; then
> -			echo Updating "$DEVELOPER_DIR/usr/bin/debugserver"
> -			sudo rm -rf "$DEVELOPER_DIR/usr/bin/debugserver"
> -			sudo cp "$BUILD_DIR/debugserver" "$DEVELOPER_DIR/usr/bin/debugserver"
> -		fi
> -
> -		if [ -e "$BUILD_DIR/lldb" ]; then
> -			echo Updating "$DEVELOPER_DIR/usr/bin/lldb"
> -			sudo rm -rf "$DEVELOPER_DIR/usr/bin/lldb"
> -			sudo cp "$BUILD_DIR/lldb" "$DEVELOPER_DIR/usr/bin/lldb"
> -		fi
> -
> -		if [ -e "$BUILD_DIR/libEnhancedDisassembly.dylib" ]; then
> -			echo Updating "$DEVELOPER_DIR/usr/lib/libEnhancedDisassembly.dylib"
> -			sudo rm -rf "$DEVELOPER_DIR/usr/lib/libEnhancedDisassembly.dylib"
> -			sudo cp "$BUILD_DIR/libEnhancedDisassembly.dylib" "$DEVELOPER_DIR/usr/lib/libEnhancedDisassembly.dylib"
> -		fi
> -
> -		if [ -d "$BUILD_DIR/LLDB.framework" ]; then
> -			echo Updating "$DEVELOPER_DIR/Library/PrivateFrameworks/LLDB.framework"
> -			sudo rm -rf "$DEVELOPER_DIR/Library/PrivateFrameworks/LLDB.framework"
> -			sudo cp -r "$BUILD_DIR/LLDB.framework" "$DEVELOPER_DIR/Library/PrivateFrameworks/LLDB.framework"
> -		elif [ -e "$BUILD_DIR/LLDB.framework" ]; then
> -			echo BUILD_DIR path to LLDB.framework is not a directory: "$BUILD_DIR/LLDB.framework"
> -			exit 2;			
> -		fi
> -	
> -	else
> -		echo DEVELOPER_DIR must be a directory: "$DEVELOPER_DIR"
> -		exit 3;	
> -	fi
> -
> -else
> -	echo BUILD_DIR must be a directory: "$BUILD_DIR"
> -	exit 4;	
> -fi
> 
> Removed: lldb/trunk/scripts/sed-sources
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/sed-sources?rev=366878&view=auto
> ==============================================================================
> --- lldb/trunk/scripts/sed-sources (original)
> +++ lldb/trunk/scripts/sed-sources (removed)
> @@ -1,251 +0,0 @@
> -#!/usr/bin/perl
> -
> -use strict;
> -use File::Find;
> -use File::Temp qw/ tempfile tempdir /;
> -use Getopt::Std;
> -use Pod::Usage;
> -use Text::Tabs;
> -
> -=head1 NAME
> -
> -B<sed-sources> -- Performs multiple sed commands on files with the ability to expand or unexpand tabs.
> -
> -=head1 SYNOPSIS
> -
> -B<sed-sources> [options] [file dir ...]
> -
> -=head1 DESCRIPTION
> -
> -Performs multiple sed commands (modify builtin %seds hash) on source files
> -or any sources in directories. If no arguments are given, STDIN will be used
> -as the source. If source files or directories are specified as arguments,
> -all files will be transformed and overwritten with new versions. Use the B<-p>
> -option to preview changes to STDOUT, or use the B<-b> option to make a backup
> -or the original files.
> -
> -=head1 OPTIONS
> -
> -=over
> -
> -=item B<-b>
> -
> -Backup original source file by appending ".bak" before overwriting with the
> -newly transformed file.
> -
> -=item B<-g>
> -
> -Display verbose debug logging.
> -
> -=item B<-e>
> -
> -Expand tabs to spaces (in addition to doing sed substitutions).
> -
> -=item B<-u>
> -
> -Unexpand spaces to tabs (in addition to doing sed substitutions).
> -
> -=item B<-p>
> -
> -Preview changes to STDOUT without modifying original source files.
> -
> -=item B<-r>
> -
> -Skip variants when doing multiple files (no _profile or _debug variants). 
> -
> -=item B<-t N>
> -
> -Set the number of spaces per tab (default is 4) to use when expanding or
> -unexpanding.
> -
> -=back
> -
> -=head1 EXAMPLES
> - 
> -# Recursively process all source files in the current working directory 
> -# and subdirectories and also expand tabs to spaces. All source files 
> -# will be overwritten with the newly transformed source files.
> -
> -% sed-sources -e $cwd
> -
> -# Recursively process all source files in the current working directory 
> -# and subdirectories and also unexpand spaces to tabs and preview the
> -# results to STDOUT
> -
> -% sed-sources -p -u $cwd
> -
> -# Same as above except use 8 spaces per tab. 
> -
> -% sed-sources -p -u -t8 $cwd
> -
> -=cut
> -
> -
> -our $opt_b = 0;	# Backup original file?
> -our $opt_g = 0;	# Verbose debug output?
> -our $opt_e = 0;	# Expand tabs to spaces?
> -our $opt_h = 0; # Show help?
> -our $opt_m = 0;	# Show help manpage style?
> -our $opt_p = 0;	# Preview changes to STDOUT?
> -our $opt_t = 4;	# Number of spaces per tab?
> -our $opt_u = 0;	# Unexpand spaces to tabs?
> -getopts('eghmpt:u'); 
> -
> -$opt_m and show_manpage();
> -$opt_h and help();
> -
> -our %seds = (
> -	'\s+$' => "\n",		# Get rid of spaces at the end of a line
> -	'^\s+$' => "\n",	# Get rid spaces on lines that are all spaces
> -);
> -
> -
> -sub show_manpage { exit pod2usage( verbose => 2 ); };
> -sub help { exit pod2usage( verbose => 3, noperldoc => 1 ); };
> -
> -
> -#----------------------------------------------------------------------
> -# process_opened_file_handle
> -#---------------------------------------------------------------------- 
> -sub process_opened_file_handle
> -{
> -	my $in_fh = shift;
> -	my $out_fh = shift;
> -
> -	# Set the number of spaces per tab for expand/unexpand
> -	$tabstop = $opt_t; 
> -	
> -	while (my $line = <$in_fh>) 
> -	{
> -		foreach my $key (keys %seds)
> -		{
> -			my $value = $seds{"$key"};
> -			$line =~ s/$key/$value/g;
> -		}	
> -		if ($opt_e) {
> -			print $out_fh expand $line;
> -		} elsif ($opt_u) {
> -			print $out_fh unexpand $line;
> -		} else {
> -			print $out_fh $line;
> -		}
> -	}
> -}
> -
> -#----------------------------------------------------------------------
> -# process_file
> -#---------------------------------------------------------------------- 
> -sub process_file
> -{
> -	my $in_path = shift;
> -	if (-T $in_path) 
> -	{ 
> -		my $out_fh;
> -		my $out_path;
> -		if ($opt_p)
> -		{
> -			# Preview to STDOUT
> -			$out_fh = *STDOUT;
> -			print "#---------------------------------------------------------------------- \n";
> -			print "# BEGIN: '$in_path'\n";
> -			print "#---------------------------------------------------------------------- \n";
> -		}
> -		else
> -		{
> -			($out_fh, $out_path) = tempfile();			
> -			$opt_g and print "temporary for '$in_path' is '$out_path'\n";
> -		}
> -		open (IN, "<$in_path") or die "error: can't open '$in_path' for reading: $!";
> -		process_opened_file_handle (*IN, $out_fh);
> -		
> -
> -		# Close our input file
> -		close (IN);
> -
> -		if ($opt_p)
> -		{
> -			print "#---------------------------------------------------------------------- \n";
> -			print "# END: '$in_path'\n";
> -			print "#---------------------------------------------------------------------- \n";
> -			print "\n\n";
> -		}
> -		else
> -		{
> -			# Close the output file if it wasn't STDOUT
> -			close ($out_fh);
> -		
> -			# Backup file if requested
> -			if ($opt_b)
> -			{
> -				my $backup_command = "cp '$in_path' '$in_path.bak'";
> -				$opt_g and print "\% $backup_command\n";
> -				system ($backup_command);
> -			}
> -		
> -			# Copy temp file over original
> -			my $copy_command = "cp '$out_path' '$in_path'";
> -			$opt_g and print "\% $copy_command\n";
> -			system ($copy_command);
> -		}
> -	}
> -}
> -
> -our @valid_extensions = ( "h", "cpp", "c", "m", "mm" );
> -
> -#----------------------------------------------------------------------
> -# find_callback
> -#---------------------------------------------------------------------- 
> -sub find_callback
> -{
> -	my $file = $_;
> -	my $fullpath = $File::Find::name;
> -
> -	foreach my $ext (@valid_extensions)
> -	{
> -		my $ext_regex = "\\.$ext\$";
> -		if ($fullpath =~ /$ext_regex/i)
> -		{
> -			print "processing: '$fullpath'\n";
> -			process_file ($fullpath);
> -			return;
> -		}
> -	}
> -	print "  ignoring: '$fullpath'\n";
> -}
> -
> -
> -#----------------------------------------------------------------------
> -# main
> -#---------------------------------------------------------------------- 
> -sub main
> -{
> -	if (@ARGV == 0)
> -	{
> -		# no args, take from STDIN and put to STDOUT
> -		process_opened_file_handle (*STDIN, *STDOUT);
> -	}
> -	else
> -	{
> -		# Got args, any files we run into parse them, any directories
> -		# we run into, search them for files
> -		my $path;
> -		foreach $path (@ARGV)
> -		{
> -			if (-f $path)
> -			{
> -				print "processing: '$path'\n";
> -				process_file ($path);
> -			}
> -			else
> -			{
> -				print " searching: '$path'\n";
> -				find(\&find_callback, $path);					
> -			}
> -		}
> -	}
> -}
> -
> -
> -
> -# call the main function
> -main();
> 
> 
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits



More information about the lldb-commits mailing list