Re: Build System
Gary Kramlich <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.devel |
|---|---|
| Message-ID | <CAGA0GwD6rQ5ose9jLs_XxkCvfqsKiBy4DDiv1ptgk-0VVXz5DA@mail.gmail.com> |
On Thu, Aug 18, 2016 at 11:40 AM, Tim Murphy <[email protected]> wrote: > Meson is interesting. I think the most unique feature is being able to > decide whether relinking is really needed when a library is changed. If the > API hasn't changed then you can avoid relinking an exe when you update the > app. Might be handy when one is e.g working on libpurple and testing the > effect in pidgin. The situation your describing should work right now. I can go into libpurple/ and "sudo make install && sudo ldconfig" and pidgin will still work. > Otherwise I would be more interested to try a build system with an inverted > dependency tree like tup because this is a very smart and interesting way to > not waste a lot of time working out what to build. The majority benefit for Pidgin though is that while Pidgin is not a GNOME application, it uses all of the GNOME libraries/tools. When I set CMake for GPlugin, I had to write a crazy macro for GObject Introspection (already done in Meson) and I also had to write a crazy macro for GNU Gettext (already in Meson). One of the reasons I used CMake in GPlugin is that it can generate different build systems, including ones that work on Windows. > Meson and scons are interesting for trying to take out the complexity and > hide it. If you are lucky it all works without any customisarion and if you > are not lucky the customisations that you need to make are quite complex. > Whatever you do, you will need parallel build systems for a while. It's not even so much the complexity that's hidden. The thing I really like about it is that feels a lot more like a build system than shell, perl, and m4 do in autotools. That said, we already have 2 build systems, one for !Windows and one for Windows. > Regards, > > Tim Thanks, -- Gary Kramlich <[email protected]> _______________________________________________ Devel mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/devel