[dev] slconfigure

From: <rain1_AT_openmailbox.org>
Date: Mon, 29 May 2017 13:58:41 +0000

one of the most widely reported sources of suck are the autotools that
gives you the (in)ability to compile programs from source. ./configure,
automake, autoconf, autoreconf, m4, intltool, libtoolize, etc.

the best practice used in suckless projects is generally to have a main
makefile that imports a config.mk that allows for customization. Still
people created tools like scons, cmake, waf, boost build, raft, rebar,
rake and more. I have often heard it reported that working with these is
worse than simply using makefiles, it certainly requires extra
dependencies.

The reason people want these build systems despite the suckless approach
working so well is they want config.mk to be filled in automatically
(based on which libraries are available on the system and similar).

Here's how a suckless configure tool could subsume all the GNU autotools
stuff in a fraction of the code without giving any control over build
configuration up:

There would be a single tool 'slconfigure' which is able to parse a
standard format for config.mk files. It will parse these in to know what
can be configured then it will process the command lines args to allow
customization, it can automatically detect which libraries are needed
based on the options inside config.mk and then it will overwrite the
config.mk file.

So to build a project you go slconfigure ; make ; make install. If you
wanted to edit the config.mk file manually (like we have been doing) you
would simply not invoke (maybe not even install slconfigure) just run
make.

All the old GNU software could be patched to use this new build system
format and the autoreconf stuff deleted.
Received on Mon May 29 2017 - 15:58:41 CEST

This archive was generated by hypermail 2.3.0 : Mon May 29 2017 - 16:00:17 CEST