From 1147753b1ccb0bbc40d05e7e73089e2b7bb38317 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Thu, 9 Feb 2017 22:53:14 +0000 Subject: [PATCH] Start libc++ python cleanup and consolidation. Libc++ frequently creates and uses utilities written in python. Currently there are python modules under both libcxx/test and libcxx/util. My goal with these changes is to consolidate them into a single package under libcxx/utils/libcxx. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294644 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CMakeLists.txt | 2 +- lib/abi/CMakeLists.txt | 2 +- test/libcxx/test/config.py | 2 +- utils/{gen_link_script => }/gen_link_script.py | 0 utils/libcxx/__init__.py | 17 +++++++++++++++++ .../{sym_check => libcxx}/sym_check/__init__.py | 0 utils/{sym_check => libcxx}/sym_check/diff.py | 2 +- .../{sym_check => libcxx}/sym_check/extract.py | 2 +- utils/{sym_check => libcxx}/sym_check/match.py | 0 utils/{sym_check => libcxx}/sym_check/util.py | 4 ++-- utils/{not => }/not.py | 0 utils/{sym_check => }/sym_diff.py | 2 +- utils/{sym_check => }/sym_extract.py | 2 +- utils/{sym_check => }/sym_match.py | 2 +- .../linux_blacklist.txt | 0 .../osx_blacklist.txt | 0 16 files changed, 27 insertions(+), 10 deletions(-) rename utils/{gen_link_script => }/gen_link_script.py (100%) create mode 100644 utils/libcxx/__init__.py rename utils/{sym_check => libcxx}/sym_check/__init__.py (100%) rename utils/{sym_check => libcxx}/sym_check/diff.py (98%) rename utils/{sym_check => libcxx}/sym_check/extract.py (99%) rename utils/{sym_check => libcxx}/sym_check/match.py (100%) rename utils/{sym_check => libcxx}/sym_check/util.py (98%) rename utils/{not => }/not.py (100%) rename utils/{sym_check => }/sym_diff.py (98%) rename utils/{sym_check => }/sym_extract.py (97%) rename utils/{sym_check => }/sym_match.py (97%) rename utils/{sym_check => symcheck-blacklists}/linux_blacklist.txt (100%) rename utils/{sym_check => symcheck-blacklists}/osx_blacklist.txt (100%) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 231ccda61..c6a94e3b8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -332,7 +332,7 @@ if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT) # after cxx builds. add_custom_command(TARGET cxx_shared POST_BUILD COMMAND - ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/gen_link_script/gen_link_script.py + ${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/gen_link_script.py ARGS "$" ${LIBCXX_INTERFACE_LIBRARY_NAMES} diff --git a/lib/abi/CMakeLists.txt b/lib/abi/CMakeLists.txt index 464643c70..c20767425 100644 --- a/lib/abi/CMakeLists.txt +++ b/lib/abi/CMakeLists.txt @@ -27,7 +27,7 @@ endif() if (LIBCXX_HAS_ABILIST_CONFIGURATION) set(ABILIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.abilist") - set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_check/sym_diff.py") + set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_diff.py") add_custom_target(check-cxx-abilist ${SYMDIFF_EXE} --only-stdlib-symbols --strict ${ABILIST_FILE} $ diff --git a/test/libcxx/test/config.py b/test/libcxx/test/config.py index ae48c735a..f1bfe3b9e 100644 --- a/test/libcxx/test/config.py +++ b/test/libcxx/test/config.py @@ -932,7 +932,7 @@ class Configuration(object): # Configure run shortcut sub.append(('%run', exec_str + ' %t.exe')) # Configure not program substitutions - not_py = os.path.join(self.libcxx_src_root, 'utils', 'not', 'not.py') + not_py = os.path.join(self.libcxx_src_root, 'utils', 'not.py') not_str = '%s %s ' % (sys.executable, not_py) sub.append(('not ', not_str)) diff --git a/utils/gen_link_script/gen_link_script.py b/utils/gen_link_script.py similarity index 100% rename from utils/gen_link_script/gen_link_script.py rename to utils/gen_link_script.py diff --git a/utils/libcxx/__init__.py b/utils/libcxx/__init__.py new file mode 100644 index 000000000..7523a3d8b --- /dev/null +++ b/utils/libcxx/__init__.py @@ -0,0 +1,17 @@ +#===----------------------------------------------------------------------===## +# +# The LLVM Compiler Infrastructure +# +# This file is dual licensed under the MIT and the University of Illinois Open +# Source Licenses. See LICENSE.TXT for details. +# +#===----------------------------------------------------------------------===## + +"""libcxx python utilities""" + +__author__ = 'Eric Fiselier' +__email__ = 'eric@efcs.ca' +__versioninfo__ = (0, 1, 0) +__version__ = ' '.join(str(v) for v in __versioninfo__) + 'dev' + +__all__ = [] diff --git a/utils/sym_check/sym_check/__init__.py b/utils/libcxx/sym_check/__init__.py similarity index 100% rename from utils/sym_check/sym_check/__init__.py rename to utils/libcxx/sym_check/__init__.py diff --git a/utils/sym_check/sym_check/diff.py b/utils/libcxx/sym_check/diff.py similarity index 98% rename from utils/sym_check/sym_check/diff.py rename to utils/libcxx/sym_check/diff.py index c89c4ef69..55443bd6f 100644 --- a/utils/sym_check/sym_check/diff.py +++ b/utils/libcxx/sym_check/diff.py @@ -11,7 +11,7 @@ diff - A set of functions for diff-ing two symbol lists. """ -from sym_check import util +from libcxx.sym_check import util def _symbol_difference(lhs, rhs): diff --git a/utils/sym_check/sym_check/extract.py b/utils/libcxx/sym_check/extract.py similarity index 99% rename from utils/sym_check/sym_check/extract.py rename to utils/libcxx/sym_check/extract.py index d132e2282..596302bf3 100644 --- a/utils/sym_check/sym_check/extract.py +++ b/utils/libcxx/sym_check/extract.py @@ -14,7 +14,7 @@ import distutils.spawn import sys import re -from sym_check import util +from libcxx.sym_check import util extract_ignore_names = ['_init', '_fini'] diff --git a/utils/sym_check/sym_check/match.py b/utils/libcxx/sym_check/match.py similarity index 100% rename from utils/sym_check/sym_check/match.py rename to utils/libcxx/sym_check/match.py diff --git a/utils/sym_check/sym_check/util.py b/utils/libcxx/sym_check/util.py similarity index 98% rename from utils/sym_check/sym_check/util.py rename to utils/libcxx/sym_check/util.py index 32055d84c..58e0b954c 100644 --- a/utils/sym_check/sym_check/util.py +++ b/utils/libcxx/sym_check/util.py @@ -152,9 +152,9 @@ def is_library_file(filename): def extract_or_load(filename): - import sym_check.extract + import libcxx.sym_check.extract if is_library_file(filename): - return sym_check.extract.extract_symbols(filename) + return libcxx.sym_check.extract.extract_symbols(filename) return read_syms_from_file(filename) def adjust_mangled_name(name): diff --git a/utils/not/not.py b/utils/not.py similarity index 100% rename from utils/not/not.py rename to utils/not.py diff --git a/utils/sym_check/sym_diff.py b/utils/sym_diff.py similarity index 98% rename from utils/sym_check/sym_diff.py rename to utils/sym_diff.py index 631f9c6b4..c01f71c92 100755 --- a/utils/sym_check/sym_diff.py +++ b/utils/sym_diff.py @@ -13,7 +13,7 @@ sym_diff - Compare two symbol lists and output the differences. from argparse import ArgumentParser import sys -from sym_check import diff, util +from libcxx.sym_check import diff, util def main(): diff --git a/utils/sym_check/sym_extract.py b/utils/sym_extract.py similarity index 97% rename from utils/sym_check/sym_extract.py rename to utils/sym_extract.py index 27765679e..0d9d2eeb8 100755 --- a/utils/sym_check/sym_extract.py +++ b/utils/sym_extract.py @@ -11,7 +11,7 @@ sym_extract - Extract and output a list of symbols from a shared library. """ from argparse import ArgumentParser -from sym_check import extract, util +from libcxx.sym_check import extract, util def main(): diff --git a/utils/sym_check/sym_match.py b/utils/sym_match.py similarity index 97% rename from utils/sym_check/sym_match.py rename to utils/sym_match.py index 231bdc8b3..48582ce66 100755 --- a/utils/sym_check/sym_match.py +++ b/utils/sym_match.py @@ -13,7 +13,7 @@ sym_match - Match all symbols in a list against a list of regexes. """ from argparse import ArgumentParser import sys -from sym_check import util, match, extract +from libcxx.sym_check import util, match, extract def main(): diff --git a/utils/sym_check/linux_blacklist.txt b/utils/symcheck-blacklists/linux_blacklist.txt similarity index 100% rename from utils/sym_check/linux_blacklist.txt rename to utils/symcheck-blacklists/linux_blacklist.txt diff --git a/utils/sym_check/osx_blacklist.txt b/utils/symcheck-blacklists/osx_blacklist.txt similarity index 100% rename from utils/sym_check/osx_blacklist.txt rename to utils/symcheck-blacklists/osx_blacklist.txt