summaryrefslogtreecommitdiffstats
path: root/libc/tools/bionic_utils.py
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2013-06-17 10:26:10 -0700
committerElliott Hughes <enh@google.com>2013-06-17 10:39:33 -0700
commit18bc975bfe41a0ef8d2df1a188078b0741dc6c25 (patch)
tree1013658abaeb0fa056a4c6403fd5f154a7e60aa0 /libc/tools/bionic_utils.py
parent560e9f7e7a39e02aca96709043ca06f562f75d58 (diff)
downloadbionic-18bc975bfe41a0ef8d2df1a188078b0741dc6c25.zip
bionic-18bc975bfe41a0ef8d2df1a188078b0741dc6c25.tar.gz
bionic-18bc975bfe41a0ef8d2df1a188078b0741dc6c25.tar.bz2
Slight script cleanup; make gensyscalls work from any directory.
Also remove a ton of dead code. Change-Id: I1315623695a004f643b155f121cbafe24b715b8a
Diffstat (limited to 'libc/tools/bionic_utils.py')
-rw-r--r--libc/tools/bionic_utils.py183
1 files changed, 0 insertions, 183 deletions
diff --git a/libc/tools/bionic_utils.py b/libc/tools/bionic_utils.py
index bbfff7d..dccf9e3 100644
--- a/libc/tools/bionic_utils.py
+++ b/libc/tools/bionic_utils.py
@@ -37,140 +37,6 @@ def D_setlevel(level):
verbose = level
-def find_dir_of(path):
- '''return the directory name of 'path', or "." if there is none'''
- # remove trailing slash
- if len(path) > 1 and path[-1] == '/':
- path = path[:-1]
-
- # find parent directory name
- d = os.path.dirname(path)
- if d == "":
- return "."
- else:
- return d
-
-# other stuff
-#
-#
-def find_file_from_upwards(from_path,target_file):
- """find a file in the current directory or its parents. if 'from_path' is None,
- seach from the current program's directory"""
- path = from_path
- if path == None:
- path = find_dir_of(sys.argv[0])
- D("this script seems to be located in: %s" % path)
-
- while 1:
- if path == "":
- path = "."
-
- file = path + "/" + target_file
- D("probing "+file)
-
- if os.path.isfile(file):
- D("found %s in %s" % (target_file, path))
- return file
-
- if path == ".":
- break
-
- path = os.path.dirname(path)
-
- path = ""
- while 1:
- path = "../" + path
- file = path + target_file
- D("probing "+file)
-
- if os.path.isfile(file):
- D("found %s in %s" % (target_file, path))
- return file
-
-
- return None
-
-def find_bionic_root():
- '''find the root of the Bionic source tree. we check for the SYSCALLS.TXT file
- from the location of the current program's directory.'''
-
- # note that we can't use find_file_from_upwards() since we can't use os.path.abspath
- # that's because in some cases the p4 client is in a symlinked directory, and this
- # function will return the real path instead, which later creates problems when
- # p4 commands are issued
- #
- file = find_file_from_upwards(None, "SYSCALLS.TXT")
- if file:
- return os.path.dirname(file)
- else:
- return None
-
-def find_original_kernel_headers():
- """try to find the directory containing the original kernel headers"""
- bionic_root = find_bionic_root()
- if not bionic_root:
- D("Could not find Bionic root !!")
- return None
-
- path = os.path.normpath(bionic_root + "/../../external/kernel-headers/original")
- if not os.path.isdir(path):
- D("Could not find %s" % (path))
- return None
-
- return path
-
-def find_kernel_headers():
- """try to find the directory containing the kernel headers for this machine"""
-
- # First try to find the original kernel headers.
- ret = find_original_kernel_headers()
- if ret:
- D("found original kernel headers in: %s" % (ret))
- return ret
-
- status, version = commands.getstatusoutput( "uname -r" ) # get Linux kernel version
- if status != 0:
- D("could not execute 'uname -r' command properly")
- return None
-
- # get rid of the "-xenU" suffix that is found in Xen virtual machines
- if len(version) > 5 and version[-5:] == "-xenU":
- version = version[:-5]
-
- path = "/usr/src/linux-headers-" + version + "/include"
- D("probing %s for kernel headers" % (path))
- ret = os.path.isdir( path )
- if ret:
- D("found kernel headers in: %s" % (path))
- return path
- return None
-
-def find_arch_header(kernel_headers,arch,header):
- # First, try in <root>/arch/<arm>/include/<header>
- # corresponding to the location in the kernel source tree for
- # certain architectures (e.g. arm).
- path = "%s/arch/%s/include/asm/%s" % (kernel_headers, arch, header)
- D("Probing for %s" % path)
- if os.path.exists(path):
- return path
-
- # Try <root>/asm-<arch>/include/<header> corresponding to the location
- # in the kernel source tree for other architectures (e.g. x86).
- path = "%s/include/asm-%s/%s" % (kernel_headers, arch, header)
- D("Probing for %s" % path)
- if os.path.exists(path):
- return path
-
- # Otherwise, look under <root>/asm-<arch>/<header> corresponding
- # the original kernel headers directory
- path = "%s/asm-%s/%s" % (kernel_headers, arch, header)
- D("Probing for %s" % path)
- if os.path.exists(path):
- return path
-
-
- return None
-
# parser for the SYSCALLS.TXT file
#
class SysCallsTxtParser:
@@ -312,52 +178,3 @@ class StringOutput:
def get(self):
return self.line
-
-
-def create_file_path(path):
- dirs = []
- while 1:
- parent = os.path.dirname(path)
- if parent == "/":
- break
- dirs.append(parent)
- path = parent
-
- dirs.reverse()
- for dir in dirs:
- #print "dir %s" % dir
- if os.path.isdir(dir):
- continue
- os.mkdir(dir)
-
-def walk_source_files(paths,callback,args,excludes=[]):
- """recursively walk a list of paths and files, only keeping the source files in directories"""
- for path in paths:
- if not os.path.isdir(path):
- callback(path,args)
- else:
- for root, dirs, files in os.walk(path):
- #print "w-- %s (ex: %s)" % (repr((root,dirs)), repr(excludes))
- if len(excludes):
- for d in dirs[:]:
- if d in excludes:
- dirs.remove(d)
- for f in files:
- r, ext = os.path.splitext(f)
- if ext in [ ".h", ".c", ".cpp", ".S" ]:
- callback( "%s/%s" % (root,f), args )
-
-def cleanup_dir(path):
- """create a directory if needed, and ensure that it is totally empty
- by removing any existing content in it"""
- if not os.path.exists(path):
- os.mkdir(path)
- else:
- for root, dirs, files in os.walk(path, topdown=False):
- if root.endswith("kernel_headers/"):
- # skip 'kernel_headers'
- continue
- for name in files:
- os.remove(os.path.join(root, name))
- for name in dirs:
- os.rmdir(os.path.join(root, name))