comparison arogue7/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([ARogue],[7.7.1], [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 utmp.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="arogue7"] )
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_ARG_ENABLE([maxusers],[AC_HELP_STRING([--enable-maxusers], [enable maxuser @<:@default=no@:>@])],[],[])
141 AC_MSG_CHECKING([runtime execution limit (maximum online system users)])
142 if test "x$enable_maxusers" = "xyes" ; then
143 AC_DEFINE([MAXUSERS], [100], [Define if maxusers feature should be enabled])
144 AC_MSG_RESULT([100])
145 elif test "x$enable_maxusers" = "x" ; then
146 AC_MSG_RESULT([unlimited])
147 elif test "x$enable_maxusers" = "xno" ; then
148 AC_MSG_RESULT([unlimited])
149 else
150 AC_DEFINE_UNQUOTED([MAXUSERS], [$enable_maxusers], [Define if maxusers feature should be enabled])
151 AC_MSG_RESULT([$enable_maxusers])
152 fi
153
154 AC_OUTPUT