summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro7
-rw-r--r--tools/rbspeex/Makefile14
2 files changed, 17 insertions, 4 deletions
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index df542be84a..fb306d9774 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -1,5 +1,4 @@
-
# ccache
unix:!mac:!noccache {
CCACHE = $$system(which ccache)
@@ -28,7 +27,11 @@ RBBASE_DIR = $$replace(RBBASE_DIR,/rbutil/rbutilqt,)
message("Rockbox Base dir: "$$RBBASE_DIR)
-# add a custom rule for pre-building librbspeex
+# check for system speex. Add a custom rule for pre-building librbspeex if not found.
+LIBSPEEX = $$system(pkg-config --libs speex)
+!static:!isEmpty(LIBSPEEX) {
+ LIBS += $$LIBSPEEX
+}
!mac {
rbspeex.commands = @$(MAKE) TARGET_DIR=$$OUT_PWD/ -C $$RBBASE_DIR/tools/rbspeex librbspeex.a
}
diff --git a/tools/rbspeex/Makefile b/tools/rbspeex/Makefile
index 41bf775d38..8c46677ce8 100644
--- a/tools/rbspeex/Makefile
+++ b/tools/rbspeex/Makefile
@@ -31,9 +31,19 @@ ifdef RBARCH
CFLAGS += -arch $(RBARCH)
endif
+# don't try to use the systems libspeex when building a static binary.
+ifndef STATIC
+SYS_SPEEX = $(shell pkg-config --libs speex)
+endif
+# fall back to our own librbspeex if no suitable found.
+ifeq ($(SYS_SPEEX),)
# This sets up 'SRC' based on the files mentioned in SOURCES
SRC := $(shell cat $(SPEEXSRC)/SOURCES | $(CC) $(CFLAGS) -E -P - | grep -v "^\#" | grep -v "^$$")
+LIBS = $(TARGET_DIR)librbspeex$(RBARCH).a
+else
+LIBS = $(SYS_SPEEX)
+endif
OUT = $(TARGET_DIR)build$(RBARCH)
SOURCES = $(SRC:%.c=$(SPEEXSRC)/%.c) rbspeex.c rbspeexenc.c rbspeexdec.c
@@ -73,11 +83,11 @@ librbspeex$(RBARCH).a: $(OUT)/librbspeex.a
../rbspeexenc: $(OBJS) $(OUT)/rbspeexenc.o librbspeex$(RBARCH).a
@echo Linking ../rbspeexenc
- $(SILENT)$(CC) $(CFLAGS) -o ../rbspeexenc $(OUT)/rbspeexenc.o librbspeex$(RBARCH).a -lm
+ $(SILENT)$(CC) $(CFLAGS) -o ../rbspeexenc $(OUT)/rbspeexenc.o $(LIBS) -lm $(TARGET_DIR)librbspeex$(RBARCH).a
../rbspeexdec: $(OBJS) librbspeex$(RBARCH).a $(OUT)/rbspeexdec.o
@echo Linking ../rbspeexdec
- $(SILENT)$(CC) $(CFLAGS) -o ../rbspeexdec $(OUT)/rbspeexdec.o librbspeex$(RBARCH).a -lm
+ $(SILENT)$(CC) $(CFLAGS) -o ../rbspeexdec $(OUT)/rbspeexdec.o $(LIBS) -lm $(TARGET_DIR)librbspeex$(RBARCH).a
%.o:
@echo CC $<