I realize this is a more-or-less direct port from the Autotools build system, 
but is it in the scope of this WIP PR to re-organize it to be more Meson-like, 
or rather to get rid of Autotools-style/cruft?

A few things that stick out:

 * Compiling all the things into helper static libs (Scintilla, Ctags, etc) 
which are not distributed and only used to build the shared libgeany. These 
could all be built into a single `shared_library` and delimit the source file 
(directories) in the arguments list with newlines and/or comments.
 * Checking for C headers which are guaranteed to exist (ex. C99 headers)
 * Using the built-in Pkgconfig module to generate .pc file
 * Different `extra_data` filenames for Windows (could be done in the 
`geany.nsi` script probably)
 * If we're going to use subdir(), why not subdir() into the `src` dir as well 
to move the libgeany/geany into a smaller file? Otherwise, maybe all of the 
things could be done in the same huge source of truth `meson.build` file in the 
source root directory?
 * Use the `/` path operator instead of `join_paths()` as well as for other 
paths where now they're just regular strings. Not sure what's idiomatic.
 * Is any explicit `rpath` stuff really needed? I only use Meson for small Vala 
projects, but in my uses it easily handles installing executables linked to 
shared libraries using correct paths for the distro.

Maybe we could do like?

  1. Merge this sort of direct-port PR once ready
  2. Do stuff like listed above to Mesonify in a separate PR(s) afterwards
  3. Once Meson build is nice and clean and maintainable, rip out Autotools

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2761#issuecomment-896427102

Reply via email to