Fix five of the shared library build targets
authorGreg Fitzgerald <garious@gmail.com>
Wed, 21 Jan 2015 22:54:56 +0000 (22:54 +0000)
committerGreg Fitzgerald <garious@gmail.com>
Wed, 21 Jan 2015 22:54:56 +0000 (22:54 +0000)
Before this patch there was a cyclic dependency between lldCore and
lldReaderWriter.  Only lldConfig could be built as a shared library.

* Moved Reader and Writer base classes into lldCore.
* The following shared libraries can now be built:
     lldCore
     lldYAML
     lldNative
     lldPasses
     lldReaderWriter

Differential Revision: http://reviews.llvm.org/D7105

From: Greg Fitzgerald <garious@gmail.com>
llvm-svn: 226732

36 files changed:
lld/docs/Readers.rst
lld/include/lld/Core/LinkingContext.h
lld/include/lld/Core/Reader.h [moved from lld/include/lld/ReaderWriter/Reader.h with 97% similarity]
lld/include/lld/Core/Writer.h [moved from lld/include/lld/ReaderWriter/Writer.h with 91% similarity]
lld/include/lld/Passes/LayoutPass.h
lld/include/lld/ReaderWriter/CoreLinkingContext.h
lld/include/lld/ReaderWriter/ELFLinkingContext.h
lld/include/lld/ReaderWriter/MachOLinkingContext.h
lld/include/lld/ReaderWriter/PECOFFLinkingContext.h
lld/lib/Core/CMakeLists.txt
lld/lib/Core/LinkingContext.cpp
lld/lib/Core/Reader.cpp [moved from lld/lib/ReaderWriter/Reader.cpp with 97% similarity]
lld/lib/Core/Writer.cpp [moved from lld/lib/ReaderWriter/Writer.cpp with 82% similarity]
lld/lib/Driver/CoreDriver.cpp
lld/lib/Driver/Driver.cpp
lld/lib/Passes/CMakeLists.txt
lld/lib/Passes/RoundTripNativePass.cpp
lld/lib/Passes/RoundTripYAMLPass.cpp
lld/lib/ReaderWriter/CMakeLists.txt
lld/lib/ReaderWriter/ELF/ELFReader.h
lld/lib/ReaderWriter/ELF/OutputELFWriter.h
lld/lib/ReaderWriter/ELF/SegmentChunks.h
lld/lib/ReaderWriter/ELF/Writer.cpp
lld/lib/ReaderWriter/ELF/Writer.h
lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
lld/lib/ReaderWriter/MachO/WriterMachO.cpp
lld/lib/ReaderWriter/Native/CMakeLists.txt
lld/lib/ReaderWriter/Native/Makefile
lld/lib/ReaderWriter/Native/ReaderNative.cpp
lld/lib/ReaderWriter/Native/WriterNative.cpp
lld/lib/ReaderWriter/PECOFF/PECOFFLinkingContext.cpp
lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp
lld/lib/ReaderWriter/YAML/CMakeLists.txt
lld/lib/ReaderWriter/YAML/Makefile
lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp

index 6424de9..e00406b 100644 (file)
@@ -10,8 +10,8 @@ The purpose of a "Reader" is to take an object file in a particular format
 and create an `lld::File`:cpp:class: (which is a graph of Atoms)
 representing the object file.  A Reader inherits from
 `lld::Reader`:cpp:class: which lives in
-:file:`include/lld/ReaderWriter/Reader.h` and
-:file:`lib/ReaderWriter/Reader.cpp`.
+:file:`include/lld/Core/Reader.h` and
+:file:`lib/Core/Reader.cpp`.
 
 The Reader infrastructure for an object format ``Foo`` requires the
 following pieces in order to fit into lld:
index 7b5e646..ce7cf66 100644 (file)
@@ -16,7 +16,7 @@
 #include "lld/Core/Parallel.h"
 #include "lld/Core/Reference.h"
 #include "lld/Core/range.h"
-#include "lld/ReaderWriter/Reader.h"
+#include "lld/Core/Reader.h"
 #include "llvm/Support/ErrorOr.h"
 #include "llvm/Support/raw_ostream.h"
 #include <string>
