summaryrefslogtreecommitdiffstats
path: root/libraries/gsm/Makefile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/gsm/Makefile.patch')
-rw-r--r--libraries/gsm/Makefile.patch159
1 files changed, 159 insertions, 0 deletions
diff --git a/libraries/gsm/Makefile.patch b/libraries/gsm/Makefile.patch
new file mode 100644
index 0000000000..d3061b355d
--- /dev/null
+++ b/libraries/gsm/Makefile.patch
@@ -0,0 +1,159 @@
+--- Makefile.orig 2022-08-04 19:46:46.107815841 +0100
++++ Makefile 2022-08-05 14:43:30.765000000 +0100
+@@ -64,6 +64,8 @@
+ # LDLIB = -lgcc
+ ######### Additional libraries needed by $(LD)
+
++# What's this release's version?.
++VER ?= 1.0.22
+
+ # Where do you want to install libraries, binaries, a header file
+ # and the manual pages?
+@@ -96,7 +98,7 @@
+ # Other tools
+
+ SHELL = /bin/sh
+-LN = ln
++LN = ln -s
+ BASENAME = basename
+ AR = ar
+ ARFLAGS = cr
+@@ -140,6 +142,7 @@
+ # Targets
+
+ LIBGSM = $(LIB)/libgsm.a
++LIBGSMSO= $(LIB)/libgsm.so
+
+ TOAST = $(BIN)/toast
+ UNTOAST = $(BIN)/untoast
+@@ -203,24 +206,43 @@
+
+ # Object files
+
+-GSM_OBJECTS = $(SRC)/add.o \
+- $(SRC)/code.o \
+- $(SRC)/debug.o \
+- $(SRC)/decode.o \
+- $(SRC)/long_term.o \
+- $(SRC)/lpc.o \
+- $(SRC)/preprocess.o \
+- $(SRC)/rpe.o \
+- $(SRC)/gsm_destroy.o \
+- $(SRC)/gsm_decode.o \
+- $(SRC)/gsm_encode.o \
+- $(SRC)/gsm_explode.o \
+- $(SRC)/gsm_implode.o \
+- $(SRC)/gsm_create.o \
+- $(SRC)/gsm_print.o \
+- $(SRC)/gsm_option.o \
+- $(SRC)/short_term.o \
+- $(SRC)/table.o
++STATIC_GSM_OBJECTS = $(SRC)/add.o \
++ $(SRC)/code.o \
++ $(SRC)/debug.o \
++ $(SRC)/decode.o \
++ $(SRC)/long_term.o \
++ $(SRC)/lpc.o \
++ $(SRC)/preprocess.o \
++ $(SRC)/rpe.o \
++ $(SRC)/gsm_destroy.o \
++ $(SRC)/gsm_decode.o \
++ $(SRC)/gsm_encode.o \
++ $(SRC)/gsm_explode.o \
++ $(SRC)/gsm_implode.o \
++ $(SRC)/gsm_create.o \
++ $(SRC)/gsm_print.o \
++ $(SRC)/gsm_option.o \
++ $(SRC)/short_term.o \
++ $(SRC)/table.o
++
++SHARED_GSM_OBJECTS = $(SRC)/add.lo \
++ $(SRC)/code.lo \
++ $(SRC)/debug.lo \
++ $(SRC)/decode.lo \
++ $(SRC)/long_term.lo \
++ $(SRC)/lpc.lo \
++ $(SRC)/preprocess.lo \
++ $(SRC)/rpe.lo \
++ $(SRC)/gsm_destroy.lo \
++ $(SRC)/gsm_decode.lo \
++ $(SRC)/gsm_encode.lo \
++ $(SRC)/gsm_explode.lo \
++ $(SRC)/gsm_implode.lo \
++ $(SRC)/gsm_create.lo \
++ $(SRC)/gsm_print.lo \
++ $(SRC)/gsm_option.lo \
++ $(SRC)/short_term.lo \
++ $(SRC)/table.lo
+
+ TOAST_OBJECTS = $(SRC)/toast.o \
+ $(SRC)/toast_lin.o \
+@@ -228,7 +250,7 @@
+ $(SRC)/toast_alaw.o \
+ $(SRC)/toast_audio.o
+
+-OBJECTS = $(GSM_OBJECTS) $(TOAST_OBJECTS)
++OBJECTS = $(STATIC_GSM_OBJECTS) $(SHARED_GSM_OBJECTS) $(TOAST_OBJECTS)
+
+ # Manuals
+
+@@ -277,9 +299,12 @@
+ $(CC) $(CFLAGS) $?
+ @-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
+
++%.lo: %.c
++ $(CC) $(CFLAGS) -fPIC -c $< -o $@
++
+ # Target rules
+
+-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
++all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
+ @-echo $(ROOT): Done.
+
+ tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+@@ -299,24 +324,29 @@
+
+ # The basic API: libgsm
+
+-$(LIBGSM): $(LIB) $(GSM_OBJECTS)
++$(LIBGSMSO): $(LIB) $(SHARED_GSM_OBJECTS)
++ $(LD) $(LFLAGS) -o $@.${VER} -shared -Xlinker -soname -Xlinker libgsm.so.1 $(SHARED_GSM_OBJECTS) -lc
++ ln -fs libgsm.so.${VER} lib/libgsm.so.1
++ ln -fs libgsm.so.${VER} lib/libgsm.so
++
++$(LIBGSM): $(LIB) $(STATIC_GSM_OBJECTS)
+ -rm $(RMFLAGS) $(LIBGSM)
+- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
++ $(AR) $(ARFLAGS) $(LIBGSM) $(STATIC_GSM_OBJECTS)
+ $(RANLIB) $(LIBGSM)
+
+
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+
+ $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
+
+ $(UNTOAST): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(UNTOAST)
+- $(LN) $(TOAST) $(UNTOAST)
++ $(LN) toast $(UNTOAST)
+
+ $(TCAT): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(TCAT)
+- $(LN) $(TOAST) $(TCAT)
++ $(LN) toast $(TCAT)
+
+
+ # The local bin and lib directories
+@@ -426,7 +456,9 @@
+
+ clean: semi-clean
+ -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+- $(TOAST) $(TCAT) $(UNTOAST) \
++ $(LIBGSMSO) $(LIB)/libgsm.so.${VER} \
++ $(LIB)libgsm.so.1 \
++ $(TOAST) $(TCAT) $(UNTOAST) \
+ $(ROOT)/gsm-1.0.tar.gz
+
+