summaryrefslogtreecommitdiff
path: root/utils/llvm-build/llvmbuild/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/llvm-build/llvmbuild/main.py')
-rw-r--r--utils/llvm-build/llvmbuild/main.py150
1 files changed, 1 insertions, 149 deletions
diff --git a/utils/llvm-build/llvmbuild/main.py b/utils/llvm-build/llvmbuild/main.py
index fccfc7e6ece3..4533c6506309 100644
--- a/utils/llvm-build/llvmbuild/main.py
+++ b/utils/llvm-build/llvmbuild/main.py
@@ -4,7 +4,6 @@ import os
import sys
import llvmbuild.componentinfo as componentinfo
-import llvmbuild.configutil as configutil
from llvmbuild.util import fatal, note
@@ -38,17 +37,6 @@ def cmake_quote_path(value):
return value
-def mk_quote_string_for_target(value):
- """
- mk_quote_string_for_target(target_name) -> str
-
- Return a quoted form of the given target_name suitable for including in a
- Makefile as a target name.
- """
-
- # The only quoting we currently perform is for ':', to support msys users.
- return value.replace(":", "\\:")
-
def make_install_dir(path):
"""
make_install_dir(path) -> None
@@ -387,7 +375,7 @@ subdirectories = %s
f.write("""\
//===- llvm-build generated file --------------------------------*- C++ -*-===//
//
-// Component Library Depenedency Table
+// Component Library Dependency Table
//
// Automatically generated file, do not edit!
//
@@ -651,87 +639,6 @@ set_property(TARGET %s PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES %s)\n""" % (
f.close()
- def write_make_fragment(self, output_path, enabled_optional_components):
- """
- write_make_fragment(output_path) -> None
-
- Generate a Makefile fragment which includes all of the collated
- LLVMBuild information in a format that is easily digestible by a
- Makefile. The exact contents of this are closely tied to how the LLVM
- Makefiles integrate LLVMBuild, see Makefile.rules in the top-level.
- """
-
- dependencies = list(self.get_fragment_dependencies())
-
- # Write out the Makefile fragment.
- make_install_dir(os.path.dirname(output_path))
- f = open(output_path, 'w')
-
- # Write the header.
- header_fmt = '\
-#===-- %s - LLVMBuild Configuration for LLVM %s-*- Makefile -*--===#'
- header_name = os.path.basename(output_path)
- header_pad = '-' * (80 - len(header_fmt % (header_name, '')))
- header_string = header_fmt % (header_name, header_pad)
- f.write("""\
-%s
-#
-# The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-#
-#===------------------------------------------------------------------------===#
-#
-# This file contains the LLVMBuild project information in a format easily
-# consumed by the Makefile based build system.
-#
-# This file is autogenerated by llvm-build, do not edit!
-#
-#===------------------------------------------------------------------------===#
-
-""" % header_string)
-
- # Write the dependencies for the fragment.
- #
- # FIXME: Technically, we need to properly quote for Make here.
- f.write("""\
-# Clients must explicitly enable LLVMBUILD_INCLUDE_DEPENDENCIES to get
-# these dependencies. This is a compromise to help improve the
-# performance of recursive Make systems.
-""")
- f.write('ifeq ($(LLVMBUILD_INCLUDE_DEPENDENCIES),1)\n')
- f.write("# The dependencies for this Makefile fragment itself.\n")
- f.write("%s: \\\n" % (mk_quote_string_for_target(output_path),))
- for dep in dependencies:
- f.write("\t%s \\\n" % (dep,))
- f.write('\n')
-
- # Generate dummy rules for each of the dependencies, so that things
- # continue to work correctly if any of those files are moved or removed.
- f.write("""\
-# The dummy targets to allow proper regeneration even when files are moved or
-# removed.
-""")
- for dep in dependencies:
- f.write("%s:\n" % (mk_quote_string_for_target(dep),))
- f.write('endif\n')
-
- f.write("""
-# List of libraries to be exported for use by applications.
-# See 'cmake/modules/Makefile'.
-LLVM_LIBS_TO_EXPORT :=""")
- self.foreach_cmake_library(
- lambda ci:
- f.write(' \\\n %s' % ci.get_prefixed_library_name())
- ,
- enabled_optional_components,
- skip_disabled = True,
- skip_not_installed = True # Do not export internal libraries like gtest
- )
- f.write('\n')
- f.close()
-
def add_magic_target_components(parser, project, opts):
"""add_magic_target_components(project, opts) -> None
@@ -853,9 +760,6 @@ def main():
help=(
"If given, an alternate path to search for LLVMBuild.txt files"),
action="store", default=None, metavar="PATH")
- group.add_option("", "--build-root", dest="build_root", metavar="PATH",
- help="Path to the build directory (if needed) [%default]",
- action="store", default=None)
parser.add_option_group(group)
group = OptionGroup(parser, "Output Options")
@@ -877,18 +781,6 @@ def main():
dest="write_cmake_exports_fragment", metavar="PATH",
help="Write the CMake exports information to PATH",
action="store", default=None)
- group.add_option("", "--write-make-fragment",
- dest="write_make_fragment", metavar="PATH",
- help="Write the Makefile project information to PATH",
- action="store", default=None)
- group.add_option("", "--configure-target-def-file",
- dest="configure_target_def_files",
- help="""Configure the given file at SUBPATH (relative to
-the inferred or given source root, and with a '.in' suffix) by replacing certain
-substitution variables with lists of targets that support certain features (for
-example, targets with AsmPrinters) and write the result to the build root (as
-given by --build-root) at the same SUBPATH""",
- metavar="SUBPATH", action="append", default=None)
parser.add_option_group(group)
group = OptionGroup(parser, "Configuration Options")
@@ -951,11 +843,6 @@ given by --build-root) at the same SUBPATH""",
project_info.write_library_table(opts.write_library_table,
opts.optional_components)
- # Write out the make fragment, if requested.
- if opts.write_make_fragment:
- project_info.write_make_fragment(opts.write_make_fragment,
- opts.optional_components)
-
# Write out the cmake fragment, if requested.
if opts.write_cmake_fragment:
project_info.write_cmake_fragment(opts.write_cmake_fragment,
@@ -964,40 +851,5 @@ given by --build-root) at the same SUBPATH""",
project_info.write_cmake_exports_fragment(opts.write_cmake_exports_fragment,
opts.optional_components)
- # Configure target definition files, if requested.
- if opts.configure_target_def_files:
- # Verify we were given a build root.
- if not opts.build_root:
- parser.error("must specify --build-root when using "
- "--configure-target-def-file")
-
- # Create the substitution list.
- available_targets = [ci for ci in project_info.component_infos
- if ci.type_name == 'TargetGroup']
- substitutions = [
- ("@LLVM_ENUM_TARGETS@",
- ' '.join('LLVM_TARGET(%s)' % ci.name
- for ci in available_targets)),
- ("@LLVM_ENUM_ASM_PRINTERS@",
- ' '.join('LLVM_ASM_PRINTER(%s)' % ci.name
- for ci in available_targets
- if ci.has_asmprinter)),
- ("@LLVM_ENUM_ASM_PARSERS@",
- ' '.join('LLVM_ASM_PARSER(%s)' % ci.name
- for ci in available_targets
- if ci.has_asmparser)),
- ("@LLVM_ENUM_DISASSEMBLERS@",
- ' '.join('LLVM_DISASSEMBLER(%s)' % ci.name
- for ci in available_targets
- if ci.has_disassembler))]
-
- # Configure the given files.
- for subpath in opts.configure_target_def_files:
- inpath = os.path.join(source_root, subpath + '.in')
- outpath = os.path.join(opts.build_root, subpath)
- result = configutil.configure_file(inpath, outpath, substitutions)
- if not result:
- note("configured file %r hasn't changed" % outpath)
-
if __name__=='__main__':
main()