annotate rogue4/configure.ac @ 173:78fa1d0e5d25

srogue: open the score and log files when the program starts. Super-Rogue can now use the same privilege-dropping scheme as the other games.
author John "Elwin" Edwards
date Sat, 01 Aug 2015 15:12:11 -0400
parents 5238b835d661
children 0e99eade579c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
1 # -*- Autoconf -*-
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
2 # Process this file with autoconf to produce a configure script.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
3
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
4 AC_PREREQ(2.56)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
5 AC_INIT([Rogue],[5.2.2], [yendor@rogueforge.net])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
6 AC_CONFIG_SRCDIR([armor.c])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
7 AC_CONFIG_HEADERS([config.h])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
8 # May not be needed for the documentation
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
9 AC_CONFIG_FILES([Makefile rogue.6 rogue.me])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
10
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
11 # Checks for programs.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
12 AC_PROG_CC
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
13 # Checks for libraries.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
14 MP_WITH_CURSES
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
15 # Checks for header files.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
16 AC_HEADER_STDC
122
65f3da34578a rogue4, arogue5: improve portability.
John "Elwin" Edwards
parents: 93
diff changeset
17 AC_CHECK_HEADERS([arpa/inet.h sys/utsname.h pwd.h fcntl.h limits.h nlist.h stdlib.h string.h sys/ioctl.h termios.h unistd.h utmpx.h term.h ncurses/term.h process.h])
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
18
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
19 # Checks for typedefs, structures, and compiler characteristics.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
20 AC_TYPE_UID_T
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
21 AC_TYPE_SIZE_T
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
22 AC_STRUCT_TM
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
23 # Checks for library functions.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
24 AC_FUNC_FORK
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
25 AC_PROG_GCC_TRADITIONAL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
26 AC_FUNC_LSTAT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
27 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
28 AC_TYPE_SIGNAL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
29 AC_FUNC_STAT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
30 AC_FUNC_VPRINTF
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
31 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr nlist _spawnl spawnl getpwuid loadav getloadavg strerror setgid setuid getuid getgid])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
32 AC_PROG_INSTALL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
33
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
34 # Programs to process the documentation
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
35 AC_CHECK_PROG([NROFF], [nroff], [nroff],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
36 AC_CHECK_PROG([GROFF], [groff], [groff],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
37 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
38 AC_CHECK_PROG([TBL], [tbl], [tbl],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
39 AC_CHECK_PROG([SED], [sed], [sed],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
40
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
41 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue4"] )
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
42 PROGRAM=$progname
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
43 AC_SUBST(PROGRAM)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
44
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
45 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@])],[],[])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
46 AC_MSG_CHECKING([if using setgid execute bit])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
47 if test "x$enable_setgid" = "xno" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
48 GROUPOWNER=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
49 elif test "x$enable_setgid" = "xyes" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
50 GROUPOWNER=games
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
51 elif test "x$enable_setgid" = "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
52 GROUPOWNER=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
53 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
54 GROUPOWNER=$enable_setgid
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
55 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
56
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
57 if test "x$GROUPOWNER" != "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
58 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
59 AC_MSG_RESULT([$GROUPOWNER])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
60 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
61 AC_MSG_RESULT([no])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
62 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
63
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
64 AC_SUBST(GROUPOWNER)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
65
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
66 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
67 AC_MSG_CHECKING([for scoreboard file])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
68 if test "x$enable_scorefile" = "xno" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
69 SCOREFILE=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
70 elif test "x$enable_scorefile" = "xyes" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
71 SCOREFILE=$progname.scr
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
72 elif test "x$enable_scorefile" = "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
73 SCOREFILE=$progname.scr
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
74 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
75 SCOREFILE=$enable_scorefile
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
76 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
77
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
78 if test "x$SCOREFILE" != "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
79 AC_DEFINE_UNQUOTED([SCOREFILE], ["$SCOREFILE"], [Define to file to use for scoreboard])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
80 AC_MSG_RESULT([$SCOREFILE])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
81 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
82 AC_MSG_RESULT([disabled])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
83 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
84
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
85 AC_SUBST(SCOREFILE)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
86
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
87 AC_ARG_ENABLE([logfile],[AC_HELP_STRING([--enable-logfile=LOGFILE], [enable logfile with given filename])],[],[])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
88 AC_MSG_CHECKING([for log file])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
89 if test "x$enable_logfile" = "xno" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
90 LOGFILE=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
91 elif test "x$enable_logfile" = "xyes" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
92 LOGFILE=$progname.log
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
93 elif test "x$enable_logfile" = "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
94 LOGFILE=$progname.log
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
95 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
96 LOGFILE=$enable_logfile
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
97 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
98
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
99 if test "x$LOGFILE" != "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
100 AC_DEFINE_UNQUOTED([LOGFILE], ["$LOGFILE"], [Define to file to use for log])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
101 AC_MSG_RESULT([$LOGFILE])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
102 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
103 AC_MSG_RESULT([disabled])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
104 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
105
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
106 AC_SUBST(LOGFILE)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
107
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
108 AC_ARG_ENABLE([lockfile],[AC_HELP_STRING([--enable-lockfile=LOCKFILE], [enable scoreboard lockfile with given filename])],[],[])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
109 AC_MSG_CHECKING([for scoreboard lockfile file])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
110 if test "x$enable_lockfile" = "xno" ; then