
A quick-and-simple guide to installing musl:


STEP 1: Configuration

Edit config.mak to override installation prefix, compiler options,
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
you'll no longer be able to compile and link programs against glibc!
This kind of setup should only be used if you're building a system
where musl is the default/primary/only libc.

The default prefix is /usr/local/musl for a reason, but some people
may prefer /opt/musl or $HOME/musl.


STEP 2: Compiling

Run "make". (GNU make is required.)


STEP 3: Installation

With appropriate privileges, run "make install".


STEP 4: Using the gcc wrapper.

musl comes with a script "musl-gcc" (installed in /usr/local/bin by
default) that can be used to compile and link C programs against musl.
It requires a version of gcc with the -wrapper option (gcc 4.x should
work). For example:

cat > hello.c <<EOF
#include <stdio.h>
int main()
{
	printf("hello, world!\n");
	return 0;
}
EOF
musl-gcc hello.c
./a.out

For compiling programs that use autoconf, you'll need to configure
them with a command like this:

CC=musl-gcc ./configure

Be aware that (at present) libraries linked against glibc are unlikely
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.
