configure.ac (plugin-version.h): Generate GCCPLUGIN_VERSION_MAJOR...

2011-07-06  Basile Starynkevitch  <basile@starynkevitch.net>

	* configure.ac (plugin-version.h): Generate
	GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
	GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
	macros.

	* configure: Regenerate.

	* doc/plugins.texi (Building GCC plugins): Mention
	GCCPLUGIN_VERSION ... constant macros in plugin-version.h.

From-SVN: r175923
This commit is contained in:
Basile Starynkevitch 2011-07-06 16:37:09 +00:00 committed by Basile Starynkevitch
parent c8ecdaba87
commit bf5884559b
4 changed files with 35 additions and 2 deletions

View File

@ -1,3 +1,15 @@
2011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
* configure.ac (plugin-version.h): Generate
GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
macros.
* configure: Regenerate.
* doc/plugins.texi (Building GCC plugins): Mention
GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.

9
gcc/configure vendored
View File

@ -11072,6 +11072,11 @@ fi
cat > plugin-version.h <<EOF
#include "configargs.h"
#define GCCPLUGIN_VERSION_MAJOR `echo $gcc_BASEVER | sed -e 's/^\([0-9]*\).*$/\1/'`
#define GCCPLUGIN_VERSION_MINOR `echo $gcc_BASEVER | sed -e 's/^[0-9]*\.\([0-9]*\).*$/\1/'`
#define GCCPLUGIN_VERSION_PATCHLEVEL `echo $gcc_BASEVER | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$/\1/'`
#define GCCPLUGIN_VERSION (GCCPLUGIN_VERSION_MAJOR*1000 + GCCPLUGIN_VERSION_MINOR)
static char basever[] = "$gcc_BASEVER";
static char datestamp[] = "$gcc_DATESTAMP";
static char devphase[] = "$gcc_DEVPHASE";
@ -17623,7 +17628,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 17626 "configure"
#line 17631 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -17729,7 +17734,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 17732 "configure"
#line 17737 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H

View File

@ -1511,6 +1511,11 @@ fi
cat > plugin-version.h <<EOF
#include "configargs.h"
#define GCCPLUGIN_VERSION_MAJOR `echo $gcc_BASEVER | sed -e 's/^\([0-9]*\).*$/\1/'`
#define GCCPLUGIN_VERSION_MINOR `echo $gcc_BASEVER | sed -e 's/^[0-9]*\.\([0-9]*\).*$/\1/'`
#define GCCPLUGIN_VERSION_PATCHLEVEL `echo $gcc_BASEVER | sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\)$/\1/'`
#define GCCPLUGIN_VERSION (GCCPLUGIN_VERSION_MAJOR*1000 + GCCPLUGIN_VERSION_MINOR)
static char basever[] = "$gcc_BASEVER";
static char datestamp[] = "$gcc_DATESTAMP";
static char devphase[] = "$gcc_DEVPHASE";

View File

@ -417,6 +417,17 @@ invoking @command{gcc -print-file-name=plugin} (replace if needed
Inside plugins, this @code{plugin} directory name can be queried by
calling @code{default_plugin_dir_name ()}.
Plugins may know, when they are compiled, the GCC version for which
@file{plugin-version.h} is provided. The constant macros
@code{GCCPLUGIN_VERSION_MAJOR}, @code{GCCPLUGIN_VERSION_MINOR},
@code{GCCPLUGIN_VERSION_PATCHLEVEL}, @code{GCCPLUGIN_VERSION} are
integer numbers, so a plugin could ensure it is built for GCC 4.7 with
@smallexample
#if GCCPLUGIN_VERSION != 4007
#error this GCC plugin is for GCC 4.7
#endif
@end smallexample
The following GNU Makefile excerpt shows how to build a simple plugin:
@smallexample