From ebd9193b57750faabaeed0f28acc23fb38d1d06b Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 1 Mar 2016 19:15:06 +0000 Subject: [PATCH] Move ObjectYAML code to a new library. It is only ever used by obj2yaml and yaml2obj. No point in linking it everywhere. llvm-svn: 262368 --- llvm/include/llvm/{Object => ObjectYAML}/COFFYAML.h | 6 +++--- llvm/include/llvm/{Object => ObjectYAML}/ELFYAML.h | 6 +++--- llvm/include/llvm/{MC => ObjectYAML}/YAML.h | 13 +++++++++++-- llvm/lib/CMakeLists.txt | 1 + llvm/lib/MC/CMakeLists.txt | 1 - llvm/lib/Object/CMakeLists.txt | 2 -- llvm/lib/ObjectYAML/CMakeLists.txt | 5 +++++ llvm/lib/{Object => ObjectYAML}/COFFYAML.cpp | 2 +- llvm/lib/{Object => ObjectYAML}/ELFYAML.cpp | 2 +- llvm/lib/{MC => ObjectYAML}/YAML.cpp | 2 +- llvm/tools/obj2yaml/CMakeLists.txt | 1 + llvm/tools/obj2yaml/coff2yaml.cpp | 2 +- llvm/tools/obj2yaml/elf2yaml.cpp | 2 +- llvm/tools/yaml2obj/CMakeLists.txt | 1 + llvm/tools/yaml2obj/yaml2coff.cpp | 2 +- llvm/tools/yaml2obj/yaml2elf.cpp | 2 +- llvm/unittests/CMakeLists.txt | 1 + llvm/unittests/MC/CMakeLists.txt | 1 - llvm/unittests/ObjectYAML/CMakeLists.txt | 8 ++++++++ llvm/unittests/{MC => ObjectYAML}/YAMLTest.cpp | 4 ++-- 20 files changed, 43 insertions(+), 21 deletions(-) rename llvm/include/llvm/{Object => ObjectYAML}/COFFYAML.h (98%) rename llvm/include/llvm/{Object => ObjectYAML}/ELFYAML.h (98%) rename llvm/include/llvm/{MC => ObjectYAML}/YAML.h (88%) create mode 100644 llvm/lib/ObjectYAML/CMakeLists.txt rename llvm/lib/{Object => ObjectYAML}/COFFYAML.cpp (99%) rename llvm/lib/{Object => ObjectYAML}/ELFYAML.cpp (99%) rename llvm/lib/{MC => ObjectYAML}/YAML.cpp (98%) create mode 100644 llvm/unittests/ObjectYAML/CMakeLists.txt rename llvm/unittests/{MC => ObjectYAML}/YAMLTest.cpp (87%) diff --git a/llvm/include/llvm/Object/COFFYAML.h b/llvm/include/llvm/ObjectYAML/COFFYAML.h similarity index 98% rename from llvm/include/llvm/Object/COFFYAML.h rename to llvm/include/llvm/ObjectYAML/COFFYAML.h index 12a2522..ea1de16 100644 --- a/llvm/include/llvm/Object/COFFYAML.h +++ b/llvm/include/llvm/ObjectYAML/COFFYAML.h @@ -11,11 +11,11 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_OBJECT_COFFYAML_H -#define LLVM_OBJECT_COFFYAML_H +#ifndef LLVM_OBJECTYAML_COFFYAML_H +#define LLVM_OBJECTYAML_COFFYAML_H #include "llvm/ADT/Optional.h" -#include "llvm/MC/YAML.h" +#include "llvm/ObjectYAML/YAML.h" #include "llvm/Support/COFF.h" namespace llvm { diff --git a/llvm/include/llvm/Object/ELFYAML.h b/llvm/include/llvm/ObjectYAML/ELFYAML.h similarity index 98% rename from llvm/include/llvm/Object/ELFYAML.h rename to llvm/include/llvm/ObjectYAML/ELFYAML.h index df0aa50..81a4ec2 100644 --- a/llvm/include/llvm/Object/ELFYAML.h +++ b/llvm/include/llvm/ObjectYAML/ELFYAML.h @@ -13,10 +13,10 @@ /// //===----------------------------------------------------------------------===// -#ifndef LLVM_OBJECT_ELFYAML_H -#define LLVM_OBJECT_ELFYAML_H +#ifndef LLVM_OBJECTYAML_ELFYAML_H +#define LLVM_OBJECTYAML_ELFYAML_H -#include "llvm/MC/YAML.h" +#include "llvm/ObjectYAML/YAML.h" #include "llvm/Support/ELF.h" namespace llvm { diff --git a/llvm/include/llvm/MC/YAML.h b/llvm/include/llvm/ObjectYAML/YAML.h similarity index 88% rename from llvm/include/llvm/MC/YAML.h rename to llvm/include/llvm/ObjectYAML/YAML.h index 383cdc6..7f68368 100644 --- a/llvm/include/llvm/MC/YAML.h +++ b/llvm/include/llvm/ObjectYAML/YAML.h @@ -1,5 +1,14 @@ -#ifndef LLVM_MC_YAML_H -#define LLVM_MC_YAML_H +//===- YAML.h ---------------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_OBJECTYAML_YAML_H +#define LLVM_OBJECTYAML_YAML_H #include "llvm/Support/YAMLTraits.h" diff --git a/llvm/lib/CMakeLists.txt b/llvm/lib/CMakeLists.txt index d00c10f..9449421 100644 --- a/llvm/lib/CMakeLists.txt +++ b/llvm/lib/CMakeLists.txt @@ -10,6 +10,7 @@ add_subdirectory(Analysis) add_subdirectory(LTO) add_subdirectory(MC) add_subdirectory(Object) +add_subdirectory(ObjectYAML) add_subdirectory(Option) add_subdirectory(DebugInfo) add_subdirectory(ExecutionEngine) diff --git a/llvm/lib/MC/CMakeLists.txt b/llvm/lib/MC/CMakeLists.txt index a04f16c..698dc9f 100644 --- a/llvm/lib/MC/CMakeLists.txt +++ b/llvm/lib/MC/CMakeLists.txt @@ -48,7 +48,6 @@ add_llvm_library(LLVMMC SubtargetFeature.cpp WinCOFFObjectWriter.cpp WinCOFFStreamer.cpp - YAML.cpp ADDITIONAL_HEADER_DIRS ${LLVM_MAIN_INCLUDE_DIR}/llvm/MC diff --git a/llvm/lib/Object/CMakeLists.txt b/llvm/lib/Object/CMakeLists.txt index 2ac2ee5..7993e75 100644 --- a/llvm/lib/Object/CMakeLists.txt +++ b/llvm/lib/Object/CMakeLists.txt @@ -3,10 +3,8 @@ add_llvm_library(LLVMObject ArchiveWriter.cpp Binary.cpp COFFObjectFile.cpp - COFFYAML.cpp ELF.cpp ELFObjectFile.cpp - ELFYAML.cpp Error.cpp IRObjectFile.cpp MachOObjectFile.cpp diff --git a/llvm/lib/ObjectYAML/CMakeLists.txt b/llvm/lib/ObjectYAML/CMakeLists.txt new file mode 100644 index 0000000..9ebe1e3 --- /dev/null +++ b/llvm/lib/ObjectYAML/CMakeLists.txt @@ -0,0 +1,5 @@ +add_llvm_library(LLVMObjectYAML + YAML.cpp + COFFYAML.cpp + ELFYAML.cpp + ) diff --git a/llvm/lib/Object/COFFYAML.cpp b/llvm/lib/ObjectYAML/COFFYAML.cpp similarity index 99% rename from llvm/lib/Object/COFFYAML.cpp rename to llvm/lib/ObjectYAML/COFFYAML.cpp index 4c1fca1..0aa1362 100644 --- a/llvm/lib/Object/COFFYAML.cpp +++ b/llvm/lib/ObjectYAML/COFFYAML.cpp @@ -11,7 +11,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Object/COFFYAML.h" +#include "llvm/ObjectYAML/COFFYAML.h" #define ECase(X) IO.enumCase(Value, #X, COFF::X); namespace llvm { diff --git a/llvm/lib/Object/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp similarity index 99% rename from llvm/lib/Object/ELFYAML.cpp rename to llvm/lib/ObjectYAML/ELFYAML.cpp index 856fd63..06db57a 100644 --- a/llvm/lib/Object/ELFYAML.cpp +++ b/llvm/lib/ObjectYAML/ELFYAML.cpp @@ -11,7 +11,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Object/ELFYAML.h" +#include "llvm/ObjectYAML/ELFYAML.h" #include "llvm/Support/Casting.h" #include "llvm/Support/MipsABIFlags.h" diff --git a/llvm/lib/MC/YAML.cpp b/llvm/lib/ObjectYAML/YAML.cpp similarity index 98% rename from llvm/lib/MC/YAML.cpp rename to llvm/lib/ObjectYAML/YAML.cpp index 45db5c3..75cf1fb 100644 --- a/llvm/lib/MC/YAML.cpp +++ b/llvm/lib/ObjectYAML/YAML.cpp @@ -12,7 +12,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/YAML.h" +#include "llvm/ObjectYAML/YAML.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Support/raw_ostream.h" #include diff --git a/llvm/tools/obj2yaml/CMakeLists.txt b/llvm/tools/obj2yaml/CMakeLists.txt index 3cdac5c..9d8c32f 100644 --- a/llvm/tools/obj2yaml/CMakeLists.txt +++ b/llvm/tools/obj2yaml/CMakeLists.txt @@ -1,5 +1,6 @@ set(LLVM_LINK_COMPONENTS Object + ObjectYAML Support ) diff --git a/llvm/tools/obj2yaml/coff2yaml.cpp b/llvm/tools/obj2yaml/coff2yaml.cpp index f675bfe..343ed12 100644 --- a/llvm/tools/obj2yaml/coff2yaml.cpp +++ b/llvm/tools/obj2yaml/coff2yaml.cpp @@ -9,7 +9,7 @@ #include "obj2yaml.h" #include "llvm/Object/COFF.h" -#include "llvm/Object/COFFYAML.h" +#include "llvm/ObjectYAML/COFFYAML.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/YAMLTraits.h" diff --git a/llvm/tools/obj2yaml/elf2yaml.cpp b/llvm/tools/obj2yaml/elf2yaml.cpp index f2b0138..e05f428 100644 --- a/llvm/tools/obj2yaml/elf2yaml.cpp +++ b/llvm/tools/obj2yaml/elf2yaml.cpp @@ -11,7 +11,7 @@ #include "obj2yaml.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Object/ELFObjectFile.h" -#include "llvm/Object/ELFYAML.h" +#include "llvm/ObjectYAML/ELFYAML.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/YAMLTraits.h" diff --git a/llvm/tools/yaml2obj/CMakeLists.txt b/llvm/tools/yaml2obj/CMakeLists.txt index 52e9df4..ac3fd77 100644 --- a/llvm/tools/yaml2obj/CMakeLists.txt +++ b/llvm/tools/yaml2obj/CMakeLists.txt @@ -1,6 +1,7 @@ set(LLVM_LINK_COMPONENTS MC Object + ObjectYAML Support ) diff --git a/llvm/tools/yaml2obj/yaml2coff.cpp b/llvm/tools/yaml2obj/yaml2coff.cpp index 9a0c92f..4453507 100644 --- a/llvm/tools/yaml2obj/yaml2coff.cpp +++ b/llvm/tools/yaml2obj/yaml2coff.cpp @@ -19,7 +19,7 @@ #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Object/COFF.h" -#include "llvm/Object/COFFYAML.h" +#include "llvm/ObjectYAML/COFFYAML.h" #include "llvm/Support/Endian.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/SourceMgr.h" diff --git a/llvm/tools/yaml2obj/yaml2elf.cpp b/llvm/tools/yaml2obj/yaml2elf.cpp index 2839afe9..a2ae5e2 100644 --- a/llvm/tools/yaml2obj/yaml2elf.cpp +++ b/llvm/tools/yaml2obj/yaml2elf.cpp @@ -16,7 +16,7 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/MC/StringTableBuilder.h" #include "llvm/Object/ELFObjectFile.h" -#include "llvm/Object/ELFYAML.h" +#include "llvm/ObjectYAML/ELFYAML.h" #include "llvm/Support/ELF.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/Support/YAMLTraits.h" diff --git a/llvm/unittests/CMakeLists.txt b/llvm/unittests/CMakeLists.txt index 48a573a..49a9b31 100644 --- a/llvm/unittests/CMakeLists.txt +++ b/llvm/unittests/CMakeLists.txt @@ -23,6 +23,7 @@ add_subdirectory(LineEditor) add_subdirectory(Linker) add_subdirectory(MC) add_subdirectory(MI) +add_subdirectory(ObjectYAML) add_subdirectory(Option) add_subdirectory(ProfileData) add_subdirectory(Support) diff --git a/llvm/unittests/MC/CMakeLists.txt b/llvm/unittests/MC/CMakeLists.txt index 7c39f43..c760c02 100644 --- a/llvm/unittests/MC/CMakeLists.txt +++ b/llvm/unittests/MC/CMakeLists.txt @@ -10,5 +10,4 @@ add_llvm_unittest(MCTests DwarfLineTables.cpp StringTableBuilderTest.cpp TargetRegistry.cpp - YAMLTest.cpp ) diff --git a/llvm/unittests/ObjectYAML/CMakeLists.txt b/llvm/unittests/ObjectYAML/CMakeLists.txt new file mode 100644 index 0000000..baed10b --- /dev/null +++ b/llvm/unittests/ObjectYAML/CMakeLists.txt @@ -0,0 +1,8 @@ +set(LLVM_LINK_COMPONENTS + ObjectYAML + ) + +add_llvm_unittest(ObjectYAMLTests + YAMLTest.cpp + ) + diff --git a/llvm/unittests/MC/YAMLTest.cpp b/llvm/unittests/ObjectYAML/YAMLTest.cpp similarity index 87% rename from llvm/unittests/MC/YAMLTest.cpp rename to llvm/unittests/ObjectYAML/YAMLTest.cpp index 09709ad..606e160 100644 --- a/llvm/unittests/MC/YAMLTest.cpp +++ b/llvm/unittests/ObjectYAML/YAMLTest.cpp @@ -1,4 +1,4 @@ -//===- llvm/unittest/Object/YAMLTest.cpp - Tests for Object YAML ----------===// +//===- YAMLTest.cpp - Tests for Object YAML -------------------------------===// // // The LLVM Compiler Infrastructure // @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/MC/YAML.h" +#include "llvm/ObjectYAML/YAML.h" #include "llvm/Support/YAMLTraits.h" #include "gtest/gtest.h" -- 2.7.4