[wiki] [sites] sucks: elaborate on glib and add section about build systems || rofl0r

From: <git_AT_suckless.org>
Date: Tue, 19 Mar 2013 18:48:06 +0100

commit 3a38e21348d48e66f6ff36424f6c0c9502fb2685
Author: rofl0r <retnyg_AT_gmx.net>
Date: Sun Mar 17 20:08:23 2013 +0100

    sucks: elaborate on glib and add section about build systems

diff --git a/suckless.org/sucks.md b/suckless.org/sucks.md
index a15000e..ec3a226 100644
--- a/suckless.org/sucks.md
+++ b/suckless.org/sucks.md
_AT_@ -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]
 
 
_AT_@ -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
 --------
Received on Tue Mar 19 2013 - 18:48:06 CET

This archive was generated by hypermail 2.3.0 : Tue Mar 19 2013 - 19:00:09 CET