Download and configure alsa-lib to compile its static library (libasound.a):
1
2
3
4
5
. - . - - . . . .
- - . . . .
- - . .
. . - -
- - - . - - - - - - - - - - - - - -
Compile the library, and install it to the directory just created above (make sure to specify absolute path, in this case “/src/alsa-static-build”):
1
2
3
make
make install DESTDIR=/src/alsa-static-build
cd ..
Download and compile the re and rem libraries:
1
2
3
4
5
6
7
8
9
10
11
wget http://www.creytiv.com/pub/re-0.4 .0 .tar.gz
wget http://www.creytiv.com/pub/rem -0.4 .0 .tar.gz
tar xf re-0.4 .0 .tar.gz
mv re-0.4 .0 re
cd re
CC =arm-linux-gnueabi-gcc LD =arm-linux-gnueabi-ld make
cd ..
tar xf rem -0.4 .0 .tar.gz
mv rem -0.4 .0 rem
CC =arm-linux-gnueabi-gcc LD =arm-linux-gnueabi-ld make
cd ..
Download and compile baresip with the STATIC option:
1
2
3
4
wget http://www.creytiv.com/pub/baresip-0.4 .0 .tar.gz
tar xf baresip-0.4 .0 .tar.gz
cd baresip-0.4 .0
CC= arm-linux-gnueabi-gcc LD= arm-linux-gnueabi-ld SYSROOT= /usr/arm-linux-gnueabi STATIC= yes make
The make above may fail in the linking because it can’t find the static alsa library — if so, it doesn’t matter. Now statically link the baresip binary to all the modules and libasound:
1
arm-linux-gnueabi-gcc -static -libgcc -Wl,-Bstatic -fPIC -rdynamic build-arm/src/ aucodec.o build-arm/src/ audio.o build-arm/src/ aufile.o build-arm/src/ aufilt.o build-arm/src/ auloop.o build-arm/src/ auplay.o build-arm/src/ ausrc.o build-arm/src/ calc.o build-arm/src/ call .o build-arm/src/ conf.o build-arm/src/ contact.o build-arm/src/m ctrl.o build-arm/src/m enc.o build-arm/src/m nat.o build-arm/src/ net.o build-arm/src/ os.o build-arm/src/ play.o build-arm/src/ realtime.o build-arm/src/ rtpkeep.o build-arm/src/ stream.o build-arm/src/ sipreq.o build-arm/src/ ua.o build-arm/src/ ui.o build-arm/src/ uuid.o build-arm/src/ vidcodec.o build-arm/src/ vidisp.o build-arm/src/ vidsrc.o build-arm/src/ video.o build-arm/src/ vidloop.o build-arm/src/ static .o build-arm/src/m ain.o build-arm/modules/ stun/stun.o build-arm/m odules/turn/ turn.o build-arm/modules/i ce/ice.o build-arm/m odules/natbd/ natbd.o build-arm/modules/ alsa/alsa.o build-arm/m odules/alsa/ alsa_src.o build-arm/modules/ alsa/alsa_play.o build-arm/m odules/cons/ cons.o build-arm/modules/ evdev/evdev.o build-arm/m odules/evdev/ print .o build-arm/modules/g 711/g711.o build-arm/m odules/l16/ l16.o build-arm/modules/ oss/oss.o build-arm/m odules/stdio/ stdio.o build-arm/modules/ v4l/v4l.o -I../ alsa-static -build/usr/i nclude/ -L../ alsa-static -build/usr/ lib -L../re -lre -L../ rem -lrem -lm -lasound -o baresip -Wl,-Bdynamic -ldl -lrt -lm -lresolv -lpthread -Wl,-Bstatic
This should create the binary “baresip”:
1
2
ls
Makefile baresip build-arm docs include mk modules share src