Re: [Vala] A brand new build system



On Thu, 2014-05-15 at 11:24 -0300, geovanisouza92 gmail com wrote:
Hello Vala guys!

I would to thank you for this amazing language. I knew it yesterday, and
love it yet!

But, I noticed that have a lot of things to do, to turn it a great tool.

For example, a *new simplified build system*. Not that I don't like
Autotools and Make, but the language itself simplifies the C programming,
so, why use a jurasic and complicated (for newbies) build system?

Part of the reason why to continue using older build systems is that
most projects do not consist of only source code in one language. In
fact it's trivial to mix Vala and C or C++ code in an application, and
then you might also have some Python plugins, and some documentation
that needs to be built with special tools, and data files that need to
be processed and installed.

While it's tricky to learn and feels kind of old and messy, this stuff
has been banged on for ages in the Autotools and Make and mostly works
at this point. Following best practices like supporting
out-of-source-tree builds, cross-compilation, "DESTDIR" installs and
alternate prefix selection is mostly automatic.

Getting a new build system up to the point where it supports all the
features that distribution package builders use, and all the corner
cases that individual users hit, while being able to build a complicated
real project either means making it extensible (and requiring every
project to write some custom code) or spending a lot of time fixing bugs
in all the various features that will be needed.

I don't doubt that it could be done, but it would be a lot of work.

On the other hand, maybe you could take some inspiration from how
'valac' works, and instead of creating the entire build system, just
build a preprocessor that generates an Autotools setup and project
layout for you. Who knows if that could work?

-- 
Calvin Walton <calvin walton kepstin ca>



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