AM_CONFIG_HEADER(src/autoconf.h)
+AM_INIT_AUTOMAKE(hengband, 1.6.2)
+
+AC_ARG_WITH(setgid,
+[ --with-setgid=NAME install hengband as group NAME],
+[case "${withval}" in
+ no) GAMEGROUP="";;
+ yes) AC_MSG_ERROR(missing argument for --with-setgid);;
+ *) GAMEGROUP="$withval";;
+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/")
+else
+ MY_EXPAND_DIR(game_datadir, "./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"])
+
+AC_DEFINE_UNQUOTED(DEFAULT_PATH, "$game_datadir", [Path to the Hengband lib folder])
+DEFAULT_PATH="$game_datadir"
+AC_SUBST(DEFAULT_PATH)
+
dnl Checks for programs.
AC_PROG_CC
-AM_INIT_AUTOMAKE(hengband, 1.0.8)
-
AC_ARG_ENABLE(japanese,
-[ --disable-japanese disable japanese [**NOT WORK**]],use_japanese=no ,[AC_DEFINE(JP) AC_DEFINE(EUC)])
+[ --disable-japanese build english version], use_japanese=no, [AC_DEFINE(JP, 1, [Enable Japanese]) AC_DEFINE(EUC, 1, [Use Extended Unix Code])])
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(worldscore,
-[ --disable-worldscore disable worldscore support], ,AC_DEFINE(WORLD_SCORE))
+[ --disable-worldscore disable worldscore support], ,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))
+[ --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
dnl Checks for libraries.
dnl Replace `main' with a function in -lncurses:
-AC_CHECK_LIB(ncurses, initscr, [AC_DEFINE(USE_GCU) AC_DEFINE(USE_NCURSES) LIBS="$LIBS -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) LIBS="$LIBS -lcurses"])
+ 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) LIBS="$LIBS -ltermcap"])
+ AC_CHECK_LIB(termcap, tgetent, [AC_DEFINE(USE_CAP, 1, [Allow -mCAP environment]) LIBS="$LIBS -ltermcap"])
fi
fi
AC_PATH_XTRA
if test "$have_x" = yes; then
LIBS="$LIBS -lX11"
- AC_DEFINE(USE_X11)
+ AC_DEFINE(USE_X11, 1, [Allow -mX11 environment])
+ AC_DEFINE(USE_TRANSPARENCY, 1, [Use transparency mode])
CFLAGS="$X_CFLAGS $CFLAGS"
LDFLAGS="$X_LIBS $LDFLAGS"
if test "$use_japanese" != no; then
if test "$use_fontset" = yes; then
- AC_DEFINE(USE_FONTSET)
+ AC_DEFINE(USE_FONTSET, 1, [Use FontSet])
+ else
+ AC_DEFINE(_JP, 1, [Use Kanji without FontSet])
fi
if test "$use_xim" = yes; then
- AC_DEFINE(USE_XIM)
+ AC_DEFINE(USE_XIM, 1, [Use X Imput Method])
fi
- if test "$use_fontset" = yes || "$use_xim" = yes; then
- AC_DEFINE(USE_LOCALE)
+ if test "$use_fontset" = yes || test "$use_xim" = yes; then
+ AC_DEFINE(USE_LOCALE, 1, [Support Locale])
AC_DEFINE(DEFAULT_LOCALE, "ja_JP.eucJP", Default Japanese Locale)
- AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE))
- else
- AC_DEFINE(_JP)
+ AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE, 1, [Use XLocale]))
+ AC_CHECK_LIB(xpg4, setlocale, LIBS="$LIBS -lxpg4")
fi
fi
fi
AC_TYPE_SIGNAL
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(gethostname mkdir select socket strdup strstr strtol)
+AC_CHECK_FUNCS(gethostname mkdir select socket strstr strtol vasprintf 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)