similarity index 97%
rename from lld/include/lld/ReaderWriter/Reader.h
rename to lld/include/lld/Core/Reader.h
index 061d822..0b9ee3f 100644 (file)
@@ -1,4 +1,4 @@
-//===- lld/ReaderWriter/Reader.h - Abstract File Format Reading Interface -===//
+//===- lld/Core/Reader.h - Abstract File Format Reading Interface ---------===//
 //
 //                             The LLVM Linker
 //
@@ -7,8 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLD_READER_WRITER_READER_H
-#define LLD_READER_WRITER_READER_H
+#ifndef LLD_CORE_READER_H
+#define LLD_CORE_READER_H
 
 #include "lld/Core/LLVM.h"
 #include "lld/Core/Reference.h"
similarity index 91%
rename from lld/include/lld/ReaderWriter/Writer.h
rename to lld/include/lld/Core/Writer.h
index c50a2ae..78bf4a4 100644 (file)
@@ -1,4 +1,4 @@
-//===- lld/ReaderWriter/Writer.h - Abstract File Format Interface ---------===//
+//===- lld/Core/Writer.h - Abstract File Format Interface -----------------===//
 //
 //                             The LLVM Linker
 //
@@ -7,8 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLD_READER_WRITER_WRITER_H
-#define LLD_READER_WRITER_WRITER_H
+#ifndef LLD_CORE_WRITER_H
+#define LLD_CORE_WRITER_H
 
 #include "lld/Core/LLVM.h"
 #include <memory>
index 2196eb5..9d28c06 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "lld/Core/File.h"
 #include "lld/Core/Pass.h"
-#include "lld/ReaderWriter/Reader.h"
+#include "lld/Core/Reader.h"
 #include "llvm/ADT/DenseMap.h"
 #include <map>
 #include <string>
index b087fd4..d597ca4 100644 (file)
@@ -11,8 +11,8 @@
 #define LLD_READER_WRITER_CORE_LINKER_CONTEXT_H
 
 #include "lld/Core/LinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Reader.h"
