annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
156
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
1 # -*- Autoconf -*-
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
2 # Process this file with autoconf to produce a configure script.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
3
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
4 AC_PREREQ(2.56)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
5 AC_INIT([XRogue],[8.0.3], [yendor@rogueforge.net])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
6 AC_CONFIG_HEADERS([config.h])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
7 AC_CONFIG_FILES([Makefile])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
8
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
9 # Checks for programs.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
10 AC_PROG_CC
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
11 # Checks for libraries.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
12 MP_WITH_CURSES
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
13 # Checks for header files.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
14 AC_HEADER_STDC
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
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])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
16
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
17 # Checks for typedefs, structures, and compiler characteristics.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
18 AC_TYPE_SIZE_T
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
19 AC_STRUCT_TM
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
20 # Checks for library functions.
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
21 AC_FUNC_FORK
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
22 AC_PROG_GCC_TRADITIONAL
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
23 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
24 AC_TYPE_SIGNAL
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
25 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr _spawnl spawnl getpwuid loadav strerror setgid setuid getuid getgid])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
26 AC_PROG_INSTALL
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
27
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
28 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="xrogue"] )
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
29 PROGRAM=$progname
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
30 AC_SUBST(PROGRAM)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
31
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
32 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
33 AC_MSG_CHECKING([if using setgid execute bit])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
34 if test "x$enable_setgid" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
35 GROUPOWNER=
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
36 elif test "x$enable_setgid" = "xyes" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
37 GROUPOWNER=games
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
38 elif test "x$enable_setgid" = "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
39 GROUPOWNER=
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
40 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
41 GROUPOWNER=$enable_setgid
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
42 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
43
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
44 if test "x$GROUPOWNER" != "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
45 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
46 AC_MSG_RESULT([$GROUPOWNER])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
47 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
48 AC_MSG_RESULT([no])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
49 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
50
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
51 AC_SUBST(GROUPOWNER)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
52
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
53 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
54 AC_MSG_CHECKING([for scoreboard file])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
55 if test "x$enable_scorefile" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
56 SCOREFILE=
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
57 elif test "x$enable_scorefile" = "xyes" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
58 SCOREFILE=$progname.scr
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
59 elif test "x$enable_scorefile" = "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
60 SCOREFILE=$progname.scr
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
61 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
62 SCOREFILE=$enable_scorefile
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
63 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
64
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
65 if test "x$SCOREFILE" != "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
66 AC_DEFINE_UNQUOTED([SCOREFILE], ["$SCOREFILE"], [Define to file to use for scoreboard])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
67 AC_MSG_RESULT([$SCOREFILE])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
68 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
69 AC_MSG_RESULT([disabled])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
70 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
71
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
72 AC_SUBST(SCOREFILE)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
73
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
74 AC_ARG_ENABLE([logfile],[AC_HELP_STRING([--enable-logfile=LOGFILE], [enable logfile with given filename])],[],[])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
75 AC_MSG_CHECKING([for log file])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
76 if test "x$enable_logfile" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
77 LOGFILE=
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
78 elif test "x$enable_logfile" = "xyes" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
79 LOGFILE=$progname.log
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
80 elif test "x$enable_logfile" = "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
81 LOGFILE=$progname.log
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
82 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
83 LOGFILE=$enable_logfile
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
84 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
85
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
86 if test "x$LOGFILE" != "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
87 AC_DEFINE_UNQUOTED([LOGFILE], ["$LOGFILE"], [Define to file to use for log])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
88 AC_MSG_RESULT([$LOGFILE])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
89 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
90 AC_MSG_RESULT([disabled])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
91 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
92
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
93 AC_SUBST(LOGFILE)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
94
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
95 AC_ARG_ENABLE([savedir],[AC_HELP_STRING([--enable-savedir=SAVEDIR], [enable systemwide location for saved games])],[],[enable_savedir="no"])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
96 AC_MSG_CHECKING([for save directory])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
97 if test "x$enable_savedir" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
98 SAVEDIR=
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
99 elif test "x$enable_savedir" = "xyes" -o "x$enable_savedir" = "x"; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
100 if text "x$GROUPOWNER" != "x"; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
101 SAVEDIR="/var/local/games/roguelike/${progname}save/"
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
102 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
103 SAVEDIR="$progname/"
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
104 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
105 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
106 SAVEDIR="$enable_savedir"
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
107 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
108
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
109 if test "x$SAVEDIR" != "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
110 AC_DEFINE_UNQUOTED([SAVEDIR], ["$SAVEDIR"], [Define to systemwide directory for storing saved games])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
111 AC_MSG_RESULT([$SAVEDIR])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
112 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
113 AC_MSG_RESULT([disabled])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
114 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
115
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
116 AC_SUBST(SAVEDIR)
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
117
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
118 AC_ARG_ENABLE([wizardmode],[AC_HELP_STRING([--enable-wizardmode], [enable availability of wizard mode @<:@default=no@:>@])],[],[])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
119 AC_MSG_CHECKING([if wizard mode is enabled])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
120 if test "x$enable_wizardmode" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
121 AC_MSG_RESULT([no])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
122 elif test "x$enable_wizardmode" = "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
123 AC_MSG_RESULT([no])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
124 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
125 AC_DEFINE([WIZARD], [], [Define to include wizard mode])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
126 AC_MSG_RESULT([yes])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
127 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
128
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
129 AC_ARG_ENABLE([limitscore],[AC_HELP_STRING([--enable-limitscore], [limit scores to one per class per uid @<:@default=no@:>@])],[],[])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
130 AC_MSG_CHECKING([if limiting scores])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
131 if test "x$enable_limitscore" = "xno" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
132 AC_MSG_RESULT([no])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
133 elif test "x$enable_limitscore" = "x" ; then
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
134 AC_MSG_RESULT([no])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
135 else
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
136 AC_DEFINE([LIMITSCORE], [], [Define to limit scores to one per class per uid])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
137 AC_MSG_RESULT([yes])
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
138 fi
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
139
3e1146666ae5 arogue7, xrogue: begin using autoconf.
John "Elwin" Edwards
parents:
diff changeset
140 AC_OUTPUT