annotate srogue/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
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
1 # -*- Autoconf -*-
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
2 # Process this file with autoconf to produce a configure script.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
3
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
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([SRogue],[9.0], [yendor@rogueforge.net], [srogue])
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
6 AC_CONFIG_HEADERS([config.h])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
7 AC_CONFIG_FILES([Makefile])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
8
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
9 # Checks for programs.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
10 AC_PROG_CC
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
11 # Checks for libraries.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
12 MP_WITH_CURSES
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
13 # Checks for header files.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
14 AC_HEADER_STDC
118
8d1dfc5a912c srogue: add a complete mdport.c.
John "Elwin" Edwards
parents: 101
diff changeset
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 term.h ncurses/term.h process.h])
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
16
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
17 # Checks for typedefs, structures, and compiler characteristics.
119
458df24e973d srogue: use functions from mdport.c.
John "Elwin" Edwards
parents: 118
diff changeset
18 AC_TYPE_UID_T
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
19 AC_TYPE_SIZE_T
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
20 AC_STRUCT_TM
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
21 # Checks for library functions.
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
22 AC_FUNC_FORK
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
23 AC_PROG_GCC_TRADITIONAL
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
24 AC_TYPE_SIGNAL
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
25 AC_FUNC_STAT
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
26 AC_FUNC_VPRINTF
121
e6c8652473fe srogue: more compatibility improvements.
John "Elwin" Edwards
parents: 119
diff changeset
27 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr nlist _spawnl spawnl getpwuid loadav getloadavg strerror setgid setuid getuid getgid lrand48 random srand48 srandom])
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
28 AC_PROG_INSTALL
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
29
223
0e99eade579c Generate text documentation from the troff source files.
John "Elwin" Edwards
parents: 157
diff changeset
30 AC_CHECK_PROG([NROFF], [nroff], [nroff],)
0e99eade579c Generate text documentation from the troff source files.
John "Elwin" Edwards
parents: 157
diff changeset
31 AC_CHECK_PROG([GROFF], [groff], [groff],)
0e99eade579c Generate text documentation from the troff source files.
John "Elwin" Edwards
parents: 157
diff changeset
32 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
0e99eade579c Generate text documentation from the troff source files.
John "Elwin" Edwards
parents: 157
diff changeset
33 AC_CHECK_PROG([TBL], [tbl], [tbl],)
0e99eade579c Generate text documentation from the troff source files.
John "Elwin" Edwards
parents: 157
diff changeset
34
294
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
35 if test "x$GROFF" != "x" ; then
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
36 DOCS_GROFF=
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
37 DOCS_NROFF=.no-nroff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
38 DOCS_NONE=.none
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
39 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
40 DOCS_GROFF=.no-groff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
41 DOCS_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 else
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=.no-nroff
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
46 DOCS_NONE=
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
47 fi
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
48
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
49 AC_SUBST(DOCS_GROFF)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
50 AC_SUBST(DOCS_NROFF)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
51 AC_SUBST(DOCS_NONE)
fe6b7a1a6dfc Improve the documentation build process.
John "Elwin" Edwards
parents: 287
diff changeset
52
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
53 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="srogue"] )
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
54 PROGRAM=$progname
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
55 AC_SUBST(PROGRAM)
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
56
278
c222f9d56776 Remove an extra bracket from some Autoconf macros.
John "Elwin" Edwards
parents: 223
diff changeset
57 AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[])
101
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
58 AC_MSG_CHECKING([if using setgid execute bit])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
59 if test "x$enable_setgid" = "xno" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
60 GROUPOWNER=
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
61 elif test "x$enable_setgid" = "xyes" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
62 GROUPOWNER=games
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
63 elif test "x$enable_setgid" = "x" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
64 GROUPOWNER=
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
65 else
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
66 GROUPOWNER=$enable_setgid
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
67 fi
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
68
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
69 if test "x$GROUPOWNER" != "x" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
70 AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
71 AC_MSG_RESULT([$GROUPOWNER])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
72 else
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
73 AC_MSG_RESULT([no])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
74 fi
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
75
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
76 AC_SUBST(GROUPOWNER)
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
77
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
78 AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
79 AC_MSG_CHECKING([for scoreboard file])
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
80 if test "x$enable_scorefile" = "xno" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
81 SCOREFILE=
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
82 elif test "x$enable_scorefile" = "xyes" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
83 SCOREFILE=$progname.scr
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
84 elif test "x$enable_scorefile" = "x" ; then
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
85 SCOREFILE=$progname.scr
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
86 else
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
87 SCOREFILE=$enable_scorefile
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
88 fi
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards
parents:
diff changeset
89
15f8229f38c1 srogue: begin porting to autoconf.
John "Elwin" Edwards