Please do not disturb. Sent from my HTC
On Feb 11, 2017 8:26 PM, desktop-devel-list-requ...@gnome.org wrote: > > Send desktop-devel-list mailing list submissions to > desktop-devel-list@gnome.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.gnome.org/mailman/listinfo/desktop-devel-list > or, via email, send a message with subject or body 'help' to > desktop-devel-list-requ...@gnome.org > > You can reach the person managing the list at > desktop-devel-list-ow...@gnome.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of desktop-devel-list digest..." > > > Today's Topics: > > 1. Re: Equivalent of recursive make with meson/ninja? > (Tim-Philipp M?ller) > 2. Re: Help building Gstreamer 1.10 (Sam Thursfield) > 3. Re: Equivalent of recursive make with meson/ninja? > (S?bastien Wilmet) > 4. Re: Equivalent of recursive make with meson/ninja? > (Nirbheek Chauhan) > 5. Re: Help building Gstreamer 1.10 (Sebastian Geiger (Lanoxx)) > 6. Re: Equivalent of recursive make with meson/ninja? > (S?bastien Wilmet) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 11 Feb 2017 11:54:40 +0000 > From: Tim-Philipp M?ller <t....@zen.co.uk> > To: desktop-devel-list@gnome.org > Subject: Re: Equivalent of recursive make with meson/ninja? > Message-ID: <1486814080.8973.1.ca...@zen.co.uk> > Content-Type: text/plain; charset="UTF-8" > > On Sat, 2017-02-11 at 12:31 +0100, S?bastien Wilmet wrote: > > Hi S?bastien, > > > > With the Autotools, recursive make is very convenient to re-build > > only the stuff present in a sub-directory. > > > > And with builddir == srcdir, it's convenient to do things like: > > $ cd src/ > > $ make > > $ touch file-that-i-modified.c > > $ make > > With meson/ninja, everything will end up in one single build.ninja file > (the equivalent to a Makefile). > > You'd just do > > touch foo.c > ninja > > and it will only recompile/relink the bits that have changed, and > nothing else. It will be very very fast in most cases. > > You can also do: > > touch foo.c > ninja?-C ../build > > if you prefer to be in the source dir. > > If you haven't got a full build yet and only want to build a single > target without building more than absolutely needed you can also just > do > > ninja -C ../build src/libfoobar.so.1.2.3 > > or somesuch (tab completion for targets should just work if you have > the right bits installed), but I'd expect that the normal use case is > that you do a full build and then just rebuild when things change. > > You'll also notice that 'ninja' is near-instantaneous if there are no > changes, compared to recursive make which can take tens of seconds to > do nothing in that case. (Just as a data point, why the recursive ninja > thing is not really needed.) > > > > I've tried this command in a project using meson: > > ``` > > $ meson . > > Error during basic setup: > > > > Source and build directories must not be the same. Create a pristine > > build directory. > > ``` > > > > So meson doesn't support builddir == srcdir. This is a no-go for me. > > That is correct, and unlikely to change, as I understand it. > > For me it was also a bit annoying/hasslesome at the beginning, but I > got used to it very quickly, and it has many advantages too. > > > > And I suppose meson/ninja doesn't support recursive ninja either (and > > anyway recursive ninja with builddir != srcdir would not be > > convenient). > > Recursive ninja doesn't really make sense the way meson/ninja work, and > it's also not needed for what you want to do. Meson supports 'recursive > meson.build' (which is the both-in-one equivalent of configure.ac + > Makefile.am) though. > > Cheers > -Tim > > > > ------------------------------ > > Message: 2 > Date: Sat, 11 Feb 2017 12:28:31 +0000 > From: Sam Thursfield <sss...@gmail.com> > To: "Sebastian Geiger (Lanoxx)" <lan...@gmx.net> > Cc: desktop-devel-list <desktop-devel-list@gnome.org> > Subject: Re: Help building Gstreamer 1.10 > Message-ID: > <cagdgxw7hx7ucdpn8uamkfbbkr1zvk4mumeh5dd3gqwk8tnr...@mail.gmail.com> > Content-Type: text/plain; charset=UTF-8 > > Hi Lanoxx > > On 2/11/17, Sebastian Geiger (Lanoxx) <lan...@gmx.net> wrote: > > Hi, > > > > I was trying to build gstreamer 1.10 today with jhbuild using the 3.22 > > module set, and I got the following error: > ... > > I've seen problems like this before which were caused by: a new symbol > being added in the source tree, an older version of the library being > installed, and the g-ir-scanner linking stuff against the old version > that is installed. > > If 'gst_element_message_full_with_details' and > 'gst_make_element_message_details' were recently added then that's > probably what's happening here. > > To work around the issue you can do `make uninstall` in your > /home/user/Documents/Code/jh-gnome-checkout/gstreamer/ directory, then > try jhbuild again. The g-ir-scanner should now be forced to link > against the new libraries in the source tree. > > This is an annoying bug, I'm not sure what causes it. Possibly some > issue in the GI/Autotools integration. > > Sam > > > ------------------------------ > > Message: 3 > Date: Sat, 11 Feb 2017 14:02:19 +0100 > From: S?bastien Wilmet <swil...@gnome.org> > To: desktop-devel-list@gnome.org > Subject: Re: Equivalent of recursive make with meson/ninja? > Message-ID: <20170211130219.ga12...@gamma.lan> > Content-Type: text/plain; charset=iso-8859-1 > > On Sat, Feb 11, 2017 at 11:54:40AM +0000, Tim-Philipp M?ller wrote: > > With meson/ninja, everything will end up in one single build.ninja file > > (the equivalent to a Makefile). > > > > You'd just do > > > > touch foo.c > > ninja > > In two different terminal tabs though. > > > and it will only recompile/relink the bits that have changed, and > > nothing else. It will be very very fast in most cases. > > It'll also relink all the tests and rebuild the docs (GTK-Doc is very > slow). > > > You can also do: > > > > touch foo.c > > ninja?-C ../build > > > > if you prefer to be in the source dir. > > Too long to type. > > > If you haven't got a full build yet and only want to build a single > > target without building more than absolutely needed you can also just > > do > > > > ninja -C ../build src/libfoobar.so.1.2.3 > > > > or somesuch (tab completion for targets should just work if you have > > the right bits installed), but I'd expect that the normal use case is > > that you do a full build and then just rebuild when things change. > > Yes I always do a full build first. autogen.sh/configure takes a lot of > time compared to meson, but once the full build is done, I just run make > commands which is fast enough. > > > You'll also notice that 'ninja' is near-instantaneous if there are no > > changes, compared to recursive make which can take tens of seconds to > > do nothing in that case. (Just as a data point, why the recursive ninja > > thing is not really needed.) > > What I don't like to do is to scroll up the build output to see the > warnings I'm interested in. > > -- > S?bastien > > > ------------------------------ > > Message: 4 > Date: Sat, 11 Feb 2017 19:03:01 +0530 > From: Nirbheek Chauhan <nirbheek.chau...@gmail.com> > To: desktop-devel-list <desktop-devel-list@gnome.org> > Subject: Re: Equivalent of recursive make with meson/ninja? > Message-ID: > <CADqQcK6SK8Y74q5VNuC-S+GUXxVio8VYW_=0oj39nvkju0m...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > On 11-Feb-2017 18:32, "S?bastien Wilmet" <swil...@gnome.org> wrote: > > > and it will only recompile/relink the bits that have changed, and > > nothing else. It will be very very fast in most cases. > > It'll also relink all the tests and rebuild the docs (GTK-Doc is very > slow). > > > Fwiw, it won't rebuild the docs since that is done at install time, not at > compile time. It also won't relink all the tests if you specify a target > (an executable, library, etc) to build. You can also rebuild a specific > file by specifying the corresponding .o file, and I'm sure that can be made > more convenient with a wrapper tool. > > I think your use-case can even be improved by writing such a tool that will > rebuild only a specific file. This would actually be faster than make even > because it wouldn't relink anything in that directory unless you want it > to. > > Would you like to take a shot at it? It's really simpler than it might > seem. Just a matter of reading the compiler db (json file) and calling > ninja with the right argument. :) > > IMO this is one of the major advantages of Meson. It actually provides an > API that you can use to support and even improve your custom workflows. > > Cheers, > Nirbheek > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <https://mail.gnome.org/archives/desktop-devel-list/attachments/20170211/6620e151/attachment.html> > > > ------------------------------ > > Message: 5 > Date: Sat, 11 Feb 2017 14:53:53 +0100 > From: "Sebastian Geiger (Lanoxx)" <lan...@gmx.net> > To: desktop-devel-list <desktop-devel-list@gnome.org> > Subject: Re: Help building Gstreamer 1.10 > Message-ID: <8119d619-b03f-3b9a-8a99-c3fbd3a01...@gmx.net> > Content-Type: text/plain; charset=utf-8 > > Hi Sam, > > thanks for the quick answer, unfortunately make uninstall did not > resolve the issue. When I searched for files with gstreamer in their > name or path I still found a lot of files. In the end I removed several > header files and so files related to gstreamer and that solved the issue. > > Could this be related to the autotools build setup? Is there a way to > fix it? > > Cheers > > Sebastian > > On 11/02/17 13:28, Sam Thursfield wrote: > > Hi Lanoxx > > > > On 2/11/17, Sebastian Geiger (Lanoxx) <lan...@gmx.net> wrote: > >> Hi, > >> > >> I was trying to build gstreamer 1.10 today with jhbuild using the 3.22 > >> module set, and I got the following error: > > ... > > > > I've seen problems like this before which were caused by: a new symbol > > being added in the source tree, an older version of the library being > > installed, and the g-ir-scanner linking stuff against the old version > > that is installed. > > > > If 'gst_element_message_full_with_details' and > > 'gst_make_element_message_details' were recently added then that's > > probably what's happening here. > > > > To work around the issue you can do `make uninstall` in your > > /home/user/Documents/Code/jh-gnome-checkout/gstreamer/ directory, then > > try jhbuild again. The g-ir-scanner should now be forced to link > > against the new libraries in the source tree. > > > > This is an annoying bug, I'm not sure what causes it. Possibly some > > issue in the GI/Autotools integration. > > > > Sam > > > > > ------------------------------ > > Message: 6 > Date: Sat, 11 Feb 2017 15:56:24 +0100 > From: S?bastien Wilmet <swil...@gnome.org> > To: desktop-devel-list@gnome.org > Subject: Re: Equivalent of recursive make with meson/ninja? > Message-ID: <20170211145624.gb12...@gamma.lan> > Content-Type: text/plain; charset=iso-8859-1 > > On Sat, Feb 11, 2017 at 07:03:01PM +0530, Nirbheek Chauhan wrote: > > On 11-Feb-2017 18:32, "S?bastien Wilmet" <swil...@gnome.org> wrote: > > > It'll also relink all the tests and rebuild the docs (GTK-Doc is very > > > slow). > > > > Fwiw, it won't rebuild the docs since that is done at install time, not at > > compile time. > > That is a strange thing to do, building something at install time. > > I often do: > $ cd docs/ > $ make clean > $ make > > to see if there are any warnings. If it's mixed up with install output, > it's far less convenient. > > And thanks to builddir == srcdir, I often do: > $ cd docs/reference/ > $ vi -o <gtk-doc-section-file> <gtk-doc-unused-file> > > to move the symbols from the 'unused' file to the section file. > > <gtk-doc-section-file> is in scrdir while <gtk-doc-unused-file> is in > builddir. The names of those files are different for each project > (although it's probably possible to use globs). > > But these are just examples, `touch file.c && make` was another example. > I probably do other similar things (more rarely, without even being > aware of it) thanks to recursive make and builddir == srcdir. Basically > each time I want to open a built file, I'm usually already in the good > directory. > > > It also won't relink all the tests if you specify a target > > (an executable, library, etc) to build. You can also rebuild a specific > > file by specifying the corresponding .o file, and I'm sure that can be made > > more convenient with a wrapper tool. > > > > I think your use-case can even be improved by writing such a tool that will > > rebuild only a specific file. This would actually be faster than make even > > because it wouldn't relink anything in that directory unless you want it > > to. > > > > Would you like to take a shot at it? It's really simpler than it might > > seem. Just a matter of reading the compiler db (json file) and calling > > ninja with the right argument. :) > > > > IMO this is one of the major advantages of Meson. It actually provides an > > API that you can use to support and even improve your custom workflows. > > Mmh, yes, maybe. > > -- > S?bastien > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > desktop-devel-list mailing list > desktop-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/desktop-devel-list > > ------------------------------ > > End of desktop-devel-list Digest, Vol 154, Issue 9 > ************************************************** _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/desktop-devel-list