82 lines
3.2 KiB
Text
82 lines
3.2 KiB
Text
|
|
$FreeBSD$
|
|
|
|
--- README.orig
|
|
+++ README
|
|
@@ -1,74 +1,9 @@
|
|
----------------------
|
|
-- BUILD INSTRUCTIONS -
|
|
-----------------------
|
|
-
|
|
-Prerequisites
|
|
--------------
|
|
-
|
|
-The dragonegg plugin works with gcc 4.5, 4.6, 4.7 or 4.8, so you will need to
|
|
-have one of these installed. Many linux distributions ship one or both of them,
|
|
-perhaps as an addon package; binaries can be downloaded for most platforms.
|
|
-Otherwise you can always build gcc yourself. Plugin support (--enable-plugin)
|
|
-needs to be enabled in gcc, but since it is enabled by default on most platforms
|
|
-you usually won't need to do this explicitly.
|
|
-
|
|
-Step 0: Build and install llvm
|
|
-------------------------------
|
|
-
|
|
-I'm assuming anyone reading this knows how to build and install llvm. The
|
|
-version of llvm must match the version of the plugin, so if you are building
|
|
-dragonegg-3.0 then you should use llvm-3.0, while if you are building the
|
|
-development version of dragonegg then use the development version of llvm.
|
|
-
|
|
-
|
|
-Step 1: Build the plugin
|
|
-------------------------
|
|
-
|
|
-Build the plugin like this:
|
|
- GCC=PATH_TO_INSTALLED_GCC make
|
|
-This command should be executed in the directory containing this README.
|
|
-
|
|
-The plugin needs to know about the version of gcc it will be loaded into, which
|
|
-is why you need to specify your version of gcc 4.5/4.6 via the GCC variable like
|
|
-this. For example, if the version of gcc you want to load the plugin into is
|
|
-/usr/local/gcc-4.6/bin/gcc, then you should do
|
|
- GCC=/usr/local/gcc-4.6/bin/gcc make
|
|
-If you don't set the GCC variable then by default "gcc" is used, so you
|
|
-can just do
|
|
- make
|
|
-if you plan to use the plugin with whatever version of gcc is in your path.
|
|
-
|
|
-The plugin makes use of various gcc headers that are usually shipped with gcc.
|
|
-However some linux distributions, for example debian and ubuntu, have split the
|
|
-headers out of gcc into a separate package. So if you get errors along the
|
|
-lines of "config.h not found", check whether gcc headers like "config.h" and
|
|
-"tree.h" are installed. On debian the package containing headers is called
|
|
-gcc-4.5-plugin-dev or gcc-4.6-plugin-dev.
|
|
-
|
|
-The plugin is compiled using the system compiler, and not with the gcc specified
|
|
-in the GCC variable (which wouldn't work if it is a cross compiler). If you
|
|
-want to also compile the plugin with your copy of gcc 4.5/4.6, you can do:
|
|
- CXX=PATH_TO_INSTALLED_GCC GCC=PATH_TO_INSTALLED_GCC make
|
|
-
|
|
-The build system runs the "llvm-config" program (which should be in your path if
|
|
-you installed llvm properly in step 0) to find out about the copy of LLVM you
|
|
-installed, so there is no need to tell the build system explicitly about LLVM.
|
|
-If llvm-config is not in your path then you can specify where to find it using
|
|
-the LLVM_CONFIG variable.
|
|
-
|
|
-The end result of the build is a shared library, dragonegg.so.
|
|
-
|
|
-If you want the dragonegg plugin to be able to load LLVM plugins then pass
|
|
-ENABLE_LLVM_PLUGINS=1 to make.
|
|
-
|
|
-
|
|
-----------------------
|
|
- USAGE INSTRUCTIONS -
|
|
----------------------
|
|
|
|
-Run gcc as usual, but pass -fplugin=./dragonegg.so as an extra command line
|
|
-argument. Make sure you use the gcc you built dragonegg against (see step 1)!
|
|
-
|
|
+Run %CC% as usual, but pass -fplugin=%%PLUGINPATH%%
|
|
+as an extra command line argument.
|
|
|
|
------------------
|
|
- USEFUL OPTIONS -
|