OSDN Git Service

Changed to mark the writeable files directory (~/Documents/Hengband previously) with...
[hengbandforosx/hengbandosx.git] / configure.ac
index 89ca020..cd180dc 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(hengband, 2.1.1)
+AC_INIT(hengband, 2.2.1.7)
 
 AC_CONFIG_HEADERS(src/autoconf.h)
 AC_CONFIG_SRCDIR(src/main.c)
@@ -19,20 +19,29 @@ 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/")
-  bindir=".."
+  MY_EXPAND_DIR(game_libpath, "./lib/")
+  bindir="`pwd`"
 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_DEFINE_UNQUOTED(DEFAULT_PATH, "$game_datadir", [Path to the Hengband lib folder])
-DEFAULT_PATH="$game_datadir"
-AC_SUBST(DEFAULT_PATH)
+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_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
@@ -48,25 +57,50 @@ AC_ARG_ENABLE(worldscore,
 [  --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, 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"
+AC_ARG_ENABLE([cocoa],
+[  --enable-cocoa          enable a Cocoa user interface (OS X only)],
+AC_DEFINE([MACH_O_COCOA], [1], [Use a Cocoa interface (OS X only)]), [])
+AM_CONDITIONAL([COCOA], [test x$enable_cocoa = xyes])
+dnl Since AC_PROG_OBJC has the side effect of setting this conditional,
+dnl guarantee that is is always set, regardless of what happens in the if
+dnl statement.
+AM_CONDITIONAL([am__fastdepOBJC], false)
+if test x"$enable_cocoa" = xyes ; then
+  dnl Use AC_LANG_PUSH and AC_LANG_POP to try to get back to the state that
+  dnl AC_LANG_C set in case there are side effects.
+  AC_LANG_PUSH([Objective C])
+  AC_PROG_OBJC
+  AC_LANG_POP([Objective C])
+  AC_DEFINE(SAFE_DIRECTORY, 1, [Mark var directory with version string])
+  AC_DEFINE(VERSION_STRING, "2.2.1", [Version string to use for var directory])
 fi
 
 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"])
+if test x"$enable_cocoa" != xyes ; then
+  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
 fi
 
+AC_CHECK_LIB(iconv, iconv_open)
+
+AC_CHECK_FILE(/dev/urandom, AC_DEFINE(RNG_DEVICE, "/dev/urandom", [Random Number Generation device file]))
+
 dnl Checks for header files.
+dnl AC_PATH_XTRA has side effects on CPP which are beneficial on Mac OS X.
+dnl Removing it or conditionally executing it will likely lead to warnings
+dnl on that platform about the preprocessor disagreeing with the compiler on
+dnl the tests in AC_CHECK_HEADERS.
 AC_PATH_XTRA
-if test "$have_x" = yes; then
+if test "$have_x" = yes && test x"$enable_cocoa" != xyes ; then
   LIBS="$LIBS -lX11"
   AC_DEFINE(USE_X11, 1, [Allow -mX11 environment])
   CFLAGS="$X_CFLAGS $CFLAGS"
@@ -94,6 +128,13 @@ if test "$have_x" = yes; then
   fi
 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_CHECK_HEADERS(fcntl.h strings.h sys/file.h sys/ioctl.h sys/time.h termio.h unistd.h stdint.h)
 
@@ -110,6 +151,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)