+#include "lld/Core/Writer.h"
 #include "llvm/Support/ErrorHandling.h"
 
 namespace lld {
index d92acf3..c176cf4 100644 (file)
@@ -15,8 +15,8 @@
 #include "lld/Core/PassManager.h"
 #include "lld/Core/STDExtras.h"
 #include "lld/Core/range.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Reader.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/StringSet.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Object/ELF.h"
index 3a98d65..c5093c4 100644 (file)
@@ -11,8 +11,8 @@
 #define LLD_READER_WRITER_MACHO_LINKING_CONTEXT_H
 
 #include "lld/Core/LinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Reader.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/StringMap.h"
 #include "llvm/ADT/StringSet.h"
 #include "llvm/Support/ErrorHandling.h"
index f537e08..f3bb911 100644 (file)
@@ -11,8 +11,8 @@
 #define LLD_READER_WRITER_PECOFF_LINKING_CONTEXT_H
 
 #include "lld/Core/LinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Reader.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/COFF.h"
index 28e50d7..009b50a 100644 (file)
@@ -3,8 +3,10 @@ add_llvm_library(lldCore
   Error.cpp
   File.cpp
   LinkingContext.cpp
+  Reader.cpp
   Resolver.cpp
   SymbolTable.cpp
+  Writer.cpp
   LINK_LIBS
     LLVMSupport
   )
index d684a63..4b63852 100644 (file)
@@ -11,7 +11,7 @@
 #include "lld/Core/LinkingContext.h"
 #include "lld/Core/Resolver.h"
 #include "lld/Core/Simple.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/Process.h"
 
similarity index 97%
rename from lld/lib/ReaderWriter/Reader.cpp
rename to lld/lib/Core/Reader.cpp
index 616f475..6027c14 100644 (file)
@@ -1,4 +1,4 @@
-//===- lib/ReaderWriter/Reader.cpp ----------------------------------------===//
+//===- lib/Core/Reader.cpp ------------------------------------------------===//
 //
 //                             The LLVM Linker
 //
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "lld/Core/File.h"
-#include "lld/ReaderWriter/Reader.h"
+#include "lld/Core/Reader.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Errc.h"
 #include "llvm/Support/FileUtilities.h"
similarity index 82%
rename from lld/lib/ReaderWriter/Writer.cpp
rename to lld/lib/Core/Writer.cpp
index 40e0a0b..39bcc9e 100644 (file)
@@ -1,4 +1,4 @@
-//===- lib/ReaderWriter/Writer.cpp ----------------------------------------===//
+//===- lib/Core/Writer.cpp ------------------------------------------------===//
 //
 //                             The LLVM Linker
 //
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "lld/Core/File.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 
 namespace lld {
 Writer::Writer() {
index cc249df..b8adee5 100644 (file)
@@ -7,9 +7,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "lld/Core/Reader.h"
 #include "lld/Driver/Driver.h"
 #include "lld/ReaderWriter/CoreLinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/Triple.h"
index dc4b491..4dc0418 100644 (file)
 #include "lld/Core/LLVM.h"
 #include "lld/Core/Parallel.h"
 #include "lld/Core/PassManager.h"
+#include "lld/Core/Reader.h"
 #include "lld/Core/Resolver.h"
+#include "lld/Core/Writer.h"
 #include "lld/Driver/Driver.h"
 #include "lld/Passes/RoundTripNativePass.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/Option/Arg.h"
index 367752b..21a01b1 100644 (file)
@@ -3,6 +3,8 @@ add_llvm_library(lldPasses
   RoundTripNativePass.cpp
   RoundTripYAMLPass.cpp
   LINK_LIBS
-    lldReaderWriter
+    lldCore
+    lldNative
+    lldYAML
     LLVMSupport
   )
index bf5e8e0..43a979a 100644 (file)
@@ -9,8 +9,8 @@
 
 #include "lld/Core/Instrumentation.h"
 #include "lld/Core/Simple.h"
+#include "lld/Core/Writer.h"
 #include "lld/Passes/RoundTripNativePass.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/Path.h"
 #include <memory>
index bf3cd8a..95759dc 100644 (file)
@@ -9,8 +9,8 @@
 
 #include "lld/Core/Instrumentation.h"
 #include "lld/Core/Simple.h"
+#include "lld/Core/Writer.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/Path.h"
 #include <memory>
index 5aa2c2e..9b9102b 100644 (file)
@@ -12,11 +12,10 @@ add_llvm_library(lldReaderWriter
   CoreLinkingContext.cpp
   FileArchive.cpp
   LinkerScript.cpp
-  Reader.cpp
-  Writer.cpp
-  FileArchive.cpp
   LINK_LIBS
     lldCore
+    lldPasses
+    lldYAML
     LLVMObject
     LLVMSupport
   )
index 08aa717..58e2bcc 100644 (file)
@@ -13,7 +13,7 @@
 #include "CreateELF.h"
 #include "DynamicFile.h"
 #include "ELFFile.h"
-#include "lld/ReaderWriter/Reader.h"
+#include "lld/Core/Reader.h"
 
 namespace lld {
 namespace elf {
index c23bd5b..46e3146 100644 (file)
@@ -16,7 +16,7 @@
 #include "lld/Core/Parallel.h"
 #include "lld/Core/SharedLibraryFile.h"
 #include "lld/ReaderWriter/ELFLinkingContext.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/StringSet.h"
 #include "llvm/Support/Path.h"
 
index ce563ad..cdee646 100644 (file)
@@ -15,7 +15,7 @@
 #include "SectionChunks.h"
 #include "Writer.h"
 #include "lld/Core/range.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Object/ELF.h"
index 39b2808..3071827 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 #include "DynamicLibraryWriter.h"
 #include "ExecutableWriter.h"
 
index 08fd5e5..1e81946 100644 (file)
@@ -11,7 +11,7 @@
 #define LLD_READER_WRITER_ELF_WRITER_H
 
 #include "lld/Core/File.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 
 namespace lld {
 namespace elf {
index 24e17d0..9fe1610 100644 (file)
 #include "MachOPasses.h"
 #include "lld/Core/ArchiveLibraryFile.h"
 #include "lld/Core/PassManager.h"
+#include "lld/Core/Reader.h"
+#include "lld/Core/Writer.h"
 #include "lld/Driver/Driver.h"
 #include "lld/Passes/LayoutPass.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Config/config.h"
index a0e9d43..de1c0e3 100644 (file)
@@ -7,10 +7,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lld/ReaderWriter/Writer.h"
 #include "ExecutableAtoms.hpp"
 #include "MachONormalizedFile.h"
 #include "lld/Core/File.h"
+#include "lld/Core/Writer.h"
 #include "lld/ReaderWriter/MachOLinkingContext.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
index d02ea78..e15f3d6 100644 (file)
@@ -2,6 +2,6 @@ add_llvm_library(lldNative
   ReaderNative.cpp
   WriterNative.cpp
   LINK_LIBS
-    lldReaderWriter
+    lldCore
     LLVMSupport
   )
index fea2cc5..6aba378 100644 (file)
@@ -9,6 +9,6 @@
 
 LLD_LEVEL := ../../..
 LIBRARYNAME := lldNative
-USEDLIBS = lldReaderWriter.a lldCore.a
+USEDLIBS = lldCore.a
 
 include $(LLD_LEVEL)/Makefile
index c73ac2b..00160d0 100644 (file)
@@ -11,8 +11,8 @@
 #include "lld/Core/Atom.h"
 #include "lld/Core/Error.h"
 #include "lld/Core/File.h"
+#include "lld/Core/Reader.h"
 #include "lld/Core/Simple.h"
-#include "lld/ReaderWriter/Reader.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Debug.h"
index 6569395..fbb9f32 100644 (file)
@@ -7,10 +7,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "lld/ReaderWriter/Writer.h"
 #include "NativeFileFormat.h"
 #include "lld/Core/File.h"
 #include "lld/Core/LinkingContext.h"
+#include "lld/Core/Writer.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/StringRef.h"
index dbe0244..b115969 100644 (file)
 #include "LoadConfigPass.h"
 #include "PDBPass.h"
 #include "lld/Core/PassManager.h"
+#include "lld/Core/Reader.h"
 #include "lld/Core/Simple.h"
+#include "lld/Core/Writer.h"
 #include "lld/Passes/LayoutPass.h"
 #include "lld/Passes/RoundTripNativePass.h"
 #include "lld/Passes/RoundTripYAMLPass.h"
 #include "lld/ReaderWriter/PECOFFLinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/ADT/SmallString.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/Path.h"
index dd26161..92dc528 100644 (file)
@@ -10,9 +10,9 @@
 #include "Atoms.h"
 #include "lld/Core/Alias.h"
 #include "lld/Core/File.h"
+#include "lld/Core/Reader.h"
 #include "lld/Driver/Driver.h"
 #include "lld/ReaderWriter/PECOFFLinkingContext.h"
-#include "lld/ReaderWriter/Reader.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/Object/COFF.h"
index 2bd24c4..89fdd72 100644 (file)
@@ -23,9 +23,9 @@
 #include "WriterImportLibrary.h"
 #include "lld/Core/DefinedAtom.h"
 #include "lld/Core/File.h"
+#include "lld/Core/Writer.h"
 #include "lld/ReaderWriter/AtomLayout.h"
 #include "lld/ReaderWriter/PECOFFLinkingContext.h"
-#include "lld/ReaderWriter/Writer.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/Object/COFF.h"
 #include "llvm/Support/COFF.h"
index 8b071d3..b955baa 100644 (file)
@@ -1,6 +1,6 @@
 add_llvm_library(lldYAML
   ReaderWriterYAML.cpp
   LINK_LIBS
-    lldReaderWriter
+    lldCore
     LLVMSupport
   )
index 02a66f9..739b6ea 100644 (file)
@@ -9,6 +9,6 @@
 
 LLD_LEVEL := ../../..
 LIBRARYNAME := lldYAML
-USEDLIBS = lldReaderWriter.a lldCore.a
+USEDLIBS = lldCore.a
 
 include $(LLD_LEVEL)/Makefile
index faa5614..cc1c8a5 100644 (file)
 #include "lld/Core/Error.h"
 #include "lld/Core/File.h"
 #include "lld/Core/LLVM.h"
+#include "lld/Core/Reader.h"
 #include "lld/Core/Reference.h"
 #include "lld/Core/Simple.h"
-#include "lld/ReaderWriter/Reader.h"
-#include "lld/ReaderWriter/Writer.h"
+#include "lld/Core/Writer.h"
 #include "lld/ReaderWriter/YamlContext.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/StringMap.h"