forked from OSchip/llvm-project
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. llvm-svn: 65944
This commit is contained in:
parent
b5f56fc268
commit
33435e49a9
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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.
|
|
@ -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"
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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