summaryrefslogtreecommitdiff
path: root/INSTALL/README-MELT-PLUGIN
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-08 14:20:10 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-08 14:20:10 +0000
commit1e5facc386696b2ac2a9581275e5cc6d202619b3 (patch)
treea31aa9c0df21a5f60ea1d3843bfd29853f92355e /INSTALL/README-MELT-PLUGIN
parent73cc261b7febade25479926999ee99f544045243 (diff)
downloadgcc-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-PLUGIN88
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]]