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

Reply via email to