Page MenuHomePhabricator

meson: add docs

Authored by bu5hm4n on Apr 5 2019, 2:13 AM.



this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.

ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.

Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)

While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.

fix T7781

Depends on D8690

Diff Detail

rEFL core/efl
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
bu5hm4n created this revision.Apr 5 2019, 2:13 AM
bu5hm4n requested review of this revision.Apr 5 2019, 2:13 AM

The changes to the doxyfile do not seem to affect make doc with autotools.

zmike added a comment.Apr 5 2019, 5:19 AM

Wow, that was quick.

A change I'd like to see for the doc build (which is not directly related to this) is to have it run entirely in-tree like all the tests do. Currently it loads all its resources and such from the system, but this is not ideal. I think this just requires EFL_RUN_IN_TREE to be set?

bu5hm4n updated this revision to Diff 21237.Apr 5 2019, 5:32 AM

Its way easier when you don't have to fight the odds of autotools. :D

zmike accepted this revision.Apr 18 2019, 6:32 AM
This revision is now accepted and ready to land.Apr 18 2019, 6:32 AM
zmike requested changes to this revision.Apr 18 2019, 7:22 AM has a lot of errors from this patch

This revision now requires changes to proceed.Apr 18 2019, 7:22 AM
bu5hm4n updated this revision to Diff 21502.Apr 19 2019, 12:58 AM

fixed now in:

the only failure is unrelated to this.

I am actually not sure if i am so happy with the solution right now. The doxygen check here is the only place where things in the build are enabled based on the dependencies. However, ninja doc is not executed by default at all. So *if* someone wants to have hit, he needs to explicitly run ninja doc, and that target will not be available when the dependency is missing.

This is failing for me during the meson configure step:

doc/ ERROR:  Argument <EnvironmentVariables: [(<bound method EnvironmentVariables.set of <EnvironmentVariables: [...]>>, 'MONO_PATH', ['/home/xartigas/repos/efl-meson/build/src/bindings/mono'], {}), (<bound method EnvironmentVariables.set of <EnvironmentVariables: [...]>>, 'LD_LIBRARY_PATH', ['/home/xartigas/repos/efl-meson/build/src/lib/eina/:/home/xartigas/repos/efl-meson/build/src/lib/ecore/:/home/xartigas/repos/efl-meson/build/src/lib/eo/:/home/xartigas/repos/efl-meson/build/src/lib/efl/:/home/xartigas/repos/efl-meson/build/src/lib/evas_goal/:/home/xartigas/repos/efl-meson/build/src/lib/eldbus/:/home/xartigas/repos/efl-meson/build/src/lib/elementary/:'], {})]> in "command" is invalid
bu5hm4n updated this revision to Diff 21566.Apr 23 2019, 8:31 AM
bu5hm4n edited the summary of this revision. (Show Details)


OK, I can pass the meson configure step now, but ninja doc still segfaults a lot for me. Backtrace and some gdb info here: P285
Will continue investigating.

the preview code of genlist2 does not init its function table correctly ... maybe that is the reason this is happening ?

That was exactly the problem, thanks. Fixed in D8697.

segfaultxavi accepted this revision.Apr 24 2019, 2:10 AM

One step closer to using meson for everything. Nice.

The generated HTML pages seem to be alright (at least, they look as good as the ones obtained with make doc).

This revision was not accepted when it landed; it landed in state Needs Review.Apr 30 2019, 3:17 AM
Closed by commit rEFL4f5b3b95fb1a: meson: add docs (authored by Marcel Hollerbach <>, committed by segfaultxavi). · Explain Why
This revision was automatically updated to reflect the committed changes.