[PATCH] D20700: [Docs][WritingAnLLVMBackend] Makefiles are deprecated
Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 14:38:23 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL270921: [Docs][WritingAnLLVMBackend] Makefiles are deprecated (authored by cbieneman).
Changed prior to commit:
http://reviews.llvm.org/D20700?vs=58688&id=58699#toc
Repository:
rL LLVM
http://reviews.llvm.org/D20700
Files:
llvm/trunk/docs/WritingAnLLVMBackend.rst
Index: llvm/trunk/docs/WritingAnLLVMBackend.rst
===================================================================
--- llvm/trunk/docs/WritingAnLLVMBackend.rst
+++ llvm/trunk/docs/WritingAnLLVMBackend.rst
@@ -135,14 +135,13 @@
files related to your target. If your target is called "Dummy", create the
directory ``lib/Target/Dummy``.
-In this new directory, create a ``Makefile``. It is easiest to copy a
-``Makefile`` of another target and modify it. It should at least contain the
-``LEVEL``, ``LIBRARYNAME`` and ``TARGET`` variables, and then include
-``$(LEVEL)/Makefile.common``. The library can be named ``LLVMDummy`` (for
-example, see the MIPS target). Alternatively, you can split the library into
-``LLVMDummyCodeGen`` and ``LLVMDummyAsmPrinter``, the latter of which should be
-implemented in a subdirectory below ``lib/Target/Dummy`` (for example, see the
-PowerPC target).
+In this new directory, create a ``CMakeLists.txt``. It is easiest to copy a
+``CMakeLists.txt`` of another target and modify it. It should at least contain
+the ``LLVM_TARGET_DEFINITIONS`` variable. The library can be named ``LLVMDummy``
+(for example, see the MIPS target). Alternatively, you can split the library
+into ``LLVMDummyCodeGen`` and ``LLVMDummyAsmPrinter``, the latter of which
+should be implemented in a subdirectory below ``lib/Target/Dummy`` (for example,
+see the PowerPC target).
Note that these two naming schemes are hardcoded into ``llvm-config``. Using
any other naming scheme will confuse ``llvm-config`` and produce a lot of
@@ -156,13 +155,12 @@
subclass of ``LLVMTargetMachine``. (To create a target from scratch, create a
subclass of ``TargetMachine``.)
-To get LLVM to actually build and link your target, you need to add it to the
-``TARGETS_TO_BUILD`` variable. To do this, you modify the configure script to
-know about your target when parsing the ``--enable-targets`` option. Search
-the configure script for ``TARGETS_TO_BUILD``, add your target to the lists
-there (some creativity required), and then reconfigure. Alternatively, you can
-change ``autoconf/configure.ac`` and regenerate configure by running
-``./autoconf/AutoRegen.sh``.
+To get LLVM to actually build and link your target, you need to run ``cmake``
+with ``-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=Dummy``. This will build your
+target without needing to add it to the list of all the targets.
+
+Once your target is stable, you can add it to the ``LLVM_ALL_TARGETS`` variable
+located in the main ``CMakeLists.txt``.
Target Machine
==============
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20700.58699.patch
Type: text/x-patch
Size: 2566 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160526/7a468f1c/attachment.bin>
More information about the llvm-commits
mailing list