retawq Documentation
Compile-Time Configuration Options

Introduction

For configuring retawq before building the program ("compile-time configuration"), both a "classical" Makefile and a more modern/portable configure script are supported.

If you're confused by all those options, compile the program with the default configuration and work with it to get used to it first, e.g. as described in the user guide. If compiling with the default configuration fails, you might just have to set OPTION_TG to "curses" and/or OPTION_THREADING to 0.

The Options

Minimizing retawq's Size

retawq is already a quite small browser. If you want to make the executable program still smaller, e.g. as a tool for a boot/rescue disk or a "whole system on one floppy disk" collection, this section shows how to shrink retawq's size by disabling "all" compile-time configuration options, including some internal options which aren't documented elsewhere. If you actually need a feature, you should leave the respective option enabled, of course. The minimization is shown with the configure script here; you can get the same result by editing the "classical" Makefile manually.

As a starting point, disable all officially documented options which are enabled by default: "./configure --disable-textmodemouse --disable-news --disable-cookies --set-threading=0 --set-ced=0". You could additionally use "--set-tg=curses" (if that works on your computer) to disable some ncurses-specific code. - The disabling of multi-threading has the additional benefit that no pthreads library is necessary.

Now for the "dirty" part: open the file ".config" (which was generated by the configure script) in a text editor, and do any or all of the following; in parentheses: effect of the change.

Finally, say "make" to build the program. Let's have a look at some resulting sizes, for example when building version 0.2.6 on the x86 platform, Linux kernel 2.2.x, libc GNU glibc 2.2.x, compiler GNU gcc 2.7.2.3:

On my computer, minimal retawq is much smaller than the file viewer "less" (which has about 90 KB after running "strip --strip-unneeded less"), so you might even consider removing "less" from your "whole system on one floppy disk" collection and doing something like "ln -s retawq less". Funny, isn't it?

Newer versions of gcc seem to generate much worse code than the good/bad old 2.7.2.3. For these, you might want to replace the compiler option "-O2" with "-Os" in the Makefile.


This documentation file is part of version 0.2.6c of retawq, a network client created by Arne Thomaßen. retawq is basically released under certain versions of the GNU General Public License and WITHOUT ANY WARRANTY. Copyright (C) 2001-2006 Arne Thomaßen.