Browse files

o Add static linking description.

  • Loading branch information...
1 parent 09548e5 commit 143250a541c04b5080d5c3d17eff16a5375e460a @hzeller committed Sep 26, 2012
Showing with 29 additions and 1 deletion.
  1. +21 −0
  2. +8 −1 Makefile
@@ -44,3 +44,24 @@ also
sudo make LIBDIR=lib install
Now, the compilation step described in *Typical installation* should succeed.
+## Linking statically ##
+To install Folve on some embedded systems, you might want to link it statically.
+This depends a lot on your system, but let's get to the basic steps.
+First, you need go create a static library of the zita-convolver. The default
+installation does not provide this, so let's do it.
+First, start with compiling the zita-convolver yourself, as described in the
+*Older Systems* section.
+Then run the following commands:
+ cd /tmp/zita-convolver-3.1.0/libs
+ ar rcs libzita-convolver.a zita-convolver.o
+ ranlib libzita-convolver.a
+ sudo install -m 644 libzita-convolver.a /usr/local/lib
+Now we can compile folve statically; go into the folve source directory and
+ make LINK_STATIC=y
@@ -9,12 +9,19 @@ CFLAGS=-D_FILE_OFFSET_BITS=64 -Wall -O2 -DFOLVE_VERSION='"$(F_VERSION)"'
LDFLAGS=-lfuse -lsndfile -lzita-convolver -lmicrohttpd -lboost_thread-mt
+# static linking requires us to be much more explicit when linking
+LDFLAGS+=-lFLAC -lvorbisenc -lvorbis -logg -lfftw3f \
+ -lstdc++ -lm -lpthread -lrt -ldl
OBJECTS = folve-main.o folve-filesystem.o conversion-buffer.o \
sound-processor.o file-handler-cache.o status-server.o util.o \
zita-audiofile.o zita-config.o zita-fconfig.o zita-sstring.o
folve: $(OBJECTS)
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
+ $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS) $(LD_STATIC)
install: folve
install folve $(DESTDIR)/bin

0 comments on commit 143250a

Please sign in to comment.