GNOME Bugzilla – Bug 793842
Port to meson build system
Last modified: 2020-11-13 23:38:23 UTC
meson is a build system focused on speed an ease of use, which helps speeding up the software development [1]. This is a work in progress port to meson build system, just released for comments. Development branch is on GitLab [2]. [1] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting [2] https://gitlab.gnome.org/martinblanchard/gtksourceview/tree/wip/mablanch/meson
Created attachment 368946 [details] [review] Fix gtksourceview.c includes
Created attachment 368947 [details] [review] Fix gtksourcegutterrenderer.c includes
Created attachment 368948 [details] [review] Port to meson build system Work in progress, early comments are welcome. Thinks that need to be sorted out: * gtk-doc building is failing: figure out how to deal with xml files that need pre-processing or avoid having to pre-process them. * Word completion provider does not get introspected: find a elegant way for passing the relative path of the source to generate_gir(). * Due to the introspection problem above, vapi file also is incomplete. * Test lang-specs and styles do not get installed (as part of installed tests): is it really needed? * There is probably more.
Created attachment 369025 [details] [review] Port to meson build system Second version, still work in progress, comments are welcome. Thinks that need to be sorted out: * gtk-doc building is failing: figure out how to deal with xml files that need pre-processing or avoid having to pre-process them. * Test lang-specs and styles do not get installed (as part of installed tests): is it really needed? * There is probably more.
Review of attachment 368946 [details] [review]: ++
Review of attachment 368947 [details] [review]: ++
Review of attachment 369025 [details] [review]: Thanks for the initiative! As soon as GSV 4.0 is released (at the same time as GNOME 3.28), I'll merge the meson patch, the Autotools will still be used, but it's fine to have the meson files in parallel. When the meson build works fine, we can drop all the Autotools files and switch to meson. For meson I have only one non-standard requirement: Add this comment at the top of the root meson.build file: # Convention: # - Local variables in lower_case. # - Global variables in UPPER_CASE. # See: https://github.com/mesonbuild/meson/issues/2607 And follow the convention, it'll make the code easier to understand.
Do you have write access on git.gnome.org?
Review of attachment 369025 [details] [review]: You should also add the msvc pragmas. See other meson files for a reference, i.e glib-openssl or libgit2-glib
Pushed the first two commits: commit 16db686c0b3170d9ec4d7c7eda4a8e9c0fb1c544 commit 7c22af08fa0ef62c75e2c8ff97cad9c7fb05a320
Created attachment 369192 [details] [review] Avoid substitutions in gtk-doc's xml content files
I've ported Devhelp to meson. For GtkSourceView I prefer that it follows closely what Devhelp is doing, also for the coding style conventions etc. Of course if you see some possible improvements in Devhelp, comments are welcome. I also prefer small commits, start simple, and build more stuff is subsequent commits. Don't post a huge commit with the whole build system, nor a branch with 100 commits. If you have e.g. 5 simple commits, I can start the review, so with my early comments you'll better know how to do the rest.
GtkSourceView uses meson (and only meson) now. Closing.