<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <tt>Hello gnutls-devs,<br>
      <br>
      I'm cross-compiling FFmpeg with GnuTLS (on Windows using Cygwin,
      MinGW and GCC) for TLS 1.2 support.<br>
      Without intervention FFmpeg's configure would always fail:<br>
      <br>
      /cygdrive/m/[...]/bin/i686-w64-mingw32-gcc
      -Wl,--large-address-aware -Wl,--nxcompat,--dynamicbase
      -Wl,--as-needed -Wl,--pic-executable,-e,_mainCRTStartup
      -I/cygdrive/m/[...]/i686-w64-mingw32/include
      -L/cygdrive/m/[...]/i686-w64-mingw32/lib -o
      /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.c6JidCYd/test.exe
      /cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ffconf.c6JidCYd/test.o
      -lgnutls -lws2_32 -lgmp -lhogweed -lgmp -lnettle<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0xe55):
      undefined reference to
      `_imp__CertGetCertificateContextProperty@16'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x1662):
      undefined reference to `_imp__CertOpenSystemStoreA@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x169e):
      undefined reference to `_imp__CertFindCertificateInStore@24'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x16ca):
      undefined reference to
      `_imp__CertGetCertificateContextProperty@16'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x1932):
      undefined reference to `_imp__CertFreeCertificateContext@4'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x1944):
      undefined reference to `_imp__CertCloseStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2167):
      undefined reference to `_imp__CertOpenSystemStoreA@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x21a3):
      undefined reference to `_imp__CertFindCertificateInStore@24'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x21f0):
      undefined reference to `_imp__CertFreeCertificateContext@4'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x221d):
      undefined reference to `_imp__CertCloseStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x23ad):
      undefined reference to `_imp__CertCloseStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x249f):
      undefined reference to `_imp__CertOpenSystemStoreA@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x255b):
      undefined reference to `_imp__CertEnumCertificatesInStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x26db):
      undefined reference to `_imp__CertOpenSystemStoreA@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x26f5):
      undefined reference to `_imp__CertFindCertificateInStore@24'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2777):
      undefined reference to
      `_imp__CertGetCertificateContextProperty@16'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x27cc):
      undefined reference to `_imp__CertCloseStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2874):
      undefined reference to `_imp__CertDeleteCertificateFromStore@4'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2ab5):
      undefined reference to `_imp__CertCloseStore@8'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2d70):
      undefined reference to `_imp__PFXImportCertStore@12'<br>
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgnutls.a(keys-win.o):keys-win.c:(.text+0x2e7f):
      undefined reference to `_imp__CertFindCertificateInStore@24'<br>
      collect2: error: ld returned 1 exit status<br>
      ERROR: gnutls not found using pkg-config<br>
      <br>
      I've always had to update 'gnutls.pc.in':<br>
      <br>
      prefix=@prefix@<br>
      exec_prefix=@exec_prefix@<br>
      libdir=@libdir@<br>
      includedir=@includedir@<br>
      <br>
      Name: GnuTLS<br>
      Description: Transport Security Layer implementation for the GNU
      system<br>
      URL: <a class="moz-txt-link-freetext" href="http://www.gnutls.org/">http://www.gnutls.org/</a><br>
      Version: @VERSION@<br>
      Libs: -L${libdir} -lgnutls<br>
      Libs.private: @LIBINTL@ @LIBSOCKET@ @LIBNSL@ @LIBPTHREAD@
      @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBIDN2_LIBS@ <b>-lcrypt32</b><br>
      @GNUTLS_REQUIRES_PRIVATE@<br>
      Cflags: -I${includedir}<br>
      <br>
      or configure FFmpeg with --extra-libs=-lcrypt32 to correct this.<br>
      <br>
      In 'lib/Makefile.am' I did notice:<br>
      <br>
      if WINDOWS<br>
      thirdparty_libadd += -lcrypt32<br>
      endif<br>
      <br>
      and in 'lib/.libs/libgnutls.lai' I did notice:<br>
      <br>
      # Libraries that this one depends upon.<br>
      dependency_libs=' -lws2_32
      -L/cygdrive/m/[...]/i686-w64-mingw32/lib -lhogweed -lnettle
      /cygdrive/m/[...]/i686-w64-mingw32/lib/libgmp.la -lcrypt32'<br>
      <br>
      but as FFmpeg only checks the pkg-config file, I believe
      'gnutls.pc.in' is this case is in need of an update.<br>
      <br>
      -- Reino<br>
    </tt>
  </body>
</html>