Steps for compiling a Freeciv server with Authentication support on Windows:

  1. Install Cygwin and necessary packages for compilation (autoconf, automake)
  2. Install minimal MinGW (MinGW-5.1.3.exe [1])
  3. Install MinGW Utils (mingw-utils-0.3.tar.gz [2])
  4. Configure path to use MinGW for compilation
  5. Install gettext ( [3] (alternate) and [4] (alternate))
  6. Apply gettext-S2_0-S2_1-2007-08-19.diff [5] (alternate)
  7. Install libiconv ( [6]) (alternate)
  8. Install mysqllib
    1. Download [7]
    2. Copy contents of /include to MinGW/include/mysql
    3. Copy contents of /lib/opt to a convenient directory
    4. Change to convenient directory in Cygwin
    5. Run reimp -d libmysql.lib
    6. Edit LIBMYSQL.def to add "mysql_query" just before "mysql_query@8"
    7. Run dlltool --input-def LIBMYSQL.def --dllname libmysql.dll --output-lib libmysqlclient.a --kill-at
    8. Copy libmysqlclient.a to MinGW/lib
    9. Edit server/auth.c to add "#include <winsock.h>" just before "#include <mysql/mysql.h>"
  9. Install zlib ( [8])
  10. Run ./ --enable-client=no --host=mingw32 CPPFLAGS=-mno-cygwin --enable-auth --enable-debug=no --without-readline
  11. Run make
  12. Take newly created server/civserver.exe and replace the one in the official distrubtion
Community content is available under CC-BY-SA unless otherwise noted.