Mercurial > hg > early-roguelike
annotate rogue3/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 |
rev | line source |
---|---|
88 | 1 # -*- Autoconf -*- |
2 # Process this file with autoconf to produce a configure script. | |
3 | |
4 AC_PREREQ(2.56) | |
287
0b3d1b38998f
Remove version numbers from docdir paths.
John "Elwin" Edwards
parents:
278
diff
changeset
|
5 AC_INIT([Rogue],[3.6.4], [yendor@rogueforge.net], [rogue3]) |
88 | 6 AC_CONFIG_HEADERS([config.h]) |
7 AC_CONFIG_FILES([Makefile rogue.6 rogue.r]) | |
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([arpa/inet.h pwd.h errno.h fcntl.h limits.h nlist.h stdlib.h string.h sys/ioctl.h termios.h unistd.h utmp.h utmpx.h term.h ncurses/term.h process.h]) | |
16 # WARN: the sources often don't include the headers when needed. That is one | |
17 # reason why adding "-Wall" to CFLAGS produces 1246 lines of messages. | |
18 | |
19 # Checks for typedefs, structures, and compiler characteristics. | |
20 AC_TYPE_UID_T | |
21 AC_TYPE_SIZE_T | |
22 AC_STRUCT_TM | |
23 # Checks for library functions. | |
24 AC_FUNC_FORK | |
25 AC_PROG_GCC_TRADITIONAL | |
26 AC_FUNC_LSTAT | |
27 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK | |
28 AC_TYPE_SIGNAL | |
29 AC_FUNC_STAT | |
30 AC_FUNC_VPRINTF | |
31 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr nlist _spawnl spawnl getpwuid loadav getloadavg strerror setgid setuid getuid getgid]) | |
32 AC_PROG_INSTALL | |
33 | |
34 # Programs to process the documentation | |
35 AC_CHECK_PROG([NROFF], [nroff], [nroff],) | |
36 AC_CHECK_PROG([GROFF], [groff], [groff],) | |
37 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],) | |
38 AC_CHECK_PROG([TBL], [tbl], [tbl],) | |
39 | |
294
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
40 if test "x$GROFF" != "x" ; then |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
41 DOCS_GROFF= |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
42 DOCS_NROFF=.no-nroff |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
43 DOCS_NONE=.none |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
44 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
|
45 DOCS_GROFF=.no-groff |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
46 DOCS_NROFF= |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
47 DOCS_NONE=.none |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
48 else |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
49 DOCS_GROFF=.no-groff |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
50 DOCS_NROFF=.no-nroff |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
51 DOCS_NONE= |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
52 fi |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
53 |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
54 AC_SUBST(DOCS_GROFF) |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
55 AC_SUBST(DOCS_NROFF) |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
56 AC_SUBST(DOCS_NONE) |
fe6b7a1a6dfc
Improve the documentation build process.
John "Elwin" Edwards
parents:
287
diff
changeset
|
57 |
88 | 58 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue3"] ) |
59 PROGRAM=$progname | |
60 AC_SUBST(PROGRAM) | |
61 | |
278
c222f9d56776
Remove an extra bracket from some Autoconf macros.
John "Elwin" Edwards
parents:
223
diff
changeset
|
62 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[]) |
88 | 63 AC_MSG_CHECKING([if using setgid execute bit]) |
64 if test "x$enable_setgid" = "xno" ; then | |
65 GROUPOWNER= | |
66 elif test "x$enable_setgid" = "xyes" ; then | |
67 GROUPOWNER=games | |
68 elif test "x$enable_setgid" = "x" ; then | |
69 GROUPOWNER= | |
70 else | |
71 GROUPOWNER=$enable_setgid | |
72 fi | |
73 | |
74 if test "x$GROUPOWNER" != "x" ; then | |
75 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable]) | |
76 AC_MSG_RESULT([$GROUPOWNER]) | |
77 else | |
78 AC_MSG_RESULT([no]) | |
79 fi | |
80 | |
81 AC_SUBST(GROUPOWNER) | |
82 | |
83 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[]) | |
84 AC_MSG_CHECKING([for scoreboard file]) | |
85 if test "x$enable_scorefile" = "xno" ; then | |
86 SCOREFILE= | |
87 elif test "x$enable_scorefile" = "xyes" ; then | |
88 SCOREFILE=$progname.scr | |
89 elif test "x$enable_scorefile" = "x" ; then | |
90 SCOREFILE=$progname.scr | |
91 else | |