[Geany-devel] geany-plugins-0.17 released

Chow Loong Jin hyperair at xxxxx
Fri Jul 17 06:06:23 UTC 2009

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:
|-- ${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.

Kind regards,
Chow Loong Jin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.geany.org/pipermail/devel/attachments/20090717/c255e0a5/attachment.pgp>

More information about the Devel mailing list