1From e8f43832d401ad1e071e6860b2bf4a1e796d4356 Mon Sep 17 00:00:00 2001
2From: Adam Duskett <aduskett@gmail.com>
3Date: Fri, 28 Jul 2017 08:18:22 -0400
4Subject: [PATCH] Misc fixes from Archlinux
5
6Patch from:
7    https://git.archlinux.org/svntogit/packages.git/plain/gsm/trunk/gsm.patch
8
9Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
10Signed-off-by: Adam Duskett <aduskett@gmail.com>
11Refresh for 1.0.17
12[Fabrice: refresh for 1.0.22]
13Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
14---
15 Makefile | 84 ++++++++++++++++++++++++++++++++--------------------------------
16 1 file changed, 42 insertions(+), 42 deletions(-)
17
18diff --git a/Makefile b/Makefile
19index d5c0c90..ef61bd5 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -44,7 +44,7 @@ WAV49	= -DWAV49
23 # CCFLAGS 	= -c -O
24
25 CC		= gcc -ansi -pedantic
26-CCFLAGS 	= -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment
27+CCFLAGS 	= -c -O2 -fPIC -DNeedFunctionPrototypes=1 -Wall -Wno-comment
28
29 LD 		= $(CC)
30
31@@ -96,7 +96,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
32 #  Other tools
33
34 SHELL		= /bin/sh
35-LN		= ln
36+LN		= ln -s -f
37 BASENAME 	= basename
38 AR		= ar
39 ARFLAGS	= cr
40@@ -139,7 +139,7 @@ LFLAGS	= $(LDFLAGS) $(LDINC)
41
42 # Targets
43
44-LIBGSM	= $(LIB)/libgsm.a
45+LIBGSMSO = $(LIB)/libgsm.so
46
47 TOAST	= $(BIN)/toast
48 UNTOAST	= $(BIN)/untoast
49@@ -257,7 +257,7 @@ STUFF = 	ChangeLog			\
50 # Install targets
51
52 GSM_INSTALL_TARGETS =	\
53-		$(GSM_INSTALL_LIB)/libgsm.a		\
54+		$(GSM_INSTALL_LIB)/libgsm.so		\
55 		$(GSM_INSTALL_INC)/gsm.h		\
56 		$(GSM_INSTALL_MAN)/gsm.3		\
57 		$(GSM_INSTALL_MAN)/gsm_explode.3	\
58@@ -279,7 +279,7 @@ TOAST_INSTALL_TARGETS =	\
59
60 # Target rules
61
62-all:		$(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
63+all:		$(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
64 		@-echo $(ROOT): Done.
65
66 tst:		$(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
67@@ -299,24 +299,23 @@ install:	toastinstall gsminstall
68
69 # The basic API: libgsm
70
71-$(LIBGSM):	$(LIB) $(GSM_OBJECTS)
72-		-rm $(RMFLAGS) $(LIBGSM)
73-		$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
74-		$(RANLIB) $(LIBGSM)
75-
76+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
77+	$(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.13 $(GSM_OBJECTS)
78+	$(LN) libgsm.so.1.0.13 $(LIBGSMSO).1
79+	$(LN) libgsm.so.1.0.13 $(LIBGSMSO)
80
81 # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
82
83-$(TOAST):	$(BIN) $(TOAST_OBJECTS) $(LIBGSM)
84-		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
85+$(TOAST):	$(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
86+		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
87
88 $(UNTOAST):	$(BIN) $(TOAST)
89 		-rm $(RMFLAGS) $(UNTOAST)
90-		$(LN) $(TOAST) $(UNTOAST)
91+		$(LN) toast $(UNTOAST)
92
93 $(TCAT):	$(BIN) $(TOAST)
94 		-rm $(RMFLAGS) $(TCAT)
95-		$(LN) $(TOAST) $(TCAT)
96+		$(LN) toast $(TCAT)
97
98
99 # The local bin and lib directories
100@@ -425,7 +425,7 @@ semi-clean:
101 			-print | xargs rm $(RMFLAGS)
102
103 clean:	semi-clean
104-		-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add		\
105+		-rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add		\
106 			$(TOAST) $(TCAT) $(UNTOAST)	\
107 			$(ROOT)/gsm-1.0.tar.Z
108
109@@ -473,22 +473,22 @@ $(ADDTST)/add:	$(ADDTST)/add_test.o
110 $(TST)/test-result:	$(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run
111 			( cd $(TST); ./run )
112
113-$(TST)/lin2txt:		$(TST)/lin2txt.o $(LIBGSM)
114+$(TST)/lin2txt:		$(TST)/lin2txt.o $(LIBGSMSO)
115 			$(LD) $(LFLAGS) -o $(TST)/lin2txt \
116-				$(TST)/lin2txt.o $(LIBGSM) $(LDLIB)
117+				$(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB)
118
119-$(TST)/lin2cod:		$(TST)/lin2cod.o $(LIBGSM)
120+$(TST)/lin2cod:		$(TST)/lin2cod.o $(LIBGSMSO)
121 			$(LD) $(LFLAGS) -o $(TST)/lin2cod \
122-				$(TST)/lin2cod.o $(LIBGSM) $(LDLIB)
123+				$(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB)
124
125-$(TST)/gsm2cod:		$(TST)/gsm2cod.o $(LIBGSM)
126+$(TST)/gsm2cod:		$(TST)/gsm2cod.o $(LIBGSMSO)
127 			$(LD) $(LFLAGS) -o $(TST)/gsm2cod \
128-				$(TST)/gsm2cod.o $(LIBGSM) $(LDLIB)
129+				$(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB)
130
131-$(TST)/cod2txt:		$(TST)/cod2txt.o $(LIBGSM)
132+$(TST)/cod2txt:		$(TST)/cod2txt.o $(LIBGSMSO)
133 			$(LD) $(LFLAGS) -o $(TST)/cod2txt \
134-				$(TST)/cod2txt.o $(LIBGSM) $(LDLIB)
135+				$(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB)
136
137-$(TST)/cod2lin:		$(TST)/cod2lin.o $(LIBGSM)
138+$(TST)/cod2lin:		$(TST)/cod2lin.o $(LIBGSMSO)
139 			$(LD) $(LFLAGS) -o $(TST)/cod2lin \
140-				$(TST)/cod2lin.o $(LIBGSM) $(LDLIB)
141+				$(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB)
142--
1432.13.3
144
145