libgsm: Update to version 1.0.14
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
diff --git a/recipes-isdn/libgsm/files/0001-Configure-Makefile.patch b/recipes-isdn/libgsm/files/0001-Configure-Makefile.patch
new file mode 100644
index 0000000..60aa78d
--- /dev/null
+++ b/recipes-isdn/libgsm/files/0001-Configure-Makefile.patch
@@ -0,0 +1,85 @@
+Upstream-Status: Inappropriate [configuration]
+
+Subject: [PATCH 1/5] Configure Makefile
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ Makefile | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cfab74f..410d3f6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -96,7 +96,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
+ # Other tools
+
+ SHELL = /bin/sh
+-LN = ln
++LN = ln -s
+ BASENAME = basename
+ AR = ar
+ ARFLAGS = cr
+@@ -140,6 +140,7 @@ LFLAGS = $(LDFLAGS) $(LDINC)
+ # Targets
+
+ LIBGSM = $(LIB)/libgsm.a
++LIBGSMSO = $(LIB)/libgsm.so
+
+ TOAST = $(BIN)/toast
+ UNTOAST = $(BIN)/untoast
+@@ -279,7 +280,7 @@ TOAST_INSTALL_TARGETS = \
+
+ # 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,6 +300,11 @@ install: toastinstall gsminstall
+
+ # The basic API: libgsm
+
++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
++ $(LD) -o $@.1.0.12 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc $(LDFLAGS)
++ ln -fs libgsm.so.1.0.12 lib/libgsm.so.1
++ ln -fs libgsm.so.1.0.12 lib/libgsm.so
++
+ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
+ -rm $(RMFLAGS) $(LIBGSM)
+ $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+@@ -308,15 +314,15 @@ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
+ # 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 +432,9 @@ semi-clean:
+
+ clean: semi-clean
+ -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+- $(TOAST) $(TCAT) $(UNTOAST) \
++ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.12 \
++ $(LIB)libgsm.so.1 \
++ $(TOAST) $(TCAT) $(UNTOAST) \
+ $(ROOT)/gsm-1.0.tar.Z
+
+
+--
+2.1.4
+
diff --git a/recipes-isdn/libgsm/files/0002-Add-defines-to-c.patch b/recipes-isdn/libgsm/files/0002-Add-defines-to-c.patch
new file mode 100644
index 0000000..70f34f2
--- /dev/null
+++ b/recipes-isdn/libgsm/files/0002-Add-defines-to-c.patch
@@ -0,0 +1,39 @@
+Upstream-Status: Inappropriate [configuration]
+
+Subject: [PATCH 2/5] Add defines to c++
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ inc/gsm.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/inc/gsm.h b/inc/gsm.h
+index 4714ab6..eb2d5e7 100644
+--- a/inc/gsm.h
++++ b/inc/gsm.h
+@@ -54,6 +54,10 @@ typedef gsm_byte gsm_frame[33]; /* 33 * 8 bits */
+ #define GSM_OPT_FRAME_INDEX 5
+ #define GSM_OPT_FRAME_CHAIN 6
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ extern gsm gsm_create GSM_P((void));
+ extern void gsm_destroy GSM_P((gsm));
+
+@@ -66,6 +70,10 @@ extern int gsm_decode GSM_P((gsm, gsm_byte *, gsm_signal *));
+ extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *));
+ extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *));
+
++#ifdef __cplusplus
++}
++#endif
++
+ #undef GSM_P
+
+ #endif /* GSM_H */
+--
+2.1.4
+
diff --git a/recipes-isdn/libgsm/files/0003-Use-gsm_config.-header-instead-of-config.h.patch b/recipes-isdn/libgsm/files/0003-Use-gsm_config.-header-instead-of-config.h.patch
new file mode 100644
index 0000000..6755124
--- /dev/null
+++ b/recipes-isdn/libgsm/files/0003-Use-gsm_config.-header-instead-of-config.h.patch
@@ -0,0 +1,186 @@
+Upstream-Status: Inappropriate [configuration]
+
+Subject: [PATCH 3/5] Use gsm_config. header instead of config.h
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ Makefile | 2 +-
+ inc/config.h | 37 -------------------------------------
+ inc/gsm_config.h | 37 +++++++++++++++++++++++++++++++++++++
+ inc/toast.h | 2 +-
+ src/code.c | 2 +-
+ src/gsm_create.c | 2 +-
+ src/gsm_destroy.c | 2 +-
+ tls/taste.c | 2 +-
+ 8 files changed, 43 insertions(+), 43 deletions(-)
+ delete mode 100644 inc/config.h
+ create mode 100644 inc/gsm_config.h
+
+diff --git a/Makefile b/Makefile
+index 410d3f6..c8c5b58 100644
+--- a/Makefile
++++ b/Makefile
+@@ -152,7 +152,7 @@ GSM_HEADERS = $(INC)/gsm.h
+
+ HEADERS = $(INC)/proto.h \
+ $(INC)/unproto.h \
+- $(INC)/config.h \
++ $(INC)/gsm_config.h \
+ $(INC)/private.h \
+ $(INC)/gsm.h \
+ $(INC)/toast.h \
+diff --git a/inc/config.h b/inc/config.h
+deleted file mode 100644
+index dfb1ead..0000000
+--- a/inc/config.h
++++ /dev/null
+@@ -1,37 +0,0 @@
+-/*
+- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
+- * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
+- * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+- */
+-
+-/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
+-
+-#ifndef CONFIG_H
+-#define CONFIG_H
+-
+-/*efine SIGHANDLER_T int /* signal handlers are void */
+-/*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */
+-
+-#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
+-#define HAS_LIMITS_H 1 /* /usr/include/limits.h */
+-#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
+-#define HAS_ERRNO_DECL 1 /* errno.h declares errno */
+-
+-#define HAS_FSTAT 1 /* fstat syscall */
+-#define HAS_FCHMOD 1 /* fchmod syscall */
+-#define HAS_CHMOD 1 /* chmod syscall */
+-#define HAS_FCHOWN 1 /* fchown syscall */
+-#define HAS_CHOWN 1 /* chown syscall */
+-/*efine HAS__FSETMODE 1 /* _fsetmode -- set file mode */
+-
+-#define HAS_STRING_H 1 /* /usr/include/string.h */
+-/*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */
+-
+-#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
+-#define HAS_UTIME 1 /* POSIX utime(path, times) */
+-/*efine HAS_UTIMES 1 /* use utimes() syscall instead */
+-#define HAS_UTIME_H 1 /* UTIME header file */
+-#define HAS_UTIMBUF 1 /* struct utimbuf */
+-/*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */
+-
+-#endif /* CONFIG_H */
+diff --git a/inc/gsm_config.h b/inc/gsm_config.h
+new file mode 100644
+index 0000000..28cee6d
+--- /dev/null
++++ b/inc/gsm_config.h
+@@ -0,0 +1,37 @@
++/*
++ * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
++ * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
++ * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
++ */
++
++/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
++
++#ifndef CONFIG_H
++#define CONFIG_H
++
++/*efine SIGHANDLER_T int -* signal handlers are void */
++/*efine HAS_SYSV_SIGNAL 1 -* sigs not blocked/reset? */
++
++#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
++#define HAS_STDIO_H 1 /* /usr/include/stdio.h */
++/*efine HAS_LIMITS_H 1 -* /usr/include/limits.h */
++#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
++
++#define HAS_FSTAT 1 /* fstat syscall */
++#define HAS_FCHMOD 1 /* fchmod syscall */
++#define HAS_CHMOD 1 /* chmod syscall */
++#define HAS_FCHOWN 1 /* fchown syscall */
++#define HAS_CHOWN 1 /* chown syscall */
++/*efine HAS__FSETMODE 1 -* _fsetmode -- set file mode */
++
++#define HAS_STRING_H 1 /* /usr/include/string.h */
++/*efine HAS_STRINGS_H 1 -* /usr/include/strings.h */
++
++#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
++#define HAS_UTIME 1 /* POSIX utime(path, times) */
++/*efine HAS_UTIMES 1 -* use utimes() syscall instead */
++#define HAS_UTIME_H 1 /* UTIME header file */
++/*efine HAS_UTIMBUF 1 -* struct utimbuf */
++/*efine HAS_UTIMEUSEC 1 -* microseconds in utimbuf? */
++
++#endif /* CONFIG_H */
+diff --git a/inc/toast.h b/inc/toast.h
+index b42d9ae..911769d 100644
+--- a/inc/toast.h
++++ b/inc/toast.h
+@@ -9,7 +9,7 @@
+ #ifndef TOAST_H
+ #define TOAST_H /* Guard against multiple includes */
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+diff --git a/src/code.c b/src/code.c
+index 402f614..5222727 100644
+--- a/src/code.c
++++ b/src/code.c
+@@ -6,7 +6,7 @@
+
+ /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/code.c,v 1.3 1996/07/02 09:59:05 jutta Exp $ */
+
+-#include "config.h"
++#include "gsm_config.h"
+
+
+ #ifdef HAS_STRING_H
+diff --git a/src/gsm_create.c b/src/gsm_create.c
+index a0bf634..9cc2670 100644
+--- a/src/gsm_create.c
++++ b/src/gsm_create.c
+@@ -6,7 +6,7 @@
+
+ static char const ident[] = "$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_create.c,v 1.4 1996/07/02 09:59:05 jutta Exp $";
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #ifdef HAS_STRING_H
+ #include <string.h>
+diff --git a/src/gsm_destroy.c b/src/gsm_destroy.c
+index 03c8659..274dc4c 100644
+--- a/src/gsm_destroy.c
++++ b/src/gsm_destroy.c
+@@ -7,7 +7,7 @@
+ /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_destroy.c,v 1.3 1994/11/28 19:52:25 jutta Exp $ */
+
+ #include "gsm.h"
+-#include "config.h"
++#include "gsm_config.h"
+ #include "proto.h"
+
+ #ifdef HAS_STDLIB_H
+diff --git a/tls/taste.c b/tls/taste.c
+index 4bc84ad..56d1a93 100644
+--- a/tls/taste.c
++++ b/tls/taste.c
+@@ -10,7 +10,7 @@
+ #include <string.h>
+ #include <memory.h>
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #ifdef HAS_STDLIB_H
+ # include <stdlib.h>
+--
+2.1.4
+
diff --git a/recipes-isdn/libgsm/files/0004-Add-includes.patch b/recipes-isdn/libgsm/files/0004-Add-includes.patch
new file mode 100644
index 0000000..efb1133
--- /dev/null
+++ b/recipes-isdn/libgsm/files/0004-Add-includes.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Inappropriate [configuration]
+
+Subject: [PATCH 4/5] Add includes
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ inc/toast.h | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/inc/toast.h b/inc/toast.h
+index 911769d..3e710d0 100644
+--- a/inc/toast.h
++++ b/inc/toast.h
+@@ -16,10 +16,11 @@
+
+ #include <stdio.h>
+ #include <ctype.h>
++#include <pthread.h>
+ #include <signal.h>
+
+ #include <errno.h>
+-#ifndef HAS_ERRNO_DECL
++#ifndef errno
+ extern int errno;
+ #endif
+
+@@ -37,6 +38,10 @@
+ # endif
+ #endif
+
++#ifdef HAS_STDIO_H
++# include <stdio.h>
++#endif
++
+ #include "gsm.h"
+
+ #ifndef S_ISREG
+--
+2.1.4
+
diff --git a/recipes-isdn/libgsm/files/0005-Change-compiler-warnings.patch b/recipes-isdn/libgsm/files/0005-Change-compiler-warnings.patch
new file mode 100644
index 0000000..126d4ff
--- /dev/null
+++ b/recipes-isdn/libgsm/files/0005-Change-compiler-warnings.patch
@@ -0,0 +1,114 @@
+Upstream-Status: Inappropriate [configuration]
+
+Subject: [PATCH 5/5] Change compiler warnings
+Organization: O.S. Systems Software LTDA.
+
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+---
+ src/debug.c | 6 +++---
+ src/toast.c | 17 +++++++----------
+ 2 files changed, 10 insertions(+), 13 deletions(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 04c3907..a2a5136 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -49,7 +49,7 @@ void gsm_debug_longwords P4( (name, from, to, ptr),
+ fprintf( stderr, "%s [%d .. %d]: ", name, from, to );
+ while (from <= to) {
+
+- fprintf(stderr, "%d ", ptr[ from ] );
++ fprintf(stderr, "%ld ", ptr[ from ] );
+ from++;
+ if (nprinted++ >= 7) {
+ nprinted = 0;
+@@ -63,14 +63,14 @@ void gsm_debug_longword P2( (name, value),
+ char * name,
+ longword value )
+ {
+- fprintf(stderr, "%s: %d\n", name, (long)value );
++ fprintf(stderr, "%s: %ld\n", name, (long)value );
+ }
+
+ void gsm_debug_word P2( (name, value),
+ char * name,
+ word value )
+ {
+- fprintf(stderr, "%s: %d\n", name, (long)value);
++ fprintf(stderr, "%s: %ld\n", name, (long)value);
+ }
+
+ #endif
+diff --git a/src/toast.c b/src/toast.c
+index 9823642..55606d7 100644
+--- a/src/toast.c
++++ b/src/toast.c
+@@ -251,8 +251,8 @@ static char * emalloc P1((len), size_t len)
+ {
+ char * s;
+ if (!(s = malloc(len))) {
+- fprintf(stderr, "%s: failed to malloc %d bytes -- abort\n",
+- progname, len);
++ fprintf(stderr, "%s: failed to malloc %ld bytes -- abort\n",
++ progname, (long) len);
+ onintr();
+ exit(1);
+ }
+@@ -270,7 +270,7 @@ static char* normalname P3((name, want, cut), char *name, char *want,char *cut)
+ maxlen = strlen(name) + 1 + strlen(want) + strlen(cut);
+ p = strcpy(emalloc(maxlen), name);
+
+- if (s = suffix(p, cut)) strcpy(s, want);
++ if ((s = suffix(p, cut))) strcpy(s, want);
+ else if (*want && !suffix(p, want)) strcat(p, want);
+
+ return p;
+@@ -386,7 +386,7 @@ static void update_times P0()
+ ut[0] = instat.st_atime;
+ ut[1] = instat.st_mtime;
+
+- (void) utime(outname, ut);
++ (void) utime(outname, (struct utimbuf *)ut);
+
+ #endif /* UTIMBUF */
+ }
+@@ -416,7 +416,7 @@ static int okay_as_input P3((name,f,st), char* name, FILE* f, struct stat * st)
+ }
+ if (st->st_nlink > 1 && !f_cat && !f_precious) {
+ fprintf(stderr,
+- "%s: \"%s\" has %s other link%s -- unchanged.\n",
++ "%s: \"%s\" has %d other link%s -- unchanged.\n",
+ progname,name,st->st_nlink - 1,"s" + (st->st_nlink<=2));
+ return 0;
+ }
+@@ -585,8 +585,8 @@ static int process_decode P0()
+
+ if (cc != sizeof(s)) {
+ if (cc >= 0) fprintf(stderr,
+- "%s: incomplete frame (%d byte%s missing) from %s\n",
+- progname, sizeof(s) - cc,
++ "%s: incomplete frame (%ld byte%s missing) from %s\n",
++ progname, (long) sizeof(s) - cc,
+ "s" + (sizeof(s) - cc == 1),
+ inname ? inname : "stdin" );
+ gsm_destroy(r);
+@@ -624,8 +624,6 @@ static int process_decode P0()
+
+ static int process P1((name), char * name)
+ {
+- int step = 0;
+-
+ out = (FILE *)0;
+ in = (FILE *)0;
+
+@@ -779,7 +777,6 @@ int main P2((ac, av), int ac, char **av)
+ case 'h': help(); exit(0);
+
+ default:
+- usage:
+ fprintf(stderr,
+ "Usage: %s [-fcpdhvuaslFC] [files...] (-h for help)\n",
+ progname);
+--
+2.1.4
+