diff options
Diffstat (limited to 'lang/dragonegg46-33/files')
-rw-r--r-- | lang/dragonegg46-33/files/hello.c | 9 | ||||
-rw-r--r-- | lang/dragonegg46-33/files/patch-README | 82 |
2 files changed, 91 insertions, 0 deletions
diff --git a/lang/dragonegg46-33/files/hello.c b/lang/dragonegg46-33/files/hello.c new file mode 100644 index 000000000000..ed9e8e960a10 --- /dev/null +++ b/lang/dragonegg46-33/files/hello.c @@ -0,0 +1,9 @@ +/* $FreeBSD$ */ +#include <stdio.h> + +int +main(void) +{ + printf("hello\n"); + return 0; +} diff --git a/lang/dragonegg46-33/files/patch-README b/lang/dragonegg46-33/files/patch-README new file mode 100644 index 000000000000..dcffeeb1d7a4 --- /dev/null +++ b/lang/dragonegg46-33/files/patch-README @@ -0,0 +1,82 @@ + +$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 - |