diff --git a/.appveyor-mingw.yml b/.appveyor-mingw.yml new file mode 100644 index 00000000..fed226b0 --- /dev/null +++ b/.appveyor-mingw.yml @@ -0,0 +1,63 @@ +image: + - Visual Studio 2013 + +build: + parallel: true + verbosity: detailed + +environment: + matrix: + - platform: x86 + glib-url: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip + glib-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib-dev_2.28.8-1_win32.zip + pkg-config-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip + gettext-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip + proxy-libintl-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/proxy-libintl-dev_20100902_win32.zip + + - platform: x64 + glib-url: http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip + glib-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib-dev_2.26.1-1_win64.zip + pkg-config-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip + gettext-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip + proxy-libintl-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/proxy-libintl-dev_20100902_win64.zip + +init: + - echo %APPVEYOR_BUILD_WORKER_IMAGE% + +install: +# make sure the latest version of git is installed + - choco upgrade git -y + - mkdir c:\deps + - cd c:\deps + - curl -fsS -o glib.zip %glib-url% + - curl -fsS -o glib-dev.zip %glib-dev-url% + - curl -fsS -o pkg-config.zip %pkg-config-url% + - curl -fsS -o gettext.zip %gettext-url% + - curl -fsS -o libintl-dev.zip %proxy-libintl-dev-url% + - 7z x glib.zip > NUL + - 7z x glib-dev.zip > NUL + - 7z x pkg-config.zip > NUL + - 7z x gettext.zip > NUL + - 7z x libintl-dev.zip > NUL + - SET PATH=C:\deps\bin;%PATH% + - if "%platform%"=="x64" ( SET "PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%" ) else ( SET "PATH=C:\MinGW\bin;%PATH%" ) + +build_script: +# - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 +# - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 + - cd C:\projects\fluidsynth-rjimi + - mkdir build + - cd build +# remove that path from PATH to make sure sh.exe is not found (cmake will complain otherwise) + - set PATH=%PATH:C:\Program Files\Git\usr\bin;=% + - echo %PATH% + - echo %CFLAGS% + - cmake -G "MinGW Makefiles" -DCMAKE_VERBOSE_MAKEFILE=1 .. + - mingw32-make.exe check + +after_build: + - 7z a fluidsynth-%platform%.zip %APPVEYOR_BUILD_FOLDER%\build\src\* c:\deps\bin\libglib*.dll c:\deps\bin\libgthread*.dll c:\deps\bin\*intl*.dll + +artifacts: + - path: build/fluidsynth-%platform%.zip + name: FluidSynth diff --git a/.appveyor.yml b/.appveyor.yml index 2cb89770..7281373e 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -63,7 +63,7 @@ install: - 7z x pkg-config.zip > NUL - 7z x gettext.zip > NUL - 7z x libintl-dev.zip > NUL - - SET PATH=C:\deps\bin;%PATH% + - SET "PATH=C:\deps\bin;%PATH%" build_script: # - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 diff --git a/README.md b/README.md index 8af7895f..dc3817d6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ |---|---|---| | Linux/MacOSX| n.a. | [![Build Status Travis](https://travis-ci.org/FluidSynth/fluidsynth.svg?branch=master)](https://travis-ci.org/FluidSynth/fluidsynth/branches) | | FreeBSD | n.a. | [![Build Status](https://api.cirrus-ci.com/github/FluidSynth/fluidsynth.svg?branch=master)](https://cirrus-ci.com/github/FluidSynth/fluidsynth) | -| Windows | [![Build status Appveyor](https://ci.appveyor.com/api/projects/status/n24ybk0dmttjwdk2/branch/master?svg=true)](https://ci.appveyor.com/project/derselbst/fluidsynth/branch/master) | [![Build status](https://ci.appveyor.com/api/projects/status/anbmtebt5uk4q1it/branch/master?svg=true)](https://ci.appveyor.com/project/derselbst/fluidsynth-g2ouw/branch/master) | +| Windows (VisualStudio) | [![Build status Appveyor](https://ci.appveyor.com/api/projects/status/n24ybk0dmttjwdk2/branch/master?svg=true)](https://ci.appveyor.com/project/derselbst/fluidsynth/branch/master) | [![Build status](https://ci.appveyor.com/api/projects/status/anbmtebt5uk4q1it/branch/master?svg=true)](https://ci.appveyor.com/project/derselbst/fluidsynth-g2ouw/branch/master) | +| Windows (MinGW) | [![Build status](https://ci.appveyor.com/api/projects/status/vv7hn9s01nlhv81v/branch/master?svg=true)](https://ci.appveyor.com/project/derselbst/fluidsynth-rjimi/branch/master) | n.a. | ### FluidSynth is a software real-time synthesizer based on the Soundfont 2 specifications. diff --git a/src/utils/fluid_sys.c b/src/utils/fluid_sys.c index c4eb5591..b85fa3fb 100644 --- a/src/utils/fluid_sys.c +++ b/src/utils/fluid_sys.c @@ -30,6 +30,12 @@ #include "fluid_rtkit.h" #endif +#if HAVE_PTHREAD_H && !defined(WIN32) +// Do not include pthread on windows. It includes winsock.h, which collides with ws2tcpip.h from fluid_sys.h +// It isn't need on Windows anyway. +#include +#endif + /* WIN32 HACK - Flag used to differentiate between a file descriptor and a socket. * Should work, so long as no SOCKET or file descriptor ends up with this bit set. - JG */ #ifdef _WIN32 diff --git a/src/utils/fluid_sys.h b/src/utils/fluid_sys.h index 39a4270a..9f2d6f6c 100644 --- a/src/utils/fluid_sys.h +++ b/src/utils/fluid_sys.h @@ -97,10 +97,6 @@ #include #endif -#if HAVE_PTHREAD_H -#include -#endif - #if HAVE_OPENMP #include #endif @@ -448,8 +444,6 @@ typedef GModule fluid_module_t; /* Sockets and I/O */ -fluid_istream_t fluid_get_stdin(void); -fluid_ostream_t fluid_get_stdout(void); int fluid_istream_readline(fluid_istream_t in, fluid_ostream_t out, char *prompt, char *buf, int len); int fluid_ostream_printf(fluid_ostream_t out, const char *format, ...);