STEP 1: Configuration
Edit config.mak to override installation prefix, compiler options,
-etc. as needed. The defaults should be okay for trying out musl with
-static linking only. The only arch supported at present is i386. If
-you're on an x86_64 machine, you can add -m32 to the compiler options
-to build a working 32bit musl. In this case you will also need to add
--m32 in two locations in the generated tools/musl-gcc script if you
-intend to use it.
+target architecture, etc. as needed. Currently supported archs are
+i386 and x86_64. Otherwise, the defaults should be okay for trying out
+musl with static linking only.
DO NOT set the prefix to /, /usr, or even /usr/local unless you really
know what you're doing! You'll probably break your system such that
The default prefix is /usr/local/musl for a reason, but some people
may prefer /opt/musl or $HOME/musl.
+For shared library support, the dynamic linker pathname needs to be
+hard-coded into every program you link to musl. Ideally, you should
+leave the path ($syslibdir) set to /lib unless you are unable to
+install files to /lib, in which case you can change it.
+
STEP 2: Compiling
to be usable, and the musl-gcc wrapper inhibits search of the system
library paths in any case. You'll need to compile any prerequisite
libraries (like ncurses, glib, etc.) yourself.
+
+Note: If you want the system headers to behave something like glibc's
+and expose the kitchen sink by default, you might want to try
+CC="musl-gcc -D_GNU_SOURCE" instead of just CC=musl-gcc. This is
+needed for compiling many programs with portability issues.