annotate xrogue/configure.ac @ 310:827441d05b3e

Advanced Rogue family: fix some potential buffer overflows. Some code for determining the score file location assumed that PATH_MAX would be less than 1024, which cannot be guaranteed. Advanced Rogue 5 and 7, and XRogue, have had the buffers for the file name enlarged. UltraRogue never called the functions, so the code has been deleted instead.
author John "Elwin" Edwards
date Mon, 03 May 2021 19:05:37 -0400
parents 0b3d1b38998f
children 029c1f5c5588
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)
287
0b3d1b38998f Remove version numbers from docdir paths.
John "Elwin" Edwards
parents: 284
diff changeset
5 AC_INIT([XRogue],[8.0.3], [yendor@rogueforge.net], [xrogue])
156
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
284
6376b514a30b Fix more header-related warnings.
John "Elwin" Edwards
parents: 157
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 arpa/inet.h])
156
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: