[Geany-Devel] Linkage-Cleanup Build System Breakage

Matthew Brush mbrush at xxxxx
Sat Oct 25 18:37:53 UTC 2014

Hi All, and especially build system maintainers :)

I have made a pull request[0] to cleanup the symbol exports of Geany. 
The PR description pretty much covers the details. If I merge this, it's 
going to break the makefile.win32 files, Waf and possibly the Win32 
Nightly builds.

I can probably fix-up the makefile.win32 files if nobody else will as 
it's just plain GNU make and should be similar changes as the Autotools. 
It will require a couple more *nix utilities, namely `sed`, `sort`, and 
`uniq` (or a `sort` that supports the `-u` option). A quick search finds 
sed[1] and coreutils[2] which contains `sort` (probably with -u option) 
and `uniq`. I assume MSYS also includes these common utils.

I don't really know enough about Waf to fix it. Since it needs Python 
anyway, we could just use one of its XML libraries to grab the names 
from the GtkBuilder file, and do the replacements using its 
text-handling functions. It wouldn't require sed/sort utils. I 
originally had a Python script[3] doing this, but I'm just not sure how 
to integrate that code into Waf.

If the Win32 Nightlies break it will most likely be trivial changes to 
the Makefile.ams. I don't have an environment like it uses to test.

Geany-Plugins Autotools should be fine since it will pickup the new 
library from the pkg-config flags. There's a couple bugs in some (of my) 
plugins where it misses the needed linker flags which are trivial to 
fix. I don't know if Waf uses pkg-config or what, but if not, it will 
need to add the equivalent of something like `-L/geanys/lib/dir -lgeany` 
to be able to find and link to the new library.

Is everyone OK if this PR was merged to master and we had to fix up some 
build system stuff? Alternatively, I could also add anyone for push 
rights on my geany fork or push it to a branch on main geany repo if we 
wanted to sort-out the integration issues before merging to the main 
master branch.

Matthew Brush

[0]: https://github.com/geany/geany/pull/358
[1]: http://gnuwin32.sourceforge.net/packages/sed.htm
[2]: http://gnuwin32.sourceforge.net/packages/coreutils.htm

More information about the Devel mailing list