On Friday 17,July,2009 01:11 PM, Lex Trotman wrote:
Hi,
I don't think geany-plugins has any include files does it?
I mean the geany .h files that define the plugin interface and which geany plugins includes when it builds. They are in ${prefix}/include/geany Also needs to link with libraries in ${prefix}/lib/geany
AFAIK, ${prefix}/lib/geany contains only plugins, and they should not be used for linking.
Or are you
talking about geany? Either way, geany-plugins installs its own files into the prefix given by --prefix, but installs the actual plugins into the Geany plugins directory (Geany's prefix/lib) given by pkg-config. The reason this is done is because Geany wouldn't be able to find the plugin to load otherwise.
Sure but a Geany built by configure --prefix xxx; make install will not leave a pkg-config trail AFAIK, and if it did it would then hide the system installed version.
Update to this, it leaves it in ${prefix}/lib/pkgconfig so maybe what needs to be done is to point pkg-config at that somehow. Example attached which shows the right symbol values from the Geany make. The plugins just need to use the same.
This means that new versions can't be tested while there is still a system installed version.
Essentially the plugins builder should respect --prefix if present otherwise use pkg-config to find the installed version.
How about a --with-geany-pluginsdir=PATH argument instead? I think --prefix serves a rather different purpose.
Maybe an option needs to point at the pkg-config & then all the symbols can come from there.
Alright, so the current structure is something like this: ${DESTDIR} |-- ${geany_plugins_prefix} | |-- lib | | `-- geany-plugins | | `-- ${plugin} | | `-- files | `-- share | |-- doc | | `-- geany-plugins | | `-- ${plugin} | | `-- files | `-- geany-plugins | `-- ${plugin} | `-- files `-- ${geany_prefix} `-- lib `-- geany |-- ${plugin}.la `-- ${plugin}.so
Currently, ${geany_prefix} is grabbed from geany.pc using pkg-config, not customizable, and ${geany_plugins_prefix} defaults to /usr/local, customizable via --prefix=PATH. Incidentally, ${geany_prefix} also contains Geany's include files.
From what I understand, what we want here is the ability to customize ${geany_prefix}. The way I see it, we have two options of implementing this functionality. The first is to keep ${geany_plugins_prefix} separate from ${geany_prefix}, or to force them to be the same.
In the first case, we would have ${geany_plugins_prefix} set by --prefix=PATH, and ${geany_prefix} set by --with-geany-prefix=PATH.
In the second case, we force ${geany_plugins_prefix} to be = ${geany_prefix}, so we default ${geany_plugins_prefix} and ${geany_prefix} to the prefix grabbed from geany.pc, and then let both paths to be customized using --prefix=PATH.
In both cases, PKG_CONFIG_PATH will be set to ${geany_prefix}/lib/pkgconfig in order to make sure the correct include files are used when using pkg-config --cflags.
I'd like to hear opinions from the plugin developers as to which is more favourable before making any changes.