mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Add example/Skeleton.
This is a template that can be used to build your own LLVMC-based drivers. It can be also useful as a "bare-bones" LLVMC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65944 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
03c050f018
commit
283bb58332
@ -9,9 +9,6 @@
|
||||
|
||||
LEVEL = ../..
|
||||
|
||||
# The current plan is to make the user copy the skeleton project and change only
|
||||
# this file (and plugins/UserPlugin, of course).
|
||||
|
||||
export LLVMC_BASED_DRIVER_NAME = llvmc
|
||||
export LLVMC_BUILTIN_PLUGINS = Base Clang
|
||||
|
||||
|
24
tools/llvmc/example/Skeleton/Makefile
Normal file
24
tools/llvmc/example/Skeleton/Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
##===- llvmc/example/Skeleton/Makefile ---------------------*- Makefile -*-===##
|
||||
#
|
||||
# The LLVM Compiler Infrastructure
|
||||
#
|
||||
# This file is distributed under the University of Illinois Open
|
||||
# Source License. See LICENSE.TXT for details.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
# Change this so that $(BASE_LEVEL)/Makefile.common refers to
|
||||
# $LLVM_DIR/Makefile.common.
|
||||
export LLVMC_BASE_LEVEL = ../../../..
|
||||
|
||||
# Change this to the name of your LLVMC-based driver.
|
||||
export LLVMC_BASED_DRIVER_NAME = llvmc-skeleton
|
||||
|
||||
# List your plugin names here
|
||||
export LLVMC_BUILTIN_PLUGINS = # Plugin
|
||||
|
||||
LEVEL = $(LLVMC_BASE_LEVEL)
|
||||
|
||||
DIRS = plugins driver
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
6
tools/llvmc/example/Skeleton/README
Normal file
6
tools/llvmc/example/Skeleton/README
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
This is a template that can be used to create your own LLVMC-based drivers. Just
|
||||
copy the `Skeleton` directory to the location of your preference and edit
|
||||
`Skeleton/Makefile` and `Skeleton/plugins/Plugin`.
|
||||
|
||||
The build system assumes that your project is based on LLVM.
|
14
tools/llvmc/example/Skeleton/driver/Main.cpp
Normal file
14
tools/llvmc/example/Skeleton/driver/Main.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
//===--- Main.cpp - The LLVM Compiler Driver -------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open
|
||||
// Source License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Just include CompilerDriver/Main.inc.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/CompilerDriver/Main.inc"
|
22
tools/llvmc/example/Skeleton/driver/Makefile
Normal file
22
tools/llvmc/example/Skeleton/driver/Makefile
Normal file
@ -0,0 +1,22 @@
|
||||
##===- llvmc/example/Skeleton/driver/Makefile --------------*- Makefile -*-===##
|
||||
#
|
||||
# The LLVM Compiler Infrastructure
|
||||
#
|
||||
# This file is distributed under the University of Illinois Open
|
||||
# Source License. See LICENSE.TXT for details.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
LEVEL = $(LLVMC_BASE_LEVEL)/..
|
||||
|
||||
TOOLNAME = $(LLVMC_BASED_DRIVER_NAME)
|
||||
LLVMLIBS = CompilerDriver
|
||||
|
||||
ifneq ($(LLVMC_BUILTIN_PLUGINS),)
|
||||
USEDLIBS += $(patsubst %,plugin_llvmc_%,$(LLVMC_BUILTIN_PLUGINS))
|
||||
endif
|
||||
|
||||
LINK_COMPONENTS = support system
|
||||
REQUIRES_EH := 1
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
18
tools/llvmc/example/Skeleton/plugins/Makefile
Normal file
18
tools/llvmc/example/Skeleton/plugins/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
##===- llvmc/example/Skeleton/plugins/Makefile -------------*- Makefile -*-===##
|
||||
#
|
||||
# The LLVM Compiler Infrastructure
|
||||
#
|
||||
# This file is distributed under the University of Illinois Open
|
||||
# Source License. See LICENSE.TXT for details.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
LEVEL = $(LLVMC_BASE_LEVEL)/..
|
||||
|
||||
ifneq ($(LLVMC_BUILTIN_PLUGINS),)
|
||||
DIRS = $(LLVMC_BUILTIN_PLUGINS)
|
||||
endif
|
||||
|
||||
export LLVMC_BUILTIN_PLUGIN=1
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
17
tools/llvmc/example/Skeleton/plugins/Plugin/Makefile
Normal file
17
tools/llvmc/example/Skeleton/plugins/Plugin/Makefile
Normal file
@ -0,0 +1,17 @@
|
||||
##===- llvmc/example/Skeleton/plugins/Plugin/Makefile ------*- Makefile -*-===##
|
||||
#
|
||||
# The LLVM Compiler Infrastructure
|
||||
#
|
||||
# This file is distributed under the University of Illinois Open Source
|
||||
# License. See LICENSE.TXT for details.
|
||||
#
|
||||
##===----------------------------------------------------------------------===##
|
||||
|
||||
LEVEL = $(LLVMC_BASE_LEVEL)/../..
|
||||
|
||||
# Change this to the name of your plugin.
|
||||
LLVMC_PLUGIN = Plugin
|
||||
|
||||
BUILT_SOURCES = AutoGenerated.inc
|
||||
|
||||
include $(LEVEL)/Makefile.common
|
7
tools/llvmc/example/Skeleton/plugins/Plugin/Plugin.td
Normal file
7
tools/llvmc/example/Skeleton/plugins/Plugin/Plugin.td
Normal file
@ -0,0 +1,7 @@
|
||||
//===- Plugin.td - A skeleton plugin for LLVMC -------------*- tablegen -*-===//
|
||||
//
|
||||
// Write the code for your plugin here.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "llvm/CompilerDriver/Common.td"
|
@ -0,0 +1 @@
|
||||
#include "AutoGenerated.inc"
|
Loading…
Reference in New Issue
Block a user