sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 3a38e21348d48e66f6ff36424f6c0c9502fb2685
parent 11018cdaa385958812b382d8848b40e76f7f8699
Author: rofl0r <retnyg@gmx.net>
Date:   Sun, 17 Mar 2013 20:08:23 +0100

sucks: elaborate on glib and add section about build systems

Diffstat:
Msuckless.org/sucks.md | 39++++++++++++++++++++++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/suckless.org/sucks.md b/suckless.org/sucks.md @@ -11,10 +11,17 @@ possible to avoid them. If you use them, consider looking for alternatives. * [glib][1] - implements C++ STL on top of C (because C++ sucks so much, let's reinvent it!), adding lots of useless data types for ["portability" and "readability" reasons][2]. - Alternatives: whoever thinks it needs alternatives shall fill this space. + even worse, it is not possible to write robust applications using glib, + since it [aborts in out-of-memory situations][8]. + glib usage is required to write gtk+ and gnome applications, but is also used + when common functionality is needed (e.g. hashlists, base64 decoder, etc). + it is not suited at all for static linking due to its huge size. + + Alternatives: [libmowgli][9], [libulz][10] * [GMP][3] - GNU's bignum/arbitrary precision library. Quite bloated, slow and [calls abort() on failed malloc][4] + Alternatives: [libtommath][5], [TomsFastMath][6], [MPI][7] @@ -25,6 +32,36 @@ possible to avoid them. If you use them, consider looking for alternatives. [5]: http://libtom.org/?page=features&newsitems=5&whatfile=ltm [6]: http://libtom.org/?page=features&newsitems=5&whatfile=tfm [7]: http://spinning-yarns.org/michael/mpi/ +[8]: https://bugzilla.gnome.org/show_bug.cgi?id=674446 +[9]: https://github.com/atheme/libmowgli-2 +[10]: https://github.com/rofl0r/libulz + +Build Systems +------------- + +* [cmake][11] - cmake is written in C++ but often used to compile C programs. + that means (on a self-bootstrapping system) that one needs to compile a C++ + compiler and cmake just in order to be able to build some C code. + it is so huge and bloated that compilation takes more time than compilation + of GCC (!). + it's not even possible to use it to create freestanding Makefiles, since + the generated Makefiles call back into the cmake binary itself. + + Alternatives: [gnu make][14] + +* [waf][12] and [scons][13] - waf/scons are both written in python but often + used to compile C programs. + that means (on a self-bootstrapping system) that one needs to compile python + in order to be able to build some C code. + waf code is dropped into the compilee's build tree, so it does not benefit + from updated versions and bugfixes. + + Alternatives: [gnu make][14] + +[11]: http://www.cmake.org/ +[12]: https://code.google.com/p/waf/ +[13]: http://www.scons.org/ +[14]: https://www.gnu.org/software/make/ Programs --------