diff --git a/doc/general.texi b/doc/general.texi index 978c34ea51..5f94d4ca97 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -530,27 +530,36 @@ Then you can easily test FFmpeg with Wine @subsection Compilation under Cygwin -Cygwin works very much like Unix. +The main issue with Cygwin is that newlib, its C library, does not +contain llrint(). However, it is possible to leverage the +implementation in MinGW. Just install your Cygwin with all the "Base" packages, plus the following "Devel" ones: @example -binutils, gcc-core, make, subversion +binutils, gcc-core, make, subversion, mingw-runtime @end example Do not install binutils-20060709-1 (they are buggy on shared builds); use binutils-20050610-1 instead. +Then create a small library that just contains llrint(): + +@example +ar x /usr/lib/mingw/libmingwex.a llrint.o +ar cq /usr/local/lib/libllrint.a llrint.o +@end example + Then run @example -./configure --enable-static --disable-shared +./configure --enable-static --disable-shared --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint' @end example to make a static build or @example -./configure --enable-shared --disable-static +./configure --enable-shared --disable-static --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint' @end example to build shared libraries.