X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=configure.ac;h=fac2d96e89c17b1306d5779fa98c7eca54e74b4b;hb=1019bb1dec530cc625e045a3224ae269e013d9fe;hp=f1d3a29b79bff780ca2edebe818264ac074c8cc3;hpb=6211077d4bda48920a8243abfaecb2474ff56bf6;p=hengbandforosx%2Fhengbandosx.git diff --git a/configure.ac b/configure.ac index f1d3a29b7..fac2d96e8 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(hengband, 2.1.2) +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, @@ -15,27 +15,41 @@ esac]) 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_PATH, "$game_datadir", [Path to the Hengband lib folder]) -DEFAULT_PATH="$game_datadir" -AC_SUBST(DEFAULT_PATH) +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_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])]) @@ -44,26 +58,38 @@ AC_ARG_ENABLE(xim, [ --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" -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_LIB(ncurses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) AC_DEFINE(USE_NCURSES, 1, [Use ncurses]) LIBS="$LIBS -lncurses"]) -if test "$ac_cv_lib_ncurses_initscr" != yes; then - AC_CHECK_LIB(curses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) LIBS="$LIBS -lcurses"]) - if test "$ac_cv_lib_curses_initscr" != yes; then - AC_CHECK_LIB(termcap, tgetent, [AC_DEFINE(USE_CAP, 1, [Allow -mCAP environment]) LIBS="$LIBS -ltermcap"]) +AC_CHECK_LIB(ncursesw, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) AC_DEFINE(USE_NCURSES, 1, [Use ncurses]) LIBS="$LIBS -lncursesw"]) +if test "$ac_cv_lib_ncursesw_initscr" != yes; then + AC_CHECK_LIB(ncurses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) AC_DEFINE(USE_NCURSES, 1, [Use ncurses]) LIBS="$LIBS -lncurses"]) + if test "$ac_cv_lib_ncurses_initscr" != yes; then + AC_CHECK_LIB(curses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) LIBS="$LIBS -lcurses"]) + if test "$ac_cv_lib_curses_initscr" != yes; then + AC_CHECK_LIB(termcap, tgetent, [AC_DEFINE(USE_CAP, 1, [Allow -mCAP environment]) LIBS="$LIBS -ltermcap"]) + fi fi fi +AC_CHECK_LIB(iconv, iconv_open) + +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 @@ -92,6 +118,18 @@ 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 @@ -110,6 +148,6 @@ AC_FUNC_MEMCMP AC_TYPE_SIGNAL AC_FUNC_STRFTIME AC_FUNC_VPRINTF -AC_CHECK_FUNCS(gethostname mkdir select socket strtol vasprintf vsnprintf mkstemp usleep) +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)