annotate rogue4/configure.ac @ 296:000b1c5b8d63

UltraRogue: fix inventory collision after save and restore. Inventory letters are based on "identifiers" stored in objects' o_ident field. Identifiers are allocated by get_ident(), which keeps a list of objects that have them, to avoid giving the same identifier to multiple objects. The list is not stored in the savefile, so after restore, get_ident() was not aware of existing identifiers. This resulted in picked-up objects having the same inventory letters as objects restored from the file. The restore code now adds all objects with identifiers to the list.
author John "Elwin" Edwards
date Mon, 15 Jan 2018 20:20:35 -0500
parents fe6b7a1a6dfc
children 029c1f5c5588
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)
287
0b3d1b38998f Remove version numbers from docdir paths.
John "Elwin" Edwards
parents: 278
diff changeset
5 AC_INIT([Rogue],[5.2.2], [yendor@rogueforge.net], [rogue4])
51
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 AC_CONFIG_FILES([Makefile rogue.6 rogue.me])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
9
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
10 # Checks for programs.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
11 AC_PROG_CC
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
12 # Checks for libraries.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
13 MP_WITH_CURSES
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
14 # Checks for header files.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
15 AC_HEADER_STDC
122
65f3da34578a rogue4, arogue5: improve portability.
John "Elwin" Edwards
parents: 93
diff changeset
16 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
17
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
18 # Checks for typedefs, structures, and compiler characteristics.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
19 AC_TYPE_UID_T
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
20 AC_TYPE_SIZE_T
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
21 AC_STRUCT_TM
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
22 # Checks for library functions.
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
23 AC_FUNC_FORK
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
24 AC_PROG_GCC_TRADITIONAL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
25 AC_FUNC_LSTAT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
26 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
27 AC_TYPE_SIGNAL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
28 AC_FUNC_STAT
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
29 AC_FUNC_VPRINTF
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
30 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
31 AC_PROG_INSTALL
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
32
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
33 # Programs to process the documentation
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
34 AC_CHECK_PROG([NROFF], [nroff], [nroff],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
35 AC_CHECK_PROG([GROFF], [groff], [groff],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
36 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
37 AC_CHECK_PROG([TBL], [tbl], [tbl],)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
38
294
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
39 if test "x$GROFF" != "x" ; then
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
40 DOCS_GROFF=
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
41 DOCS_NROFF=.no-nroff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
42 DOCS_NONE=.none
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
43 elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
44 DOCS_GROFF=.no-groff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
45 DOCS_NROFF=
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
46 DOCS_NONE=.none
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
47 else
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
48 DOCS_GROFF=.no-groff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
49 DOCS_NROFF=.no-nroff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
50 DOCS_NONE=
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
51 fi
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
52
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
53 AC_SUBST(DOCS_GROFF)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
54 AC_SUBST(DOCS_NROFF)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
55 AC_SUBST(DOCS_NONE)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
56
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
57 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
58 PROGRAM=$progname
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
59 AC_SUBST(PROGRAM)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
60
278
c222f9d56776 Remove an extra bracket from some Autoconf macros.
John "Elwin" Edwards
parents: 223
diff changeset
61 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[])
51
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
62 AC_MSG_CHECKING([if using setgid execute bit])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
63 if test "x$enable_setgid" = "xno" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
64 GROUPOWNER=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
65 elif test "x$enable_setgid" = "xyes" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
66 GROUPOWNER=games
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
67 elif test "x$enable_setgid" = "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
68 GROUPOWNER=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
69 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
70 GROUPOWNER=$enable_setgid
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
71 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
72
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
73 if test "x$GROUPOWNER" != "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
74 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
75 AC_MSG_RESULT([$GROUPOWNER])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
76 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
77 AC_MSG_RESULT([no])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
78 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
79
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
80 AC_SUBST(GROUPOWNER)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
81
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
82 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
83 AC_MSG_CHECKING([for scoreboard file])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
84 if test "x$enable_scorefile" = "xno" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
85 SCOREFILE=
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
86 elif test "x$enable_scorefile" = "xyes" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
87 SCOREFILE=$progname.scr
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
88 elif test "x$enable_scorefile" = "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
89 SCOREFILE=$progname.scr
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
90 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
91 SCOREFILE=$enable_scorefile
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
92 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
93
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
94 if test "x$SCOREFILE" != "x" ; then
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
95 AC_DEFINE_UNQUOTED([SCOREFILE], ["$SCOREFILE"], [Define to file to use for scoreboard])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
96 AC_MSG_RESULT([$SCOREFILE])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
97 else
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
98 AC_MSG_RESULT([disabled])
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
99 fi
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
100
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
101 AC_SUBST(SCOREFILE)
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents:
diff changeset
102
a1dc75e38e73 rogue4: ported to autoconf.
elwin
parents: