Re: A Gtk's build system ?



Autotools is what it is, and Gtk+ is
one of the most portable pieces of software in our ecosystem.

If you mean portable around the Linux systems you're right, but if
not... you can see on the mailing lists the hard effort to build the
latest Gtk version for Windows and so far I can't see a working build
of Gtk 3.12!

On Wed, Aug 6, 2014 at 5:35 PM, Christian Hergert <christian hergert me> wrote:
Sounds like we have some people willing to port the build system to waf!

But seriously, without seeing what it would look like on another system,
this thread can't go much further. Autotools is what it is, and Gtk+ is
one of the most portable pieces of software in our ecosystem.

Making sure that waf runs properly on all of the target systems is going
to take some upfront work. Just because it uses Python doesn't mean it's
portable. Plenty of Python API's return different values based on the
host operating system.

-- Christian


On 08/06/2014 01:01 PM, Krzysztof Kosiński wrote:
2014-08-06 21:43 GMT+02:00 Colomban Wendling <lists ban herbesfolles org>:
Le 06/08/2014 21:30, Krzysztof Kosiński a écrit :
[Waf] does not require silly lists of files to work

If that refers to using globs in the build system files, don't.  Glob
showed on many a situation to be the source of various build problems,
including, but not limited to, a file to be missing from the source tree
(which would not be easily noticeable and would work on the author's
setup), or unexpected files to be included in a build.

I am not really convinced by this.

1. If there are any uncommitted files, version control will tell you about this.
2. If you have 'unexpected files' in the source tree, you are doing
something wrong.
3. Another common argument in favor of file lists is determining what
to include in the tarball. This is only an issue because by default
Autotools create a giant mess by putting generated files in the same
directories as the sources (CMake does this as well). Waf always puts
all generated files in a separate directory, so everything that's not
in the build directory should be distributed.

Also, FWIW patterns can generally be used just fine in Autotools -- but
again, please, don't use them.

Autotools can't correctly use patterns / wildcards, because it
requires manually re-running automake whenever a file is added or
deleted.
http://www.gnu.org/software/automake/manual/html_node/Wildcards.html
Waf stores a database of files seen on last build and therefore
doesn't suffer from this problem.

Regards, Krzysztof
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

_______________________________________________
gtk-devel-list mailing list
gtk-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list



-- 
Victor Aurélio Santos


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]