diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-08 14:20:10 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-08 14:20:10 +0000 |
commit | 1e5facc386696b2ac2a9581275e5cc6d202619b3 (patch) | |
tree | a31aa9c0df21a5f60ea1d3843bfd29853f92355e /INSTALL/README-MELT-PLUGIN | |
parent | 73cc261b7febade25479926999ee99f544045243 (diff) | |
download | gcc-1e5facc386696b2ac2a9581275e5cc6d202619b3.tar.gz |
2013-10-08 Basile Starynkevitch <basile@starynkevitch.net>
* INSTALL/README-MELT-PLUGIN: Updated instructions still
incomplete for MELT 1.0 plugin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@203281 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'INSTALL/README-MELT-PLUGIN')
-rw-r--r-- | INSTALL/README-MELT-PLUGIN | 88 |
1 files changed, 62 insertions, 26 deletions
diff --git a/INSTALL/README-MELT-PLUGIN b/INSTALL/README-MELT-PLUGIN index c4197bbb139..8ed22879067 100644 --- a/INSTALL/README-MELT-PLUGIN +++ b/INSTALL/README-MELT-PLUGIN @@ -1,5 +1,5 @@ Short installation instructions for MELT as a plugin to an installed -gcc-4.7 or gcc-4.8 enabled for plugins. +gcc-4.7 or gcc-4.8 (or future gcc-4.9) enabled for plugins. See also http://gcc-melt.org/ @@ -47,7 +47,7 @@ tree, with the support of plugins enabled. ################ step 1 -First, ensure that GCC 4.6 or 4.7 or 4.8 is correctly installed and has been built +First, ensure that 4.7 or 4.8 is correctly installed and has been built with plugins enabled, for example (on a Debian Unstable, package gcc-4.8): % gcc-4.8 -v @@ -73,48 +73,54 @@ Then, be sure that the GCC plugin development support has been installed. (On Debian, you'll need e.g. the gcc-4.8-plugin-dev package). So you should have something like -% gcc-4.6 -print-file-name=plugin -/usr/lib/gcc/x86_64-linux-gnu/4.6.3/plugin +% gcc-4.8 -print-file-name=plugin +/usr/lib/gcc/x86_64-linux-gnu/4.8/plugin Be sure that this plugin subdirectory is populated correctly since it -contains an include file. +contains an include directory and probably a gengtype executable (and +perhaps more, e.g. your previous installation of MELT). -% ls -l $(gcc-4.6 -print-file-name=plugin) -total 4 -drwxr-xr-x 8 root root 20480 Mar 2 13:53 include +% ls -l $(gcc-4.8 -print-file-name=plugin) +-rwxr-xr-x 1 root root 172160 Sep 5 00:01 gengtype +-rw-r--r-- 1 root root 554675 Sep 4 23:47 gtype.state +drwxr-xr-x 9 root root 20480 Sep 11 09:24 include + + +Nota Bene: the gtype.state and gengtype files might perhaps be elsewhere. Be sure that this include subdirectory contains meaningful files for GCC, like those for GIMPLE -% ls -l $(gcc-4.6 -print-file-name=plugin)/include/gimple.* --rw-r--r-- 1 root root 13735 Mar 1 20:31 /usr/lib/gcc/x86_64-linux-gnu/4.6/plugin/include/gimple.def --rw-r--r-- 1 root root 123008 Mar 1 20:31 /usr/lib/gcc/x86_64-linux-gnu/4.6/plugin/include/gimple.h +% ls -l $(gcc-4.8 -print-file-name=plugin)/include/gimple.* +-rw-r--r-- 1 root root 14409 Sep 4 23:48 /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/gimple.def +-rw-r--r-- 1 root root 134641 Sep 4 23:48 /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/gimple.h +-rw-r--r-- 1 root root 1368 Sep 4 23:48 /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/gimple-pretty-print.h Be sure that the gengtype executable and its gtype.state textual data file is available somewhere. On Debian/Sid the package -gcc-4.6-plugin-dev provides: --rwxr-xr-x 1 root root 163840 Mar 1 20:38 /usr/lib/gcc/x86_64-linux-gnu/4.6/gengtype --rw-r--r-- 1 root root 614004 Mar 1 20:38 /usr/lib/gcc/x86_64-linux-gnu/4.6/gtype.state +gcc-4.8-plugin-dev provides them +If you have some previous MELT related files and directories it is +preferable but not necessary to remove them. You might have two different +releases of MELT for the same compiler but we don't recommend doing that. + +rm -rf $(gcc-4.8 -print-file-name=plugin)/*melt* -and you get these files with - $(gcc-4.6 -print-file-name=gengtype) -and - $(gcc-4.6 -print-file-name=gtype.state) -respectively Look with an editor, or just with the head command, that this gtype.state -file is indeed the one related to your gcc-4.6: -% head /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6/gtype.state +file is indeed the one related to your gcc-4.8: +% head /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/gtype.state ;;;;@@@@ GCC gengtype state ;;; DON'T EDIT THIS FILE, since generated by GCC's gengtype ;;; The format of this file is tied to a particular version of GCC. ;;; Don't parse this file wihout knowing GCC gengtype internals. ;;; This file should be parsed by the same gengtype which wrote it. -;;; file gtype.state generated on Thu Mar 1 16:22:41 2012 + +(!version "4.8.1") + +(!srcdir "../../src/gcc") -(!version "4.6.3") @@ -139,8 +145,8 @@ As root, copy it appropriately: #### uninstallation Since all MELT related files are installed under -$(gcc-4.6 -print-file-name=plugin) you can just do as root - rm -v -r -f $(gcc-4.6 -print-file-name=plugin)/*melt* +$(gcc-4.8 -print-file-name=plugin) you can just do as root + rm -v -r -f $(gcc-4.8 -print-file-name=plugin)/*melt* to uninstall MELT @@ -148,7 +154,7 @@ to uninstall MELT ########## For packagers Notice that the MELT plugin should be entirely rebuilt even for small changes of the compiler (e.g. when upgrading gcc from -4.6.2 to 4.6.3). +4.8.1 to 4.8.2). @@ -180,6 +186,36 @@ the subject line] and to <gcc-melt@googlegroups.com> ################################################################ +NEWS for 1.0 MELT plugin for GCC 4.7 & 4.8 [and future 4.9?] +[[mid-october, 2013]] + +This is a major release (with perhaps some small incompatibilities +with previous MELT plugin releases). A lot of new features are +appearing. Much more ability to mix arbitrary C/C++ & MELT code in any +way, and lots of new features both inside the MELT language and the +MELT plugin, even for newbies. Some modes are now available and could +be useful even without understanding much of the MELT domain specific +language. + +MELT 1.0 is usable with GCC 4.7 and 4.8 but not usable for GCC 4.6, +because it requires a GCC compiler written in C++ and because it is +generating C++ code. + + End-user improvements + ===================== + + **** + * Several MELT modes are usable without real knowledge of MELT + domain specific language, notably -fplugin-arg-melt-mode=findgimple + (to find all gimples matching some given gimple pattern in all + functions whose declaration matches a given tree pattern) and + -fplugin-arg-melt-mode=justcountipa (to count gimples and basic + blocks at the Inter-Procedural Analysis stage). + + +@@@@ Incomplete + +################################################################ NEWS for 0.9.9 MELT plugin for GCC 4.6 & 4.7 & 4.8 [[june, 22nd, 2013]] |