GNOME Bugzilla – Bug 751128
build: make it possible to disable the backend build
Last modified: 2015-09-11 15:58:22 UTC
This was something I wrote a while ago to make g-o-a more friendly to xdg-app, but never remembered to attach here for review. The idea is that an application that wants to bundle g-o-a should not need to build all the backend components. Feedback welcome!
Created attachment 305502 [details] [review] build: make it possible to disable the backend build The backend will typically be a core OS component, where the client library can be bundled with applications. Make it possible to build the latter without the former.
Adding Alex to CC.
Review of attachment 305502 [details] [review]: Thanks for the patch, Cosimo. This is interesting. ::: Makefile.am @@ +6,3 @@ +if BUILD_BACKEND +SUBDIRS += telepathy-account-widgets +endif telepathy-account-widgets needs to be built before src, I think. I haven't hit a build failure yet, but see below. ::: src/Makefile.am @@ +6,3 @@ +if BUILD_BACKEND +SUBDIRS += daemon goabackend goaidentity +endif The order actually matters. You can't build the examples (with --enable-backend) before goabackend has been built because goabackend.h includes a build generated header. Similarly you can't build the daemon before goabackend. The build will fail if you start from a clean git tree. ::: src/examples/Makefile.am @@ +32,3 @@ add_pocket_LDADD = $(GLIB_LIBS) $(REST_LIBS) ../goa/libgoa-1.0.la +noinst_PROGRAMS += add-pocket +endif Nit: Do you mind keeping the original format? ie. noinst_PROGRAMS = list-providers add-pocket, and then listing the sources in two paragraphs?
Created attachment 305517 [details] [review] build: Make it possible to disable the backend build I adjusted the Makefile.ams to make it build with --enable-backend. However, it fails while generating the documentation for --disable-backend build. What is the recommendation for application bundle builds? Shall we disable the documentation?
In general i disable the devel docs when building specifically for a bundled build. There really is no need to ship that in the final app, so why build it? User docs are a different thing though.
Created attachment 311163 [details] [review] build: Make it possible to disable the backend build Pushed after disabling the developer documentation and the gsettings schema. The settings are only used by the backend.