dnl Process this file with autoconf to produce a configure script.
-AC_INIT(hengband, 2.1.4)
+AC_INIT(hengband, 3.0.0.0)
AC_CONFIG_HEADERS(src/autoconf.h)
-AC_CONFIG_SRCDIR(src/main.c)
+AC_CONFIG_SRCDIR(src/main.cpp)
AM_INIT_AUTOMAKE
AC_ARG_WITH(setgid,
AC_SUBST(GAMEGROUP)
AM_CONDITIONAL(SET_GID, test "$GAMEGROUP" != "")
-AC_LANG_C
-
dnl generate the installation path for the ./lib/ folder
if test "$GAMEGROUP" != ""; then
- MY_EXPAND_DIR(game_datadir, "$datadir/games/$PACKAGE/lib/")
+ MY_EXPAND_DIR(game_libpath, "$datadir/games/$PACKAGE/lib/")
else
- MY_EXPAND_DIR(game_datadir, "./lib/")
+ MY_EXPAND_DIR(game_libpath, "./lib/")
bindir=".."
fi
dnl overwrite the path with an user-specified value
AC_ARG_WITH(libpath,
[ --with-libpath=path specify the path to the Hengband lib folder],
-[game_datadir="$withval"])
+[game_libpath="$withval"])
+
+AC_ARG_WITH(varpath,
+[ --with-varpath=path specify the path to the Hengband var folder],
+[game_varpath="$withval"],
+[game_varpath="$game_libpath"])
+
+AC_DEFINE_UNQUOTED(DEFAULT_LIB_PATH, "$game_libpath", [Path to the Hengband lib folder])
+DEFAULT_LIB_PATH="$game_libpath"
+AC_SUBST(DEFAULT_LIB_PATH)
-AC_DEFINE_UNQUOTED(DEFAULT_PATH, "$game_datadir", [Path to the Hengband lib folder])
-DEFAULT_PATH="$game_datadir"
-AC_SUBST(DEFAULT_PATH)
+AC_DEFINE_UNQUOTED(DEFAULT_VAR_PATH, "$game_varpath", [Path to the Hengband var folder])
+DEFAULT_VAR_PATH="$game_varpath"
+AC_SUBST(DEFAULT_VAR_PATH)
dnl Checks for programs.
-AC_PROG_CC
+AC_LANG(C++)
+AC_PROG_CXX
+m4_ifdef([AX_CXX_COMPILE_STDCXX_17], [
+ AX_CXX_COMPILE_STDCXX_17
+], [
+ AC_MSG_ERROR([AX_CXX_COMPILE_STDCXX_17 macro is not defined. You need to install autoconf-archive.])
+])
+PKG_PROG_PKG_CONFIG
AC_ARG_ENABLE(japanese,
[ --disable-japanese build english version], use_japanese=no, [AC_DEFINE(JP, 1, [Enable Japanese]) AC_DEFINE(EUC, 1, [Use Extended Unix Code])])
[ --disable-xim disable xim support], use_xim=no, use_xim=yes)
AC_ARG_ENABLE(fontset,
[ --disable-fontset disable fontset support], use_fontset=no, use_fontset=yes)
+AC_ARG_ENABLE([xft],
+ AS_HELP_STRING([--enable-xft], [Enable xft support]))
AC_ARG_ENABLE(worldscore,
-[ --disable-worldscore disable worldscore support], ,AC_DEFINE(WORLD_SCORE, 1, [Allow the game to send scores to the score server]))
+[ --disable-worldscore disable worldscore support], worldscore=no, AC_DEFINE(WORLD_SCORE, 1, [Allow the game to send scores to the score server]))
AC_ARG_ENABLE(chuukei,
[ --enable-chuukei enable internet chuukei support], AC_DEFINE(CHUUKEI, 1, [Chuukei mode]))
-
-dnl -fno-strength-reduce prevents a bug in some versions of gcc
-if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -fno-strength-reduce --exec-charset=EUC-JP-MS"
-fi
+AC_ARG_ENABLE([pch],
+[ --disable-pch disable use of precompiled headers],
+enable_pch=no, enable_pch=yes)
+AM_CONDITIONAL([PCH], [test x$enable_pch = xyes])
dnl Checks for libraries.
dnl Replace `main' with a function in -lncurses:
AC_CHECK_FILE(/dev/urandom, AC_DEFINE(RNG_DEVICE, "/dev/urandom", [Random Number Generation device file]))
+if test "$worldscore" != no; then
+ PKG_CHECK_MODULES(libcurl, [libcurl])
+fi
+
dnl Checks for header files.
AC_PATH_XTRA
if test "$have_x" = yes; then
AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE, 1, [Use XLocale]))
AC_CHECK_LIB(xpg4, setlocale, LIBS="$LIBS -lxpg4")
fi
+
+ AS_IF([test "x$enable_xft" = "xyes"], [
+ PKG_CHECK_MODULES(XFT, [xft],
+ [AC_DEFINE([USE_XFT], [1], [Use XFT])])
+ ])
+fi
+
+if test "$use_japanese" != no; then
+ AC_CHECK_PROG(NKF, nkf, yes)
+ if test x"$NKF" != x"yes"; then
+ AC_MSG_ERROR([nkf is not found. Please install nkf.])
+ fi
fi
AC_HEADER_STDC
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(gethostname mkdir select socket strtol vsnprintf mkstemp usleep)
-AC_OUTPUT(Makefile src/Makefile lib/Makefile lib/apex/Makefile lib/bone/Makefile lib/data/Makefile lib/edit/Makefile lib/file/Makefile lib/help/Makefile lib/info/Makefile lib/pref/Makefile lib/save/Makefile lib/script/Makefile lib/user/Makefile lib/xtra/Makefile lib/xtra/font/Makefile lib/xtra/graf/Makefile lib/xtra/music/Makefile lib/xtra/sound/Makefile)
+AC_OUTPUT(Makefile src/Makefile lib/Makefile lib/apex/Makefile lib/bone/Makefile lib/data/Makefile lib/edit/Makefile lib/file/Makefile lib/help/Makefile lib/info/Makefile lib/pref/Makefile lib/save/Makefile lib/script/Makefile lib/user/Makefile lib/xtra/Makefile lib/xtra/graf/Makefile lib/xtra/music/Makefile lib/xtra/sound/Makefile)