1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(hengband, 3.0.0.0)
4 AC_CONFIG_HEADERS(src/autoconf.h)
5 AC_CONFIG_SRCDIR(src/main.cpp)
9 [ --with-setgid=NAME install hengband as group NAME],
12 yes) AC_MSG_ERROR(missing argument for --with-setgid);;
13 *) GAMEGROUP="$withval";;
16 AM_CONDITIONAL(SET_GID, test "$GAMEGROUP" != "")
18 dnl generate the installation path for the ./lib/ folder
19 if test "$GAMEGROUP" != ""; then
20 MY_EXPAND_DIR(game_libpath, "$datadir/games/$PACKAGE/lib/")
22 MY_EXPAND_DIR(game_libpath, "./lib/")
26 dnl overwrite the path with an user-specified value
28 [ --with-libpath=path specify the path to the Hengband lib folder],
29 [game_libpath="$withval"])
32 [ --with-varpath=path specify the path to the Hengband var folder],
33 [game_varpath="$withval"],
34 [game_varpath="$game_libpath"])
36 AC_DEFINE_UNQUOTED(DEFAULT_LIB_PATH, "$game_libpath", [Path to the Hengband lib folder])
37 DEFAULT_LIB_PATH="$game_libpath"
38 AC_SUBST(DEFAULT_LIB_PATH)
40 AC_DEFINE_UNQUOTED(DEFAULT_VAR_PATH, "$game_varpath", [Path to the Hengband var folder])
41 DEFAULT_VAR_PATH="$game_varpath"
42 AC_SUBST(DEFAULT_VAR_PATH)
44 dnl Checks for programs.
47 m4_ifdef([AX_CXX_COMPILE_STDCXX_17], [
48 AX_CXX_COMPILE_STDCXX_17
50 AC_MSG_ERROR([AX_CXX_COMPILE_STDCXX_17 macro is not defined. You need to install autoconf-archive.])
54 AC_ARG_ENABLE(japanese,
55 [ --disable-japanese build english version], use_japanese=no, [AC_DEFINE(JP, 1, [Enable Japanese]) AC_DEFINE(EUC, 1, [Use Extended Unix Code])])
58 [ --disable-xim disable xim support], use_xim=no, use_xim=yes)
59 AC_ARG_ENABLE(fontset,
60 [ --disable-fontset disable fontset support], use_fontset=no, use_fontset=yes)
62 AS_HELP_STRING([--enable-xft], [Enable xft support]))
63 AC_ARG_ENABLE(worldscore,
64 [ --disable-worldscore disable worldscore support], worldscore=no, AC_DEFINE(WORLD_SCORE, 1, [Allow the game to send scores to the score server]))
65 AC_ARG_ENABLE(chuukei,
66 [ --enable-chuukei enable internet chuukei support], AC_DEFINE(CHUUKEI, 1, [Chuukei mode]))
68 [ --disable-pch disable use of precompiled headers],
69 enable_pch=no, enable_pch=yes)
70 AM_CONDITIONAL([PCH], [test x$enable_pch = xyes])
72 dnl Checks for libraries.
73 dnl Replace `main' with a function in -lncurses:
74 AC_CHECK_LIB(ncursesw, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) AC_DEFINE(USE_NCURSES, 1, [Use ncurses]) LIBS="$LIBS -lncursesw"])
75 if test "$ac_cv_lib_ncursesw_initscr" != yes; then
76 AC_CHECK_LIB(ncurses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) AC_DEFINE(USE_NCURSES, 1, [Use ncurses]) LIBS="$LIBS -lncurses"])
77 if test "$ac_cv_lib_ncurses_initscr" != yes; then
78 AC_CHECK_LIB(curses, initscr, [AC_DEFINE(USE_GCU, 1, [Allow -mGCU environment]) LIBS="$LIBS -lcurses"])
79 if test "$ac_cv_lib_curses_initscr" != yes; then
80 AC_CHECK_LIB(termcap, tgetent, [AC_DEFINE(USE_CAP, 1, [Allow -mCAP environment]) LIBS="$LIBS -ltermcap"])
85 AC_CHECK_LIB(iconv, iconv_open)
87 if test "$worldscore" != no; then
88 PKG_CHECK_MODULES(libcurl, [libcurl])
91 dnl Checks for header files.
93 if test "$have_x" = yes; then
95 AC_DEFINE(USE_X11, 1, [Allow -mX11 environment])
96 CFLAGS="$X_CFLAGS $CFLAGS"
97 LDFLAGS="$X_LIBS $LDFLAGS"
99 if test "$use_fontset" = yes; then
100 AC_DEFINE(USE_FONTSET, 1, [Use FontSet])
102 if test "$use_japanese" != no; then
103 AC_DEFINE(USE_JP_FONTSTRUCT, 1, [Use Kanji without FontSet])
107 if test "$use_xim" = yes; then
108 AC_DEFINE(USE_XIM, 1, [Use X Imput Method])
111 if test "$use_fontset" = yes || test "$use_xim" = yes; then
112 AC_DEFINE(USE_LOCALE, 1, [Support Locale])
113 if test "$use_japanese" != no; then
114 AC_DEFINE(DEFAULT_LOCALE, "ja_JP.eucJP", Default Japanese Locale)
116 AC_CHECK_LIB(X11, _Xsetlocale, AC_DEFINE(X_LOCALE, 1, [Use XLocale]))
117 AC_CHECK_LIB(xpg4, setlocale, LIBS="$LIBS -lxpg4")
120 AS_IF([test "x$enable_xft" = "xyes"], [
121 PKG_CHECK_MODULES(XFT, [xft],
122 [AC_DEFINE([USE_XFT], [1], [Use XFT])])
126 if test "$use_japanese" != no; then
127 AC_CHECK_PROG(NKF, nkf, yes)
128 if test x"$NKF" != x"yes"; then
129 AC_MSG_ERROR([nkf is not found. Please install nkf.])
133 AC_CHECK_HEADERS(fcntl.h sys/file.h sys/ioctl.h sys/time.h termio.h unistd.h stdint.h)
135 dnl Checks for typedefs, structures, and compiler characteristics.
141 dnl Checks for library functions.
142 AC_PROG_GCC_TRADITIONAL
146 AC_CHECK_FUNCS(gethostname mkdir select socket strtol vsnprintf mkstemp usleep)
148 AC_CONFIG_FILES(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)