GNOME Bugzilla – Bug 794087
Port to meson build system
Last modified: 2018-05-22 13:13:36 UTC
meson is a build system focused on speed an ease of use, which helps speeding up the software development [1]. Porting attempt development branch is on GitLab [2]. [1] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting [2] https://gitlab.gnome.org/martinblanchard/gtk-doc/tree/wip/mablanch/meson
Created attachment 369374 [details] [review] Port to meson build system Work in progress, early comments are welcome. Thinks that need to be sorted out: * Build and check the output of test documentation! * There is probably more.
Created attachment 369567 [details] [review] Port to meson build system Still a work in progress, early comments are welcome. Things that need to be sorted out: * Some test generated doc does not pass gtkdoc-check: needs investigation. * Find a better way of passing gtkdoc-scangobj CFLAGS and LDFLAGS... * Maybe more.
Thanks for looking into this. I am hard working to kill the whole xslt toolchain which will turn gtkdoc into a pure python package and most likely this will become easier. Due to this I don't have much resources for anything beyond, maybe you could come to #gtkdoc and we could discuss this.
For the tests - there are normal unit test and the integration tests. For the later, what about not building them with automake at all. I made one simplification: commit b5e8087b420525bd6d86dee2653afda2fa0851db (HEAD -> master, origin/master, origin/HEAD) Author: Stefan Sauer <ensonic@users.sf.net> Date: Sun May 6 21:46:54 2018 +0200 tests: directly build the integration test modules Instead of building the via automakes SUBDIR features, call make from gtkdoctest.sh. This is isolating the automake dependency a little. Next'll try to merge sanity.sh into the sh tests for each of the doc modules. Then we could change gtkdoctest.sh to not call "make" for the doc-dir, but instead just run the gtkdoc-xxxx tools directly. make is used to track dependencies, but here we just want to call the tools. If you would like to give this part a go that'd be super helpful.
One more thing. Since you are not removing autotools, both will work in parallel, right. If you can confirm that it is still good (maybe rebase), we could merge this as step one. And then continue with the tests. Sounds like a plan?
Created attachment 371915 [details] [review] Port to meson build system I've rebased my branch and updated the patch. Simply run the gtkdoc-xxxx tools directly is that I've been trying to do, using Python helpers scripts for integration, without being very successful so far...
Thanks, I've merged your changes. A silly question, I have only used meson once or twice and like to add a paragraph to the README. Could you let me know what one should run to 1.) build it from git (./autogen.sh && make) 2.) install it (make install) 3.) run tests (make check) 4.) make a release (make dist or make distcheck) Thanks.
Sure! Assuming Ninja (default on linux): > 1.) build it from git (./autogen.sh && make) meson build . Or with options: meson build . --prefix= meson build . -Dautoconf_support=false meson build . -Dcmake_support=false meson build . -Dyelp_manual=false And then: ninja -C build > 2.) install it (make install) ninja -C build install > 3.) run tests (make check) ninja -C build test > 4.) make a release (make dist or make distcheck) ninja -C build dist http://mesonbuild.com/Quick-guide.html#compiling-a-meson-project http://mesonbuild.com/Creating-releases.html
Thanks, added to the README. I also restructured the build support files a bit. The build is indeed super fast. I'll look into the tests too.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk-doc/issues/41.