Mercurial > hg > early-roguelike
comparison xrogue/configure.ac @ 156:3e1146666ae5
arogue7, xrogue: begin using autoconf.
File locations can be customized via './configure'. 'make install'
does not work yet. Options for wizard mode and load checks may not do
what is intended.
Fun fact: there's an enlightening epigraph in the introduction to the
autoconf manual.
| author | John "Elwin" Edwards |
|---|---|
| date | Thu, 04 Jun 2015 10:41:39 -0400 |
| parents | |
| children | 5238b835d661 |
comparison
equal
deleted
inserted
replaced
| 155:1af259ac4ed2 | 156:3e1146666ae5 |
|---|---|
| 1 # -*- Autoconf -*- | |
| 2 # Process this file with autoconf to produce a configure script. | |
| 3 | |
| 4 AC_PREREQ(2.56) | |
| 5 AC_INIT([XRogue],[8.0.3], [yendor@rogueforge.net]) | |
| 6 AC_CONFIG_HEADERS([config.h]) | |
| 7 AC_CONFIG_FILES([Makefile]) | |
| 8 | |
| 9 # Checks for programs. | |
| 10 AC_PROG_CC | |
| 11 # Checks for libraries. | |
| 12 MP_WITH_CURSES | |
| 13 # Checks for header files. | |
| 14 AC_HEADER_STDC | |
| 15 AC_CHECK_HEADERS([pwd.h errno.h fcntl.h limits.h stdlib.h string.h sys/ioctl.h sys/utsname.h termios.h unistd.h term.h ncurses/term.h process.h]) | |
| 16 | |
| 17 # Checks for typedefs, structures, and compiler characteristics. | |
| 18 AC_TYPE_SIZE_T | |
| 19 AC_STRUCT_TM | |
| 20 # Checks for library functions. | |
| 21 AC_FUNC_FORK | |
| 22 AC_PROG_GCC_TRADITIONAL | |
| 23 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK | |
| 24 AC_TYPE_SIGNAL | |
| 25 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr _spawnl spawnl getpwuid loadav strerror setgid setuid getuid getgid]) | |
| 26 AC_PROG_INSTALL | |
| 27 | |
| 28 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="xrogue"] ) | |
| 29 PROGRAM=$progname | |
| 30 AC_SUBST(PROGRAM) | |
| 31 | |
| 32 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[]) | |
| 33 AC_MSG_CHECKING([if using setgid execute bit]) | |
| 34 if test "x$enable_setgid" = "xno" ; then | |
| 35 GROUPOWNER= | |
| 36 elif test "x$enable_setgid" = "xyes" ; then | |
| 37 GROUPOWNER=games | |
| 38 elif test "x$enable_setgid" = "x" ; then | |
| 39 GROUPOWNER= | |
| 40 else | |
| 41 GROUPOWNER=$enable_setgid | |
| 42 fi | |
| 43 | |
| 44 if test "x$GROUPOWNER" != "x" ; then | |
| 45 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable]) | |
| 46 AC_MSG_RESULT([$GROUPOWNER]) | |
| 47 else | |
| 48 AC_MSG_RESULT([no]) | |
| 49 fi | |
| 50 | |
| 51 AC_SUBST(GROUPOWNER) | |
| 52 | |
| 53 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[]) | |
| 54 AC_MSG_CHECKING([for scoreboard file]) | |
| 55 if test "x$enable_scorefile" = "xno" ; then | |
| 56 SCOREFILE= | |
| 57 elif test "x$enable_scorefile" = "xyes" ; then | |
| 58 SCOREFILE=$progname.scr | |
| 59 elif test "x$enable_scorefile" = "x" ; then | |
| 60 SCOREFILE=$progname.scr | |
| 61 else | |
| 62 SCOREFILE=$enable_scorefile | |
| 63 fi | |
| 64 | |
| 65 if test "x$SCOREFILE" != "x" ; then | |
| 66 AC_DEFINE_UNQUOTED([SCOREFILE], ["$SCOREFILE"], [Define to file to use for scoreboard]) | |
| 67 AC_MSG_RESULT([$SCOREFILE]) | |
| 68 else | |
| 69 AC_MSG_RESULT([disabled]) | |
| 70 fi | |
| 71 | |
| 72 AC_SUBST(SCOREFILE) | |
| 73 | |
| 74 AC_ARG_ENABLE([logfile],[AC_HELP_STRING([--enable-logfile=LOGFILE], [enable logfile with given filename])],[],[]) | |
| 75 AC_MSG_CHECKING([for log file]) | |
| 76 if test "x$enable_logfile" = "xno" ; then | |
| 77 LOGFILE= | |
| 78 elif test "x$enable_logfile" = "xyes" ; then | |
| 79 LOGFILE=$progname.log | |
| 80 elif test "x$enable_logfile" = "x" ; then | |
| 81 LOGFILE=$progname.log | |
| 82 else | |
| 83 LOGFILE=$enable_logfile | |
| 84 fi | |
| 85 | |
| 86 if test "x$LOGFILE" != "x" ; then | |
| 87 AC_DEFINE_UNQUOTED([LOGFILE], ["$LOGFILE"], [Define to file to use for log]) | |
| 88 AC_MSG_RESULT([$LOGFILE]) | |
| 89 else | |
| 90 AC_MSG_RESULT([disabled]) | |
| 91 fi | |
| 92 | |
| 93 AC_SUBST(LOGFILE) | |
| 94 | |
| 95 AC_ARG_ENABLE([savedir],[AC_HELP_STRING([--enable-savedir=SAVEDIR], [enable systemwide location for saved games])],[],[enable_savedir="no"]) | |
| 96 AC_MSG_CHECKING([for save directory]) | |
| 97 if test "x$enable_savedir" = "xno" ; then | |
| 98 SAVEDIR= | |
| 99 elif test "x$enable_savedir" = "xyes" -o "x$enable_savedir" = "x"; then | |
| 100 if text "x$GROUPOWNER" != "x"; then | |
| 101 SAVEDIR="/var/local/games/roguelike/${progname}save/" | |
| 102 else | |
| 103 SAVEDIR="$progname/" | |
| 104 fi | |
| 105 else | |
| 106 SAVEDIR="$enable_savedir" | |
| 107 fi | |
| 108 | |
| 109 if test "x$SAVEDIR" != "x" ; then | |
| 110 AC_DEFINE_UNQUOTED([SAVEDIR], ["$SAVEDIR"], [Define to systemwide directory for storing saved games]) | |
| 111 AC_MSG_RESULT([$SAVEDIR]) | |
| 112 else | |
| 113 AC_MSG_RESULT([disabled]) | |
| 114 fi | |
| 115 | |
| 116 AC_SUBST(SAVEDIR) | |
| 117 | |
| 118 AC_ARG_ENABLE([wizardmode],[AC_HELP_STRING([--enable-wizardmode], [enable availability of wizard mode @<:@default=no@:>@])],[],[]) | |
| 119 AC_MSG_CHECKING([if wizard mode is enabled]) | |
| 120 if test "x$enable_wizardmode" = "xno" ; then | |
| 121 AC_MSG_RESULT([no]) | |
| 122 elif test "x$enable_wizardmode" = "x" ; then | |
| 123 AC_MSG_RESULT([no]) | |
| 124 else | |
| 125 AC_DEFINE([WIZARD], [], [Define to include wizard mode]) | |
| 126 AC_MSG_RESULT([yes]) | |
| 127 fi | |
| 128 | |
| 129 AC_ARG_ENABLE([limitscore],[AC_HELP_STRING([--enable-limitscore], [limit scores to one per class per uid @<:@default=no@:>@])],[],[]) | |
| 130 AC_MSG_CHECKING([if limiting scores]) | |
| 131 if test "x$enable_limitscore" = "xno" ; then | |
| 132 AC_MSG_RESULT([no]) | |
| 133 elif test "x$enable_limitscore" = "x" ; then | |
| 134 AC_MSG_RESULT([no]) | |
| 135 else | |
| 136 AC_DEFINE([LIMITSCORE], [], [Define to limit scores to one per class per uid]) | |
| 137 AC_MSG_RESULT([yes]) | |
| 138 fi | |
| 139 | |
| 140 AC_OUTPUT |
