91405f6
diff -up libsndfile-1.0.28/src/gsm610.c.systemgsm libsndfile-1.0.28/src/gsm610.c
91405f6
--- libsndfile-1.0.28/src/gsm610.c.systemgsm	2016-09-10 10:08:27.000000000 +0200
91405f6
+++ libsndfile-1.0.28/src/gsm610.c	2017-04-11 10:47:40.437162489 +0200
f36e9b6
@@ -27,7 +27,7 @@
f36e9b6
 #include "sfendian.h"
f36e9b6
 #include "common.h"
da22f99
 #include "wavlike.h"
f36e9b6
-#include "GSM610/gsm.h"
f36e9b6
+#include <gsm.h>
f36e9b6
 
f36e9b6
 #define	GSM610_BLOCKSIZE		33
f36e9b6
 #define	GSM610_SAMPLES			160
da22f99
@@ -391,7 +391,8 @@ gsm610_seek	(SF_PRIVATE *psf, int UNUSED
f36e9b6
 		psf_fseek (psf, psf->dataoffset, SEEK_SET) ;
f36e9b6
 		pgsm610->blockcount = 0 ;
f36e9b6
 
f36e9b6
-		gsm_init (pgsm610->gsm_data) ;
f36e9b6
+		gsm_destroy (pgsm610->gsm_data) ;
f36e9b6
+		pgsm610->gsm_data = gsm_create () ;
f36e9b6
 		if ((SF_CONTAINER (psf->sf.format)) == SF_FORMAT_WAV ||
f36e9b6
 				(SF_CONTAINER (psf->sf.format)) == SF_FORMAT_W64)
f36e9b6
 			gsm_option (pgsm610->gsm_data, GSM_OPT_WAV49, &true_flag) ;
91405f6
diff -up libsndfile-1.0.28/src/Makefile.am.systemgsm libsndfile-1.0.28/src/Makefile.am
91405f6
--- libsndfile-1.0.28/src/Makefile.am.systemgsm	2017-04-01 09:18:02.000000000 +0200
91405f6
+++ libsndfile-1.0.28/src/Makefile.am	2017-04-11 10:48:43.855620172 +0200
f36e9b6
@@ -8,7 +8,7 @@ lib_LTLIBRARIES = libsndfile.la
f36e9b6
 include_HEADERS = sndfile.hh
f36e9b6
 nodist_include_HEADERS = sndfile.h
f36e9b6
 
da22f99
-noinst_LTLIBRARIES =  GSM610/libgsm.la G72x/libg72x.la ALAC/libalac.la libcommon.la
da22f99
+noinst_LTLIBRARIES =  G72x/libg72x.la ALAC/libalac.la libcommon.la
f36e9b6
 
da22f99
 SYMBOL_FILES = Symbols.gnu-binutils Symbols.darwin libsndfile-1.def Symbols.os2 Symbols.static
da22f99
 
91405f6
@@ -43,7 +43,7 @@ libsndfile_la_CPPFLAGS = -DSNDFILE_EXPOR
da22f99
 libsndfile_la_LDFLAGS = -no-undefined -version-info  $(SHARED_VERSION_INFO) $(SHLIB_VERSION_ARG)
f36e9b6
 libsndfile_la_SOURCES = $(FILESPECIFIC) $(noinst_HEADERS)
f36e9b6
 nodist_libsndfile_la_SOURCES = $(nodist_include_HEADERS)
da22f99
-libsndfile_la_LIBADD = GSM610/libgsm.la G72x/libg72x.la ALAC/libalac.la \
da22f99
+libsndfile_la_LIBADD = -lgsm G72x/libg72x.la ALAC/libalac.la \
da22f99
 		libcommon.la $(EXTERNAL_XIPH_LIBS) -lm
f36e9b6
 
91405f6
 EXTRA_libsndfile_la_DEPENDENCIES = $(SYMBOL_FILES)
91405f6
@@ -58,12 +58,6 @@ libcommon_la_SOURCES = common.c file_io.
f36e9b6
 #======================================================================
f36e9b6
 # Subdir libraries.
f36e9b6
 
f36e9b6
-GSM610_libgsm_la_SOURCES = GSM610/config.h GSM610/gsm.h GSM610/gsm610_priv.h \
f36e9b6
-		GSM610/add.c GSM610/code.c GSM610/decode.c GSM610/gsm_create.c \
f36e9b6
-		GSM610/gsm_decode.c GSM610/gsm_destroy.c GSM610/gsm_encode.c \
f36e9b6
-		GSM610/gsm_option.c GSM610/long_term.c GSM610/lpc.c GSM610/preprocess.c \
f36e9b6
-		GSM610/rpe.c GSM610/short_term.c GSM610/table.c
f36e9b6
-
da22f99
 G72x_libg72x_la_SOURCES = G72x/g72x.h G72x/g72x_priv.h \
f36e9b6
 		G72x/g721.c G72x/g723_16.c G72x/g723_24.c G72x/g723_40.c G72x/g72x.c
f36e9b6