File liquid-dsp-mingw-fix.diff of Package mingw32-liquid-dsp
diff --git a/configure.ac b/configure.ac
index 62cd1d3..95a3f7a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,8 +69,16 @@ AC_FUNC_MALLOC
AC_FUNC_REALLOC
# AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])
-AC_CHECK_LIB([c],[main], [],[AC_MSG_ERROR(Could not use standard C library)], [])
-AC_CHECK_LIB([m],[main], [],[AC_MSG_ERROR(Could not use standard math library)],[])
+AC_CANONICAL_HOST
+case $host_os in
+ mingw*)
+ AC_CHECK_LIB([m],[sqrt], [],[AC_MSG_ERROR(Could not use standard math library)],[])
+ ;;
+ *)
+ AC_CHECK_LIB([c],[main], [],[AC_MSG_ERROR(Could not use standard C library)], [])
+ AC_CHECK_LIB([m],[main], [],[AC_MSG_ERROR(Could not use standard math library)],[])
+ ;;
+esac
# AC_CHECK_FUNC(function, [action-if-found], [action-if-not-found])
AC_CHECK_FUNC([malloc], [],[AC_MSG_ERROR(Could not use malloc())])
@@ -100,6 +108,9 @@ AC_CHECK_HEADERS(fec.h fftw3.h)
AC_CHECK_LIB([fftw3f], [fftwf_plan_dft_1d], [],
[AC_MSG_WARN(fftw3 library useful but not required)],
[])
+AC_CHECK_LIB([fftw3f-3], [fftwf_plan_dft_1d], [],
+ [AC_MSG_WARN(fftw3 library useful but not required)],
+ [])
AC_CHECK_LIB([fec], [create_viterbi27], [],
[AC_MSG_WARN(fec library useful but not required)],
[])
@@ -193,6 +204,10 @@ darwin*)
SH_LIB=libliquid.dylib
REBIND=""
;;
+mingw*)
+ SH_LIB=libliquid.dll
+ REBIND=""
+ ;;
*)
SH_LIB=libliquid.so
REBIND=ldconfig
diff --git a/makefile.in b/makefile.in
index 776c685..e80ca47 100644
--- a/makefile.in
+++ b/makefile.in
@@ -63,11 +63,18 @@ RANLIB := ranlib
INCLUDE_CFLAGS = $(addprefix -I ,$(include_dirs))
CONFIG_CFLAGS = @CFLAGS@ @DEBUG_OPTION@ @ARCH_OPTION@
# -g : debugging info
+ifneq (, $(findstring mingw, $(SYS)))
CFLAGS += $(INCLUDE_CFLAGS) -Wall -fPIC $(CONFIG_CFLAGS)
+else
+CFLAGS += $(INCLUDE_CFLAGS) -Wall $(CONFIG_CFLAGS)
+endif
LDFLAGS += @LIBS@
ARFLAGS = r
PATHSEP = /
+#build environment specific
+SYS := $(shell gcc -dumpmachine)
+
#
# liquid headers
#
@@ -1184,6 +1191,10 @@ libliquid.dylib: $(objects)
libliquid.so: libliquid.a
$(CC) -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive $(LDFLAGS)
+# windows, mingw
+libliquid.dll: libliquid.a
+ $(CC) -shared -Xlinker -soname=$@ -o $@ -Wl,-whole-archive,--output-def,libliquid.def,--out-implib,imp_libliquid.lib $^ -Wl,-no-whole-archive $(LDFLAGS)
+
all: libliquid.a $(SHARED_LIB)
##