[odb-users] odb-2.2.1 should install the odb.so plugin into
$(gcc -print-file-name=plugin)
Boris Kolpackov
boris at codesynthesis.com
Mon Mar 11 08:06:44 EDT 2013
Hi Hugo,
Hugo.Mildenberger at web.de <Hugo.Mildenberger at web.de> writes:
> And I was trying to say that one has to defer this test until ODB runs
> on the designated target machine ("run-time test").
But we need the plugin include directory during build time.
Anyway, here is the plan that I think will address all the issues:
1. Add --{with,without}-gcc-plugin-dir option to ODB configure. This
option can be used as follows:
a) --with-gcc-plugin-dir: force installing into GCC's plugin dir
with is obtainer by running $CXX -print-file-name=plugin
b) --without-gcc-plugin-dir: force installing into $libexecdir/odb/
even if test #2.b below succeeds.
c) --with-gcc-plugin-dir=/path/to/gcc/plugin/dir: install plugin
into the specified directory. This method will have to be used
for cross-compilation.
2. If we are not cross-compiling, then:
b) If $libexecdir is a prefix of `$CXX -print-file-name=plugin`,
then install into the gcc plugin dir. One can use
--without-gcc-plugin-dir to override this.
c) Use `$CXX -print-file-name=plugin`/include as the plugin include
directory.
3. If we are cross-compiling then the user will have to specify the
plugin include directory via the CPPFLAGS configure variable.
4. If the plugin is installed into the GCC plugin dir, then the ODB
compiler driver will obtain the GCC's plugin dir at runtime,
append the plugin name (odb.so) and pass this absolute path to
-fplugin. This way things will work consistently with GCC 4.5
(which doesn't support short plugin name) and later.
Do you see any problems with this plan?
Boris
More information about the odb-users
mailing list