UltraRogue: begin autoconfiscation.
Build options can now be set with configure.
This commit is contained in:
parent
6c46840eab
commit
e3c596c443
6 changed files with 315 additions and 12 deletions
|
|
@ -59,7 +59,7 @@ OBJS = armor.o \
|
||||||
wizard.o \
|
wizard.o \
|
||||||
xcrypt.o
|
xcrypt.o
|
||||||
|
|
||||||
PROGRAM = ur
|
PROGRAM =@PROGRAM@
|
||||||
|
|
||||||
CFILES = armor.c \
|
CFILES = armor.c \
|
||||||
artifact.c \
|
artifact.c \
|
||||||
|
|
@ -111,13 +111,17 @@ CFILES = armor.c \
|
||||||
|
|
||||||
MISC= Makefile README LICENSE.TXT history.txt TODO
|
MISC= Makefile README LICENSE.TXT history.txt TODO
|
||||||
|
|
||||||
CC = gcc
|
CC = @CC@
|
||||||
CFLAGS= -O3
|
CPPFLAGS=@DEFS@
|
||||||
CRLIB = -lcurses
|
CFLAGS=
|
||||||
|
CRLIB = @LIBS@
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
TAR = tar
|
TAR = tar
|
||||||
|
|
||||||
urogue: $(OBJS) $(MAKEFILE)
|
.c.o:
|
||||||
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $*.o $*.c
|
||||||
|
|
||||||
|
$(PROGRAM): $(OBJS) $(MAKEFILE)
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(CRLIB) -o $@
|
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(CRLIB) -o $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
122
urogue/acinclude.m4
Normal file
122
urogue/acinclude.m4
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
AC_DEFUN([MP_WITH_CURSES],
|
||||||
|
[AC_ARG_WITH(ncurses, [ --with-ncurses Force the use of ncurses over curses],,)
|
||||||
|
mp_save_LIBS="$LIBS"
|
||||||
|
CURSES_LIB=""
|
||||||
|
if test "$with_ncurses" != yes
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK([for working curses], mp_cv_curses,
|
||||||
|
[LIBS="$LIBS -lcurses"
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[#include <curses.h>],
|
||||||
|
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
|
||||||
|
mp_cv_curses=yes, mp_cv_curses=no)])
|
||||||
|
if test "$mp_cv_curses" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_CURSES_H, 1, [Define to 1 if libcurses is requested])
|
||||||
|
#AC_DEFINE(HAVE_CURSES_H)
|
||||||
|
CURSES_LIB="-lcurses"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test ! "$CURSES_LIB"
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK([for working ncurses], mp_cv_ncurses,
|
||||||
|
[LIBS="$mp_save_LIBS -lncurses"
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[#include <ncurses.h>],
|
||||||
|
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
|
||||||
|
mp_cv_ncurses=yes, mp_cv_ncurses=no)])
|
||||||
|
if test "$mp_cv_ncurses" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_NCURSES_H, 1, [Define to 1 if libncurses is requested])
|
||||||
|
CURSES_LIB="-lncurses"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test ! "$CURSES_LIB"
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK([for working pdcurses], mp_cv_pdcurses,
|
||||||
|
[LIBS="$mp_save_LIBS -lpdcurses"
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[#include <curses.h>],
|
||||||
|
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
|
||||||
|
mp_cv_pdcurses=yes, mp_cv_pdcurses=no)])
|
||||||
|
if test "$mp_cv_pdcurses" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_CURSES_H, 1, [Define to 1 if libcurses is requested])
|
||||||
|
CURSES_LIB="-lpdcurses"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test ! "$CURSES_LIB"
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK([for working pdcur], mp_cv_pdcur,
|
||||||
|
[LIBS="$mp_save_LIBS -lpdcur"
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[#include <curses.h>],
|
||||||
|
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
|
||||||
|
mp_cv_pdcur=yes, mp_cv_pdcur=no)])
|
||||||
|
if test "$mp_cv_pdcur" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_CURSES_H, 1, [Define to 1 if libcurses is requested])
|
||||||
|
CURSES_LIB="-lpdcur"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test ! "$CURSES_LIB"
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK([for working peer pdcurses], mp_cv_lpdcurses,
|
||||||
|
[LIBS="$mp_save_LIBS ../pdcurses/pdcurses.a"
|
||||||
|
AC_TRY_LINK(
|
||||||
|
[#include "../pdcurses/curses.h"],
|
||||||
|
[chtype a; int b=A_STANDOUT, c=KEY_LEFT; initscr(); ],
|
||||||
|
mp_cv_lpdcurses=yes, mp_cv_lpdcurses=no)])
|
||||||
|
if test "$mp_cv_lpdcurses" = yes
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_CURSES_H, 1, [Define to 1 if libcurses is requested])
|
||||||
|
CURSES_LIB="../pdcurses/pdcurses.a"
|
||||||
|
RF_ADDTO(CPPFLAGS,"-I../pdcurses")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_CACHE_CHECK([for ESCDELAY variable],
|
||||||
|
[mc_cv_ncurses_escdelay],
|
||||||
|
[AC_TRY_LINK([], [
|
||||||
|
extern int ESCDELAY;
|
||||||
|
ESCDELAY = 0;
|
||||||
|
],
|
||||||
|
[mc_cv_ncurses_escdelay=yes],
|
||||||
|
[mc_cv_ncurses_escdelay=no])
|
||||||
|
])
|
||||||
|
if test "$mc_cv_ncurses_escdelay" = yes; then
|
||||||
|
AC_DEFINE(HAVE_ESCDELAY, 1,
|
||||||
|
[Define if ncurses has ESCDELAY variable])
|
||||||
|
fi
|
||||||
|
if test ! "$CURSES_LIB" ; then
|
||||||
|
LIBS="$mp_save_LIBS"
|
||||||
|
fi
|
||||||
|
])dnl
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl RF_ADDTO(variable, value)
|
||||||
|
dnl
|
||||||
|
dnl Add value to variable
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([RF_ADDTO],[
|
||||||
|
if test "x$$1" = "x"; then
|
||||||
|
test "x$silent" != "xyes" && echo " setting $1 to \"$2\""
|
||||||
|
$1="$2"
|
||||||
|
else
|
||||||
|
apr_addto_bugger="$2"
|
||||||
|
for i in $apr_addto_bugger; do
|
||||||
|
apr_addto_duplicate="0"
|
||||||
|
for j in $$1; do
|
||||||
|
if test "x$i" = "x$j"; then
|
||||||
|
apr_addto_duplicate="1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test $apr_addto_duplicate = "0"; then
|
||||||
|
test "x$silent" != "xyes" && echo " adding \"$i\" to $1"
|
||||||
|
$1="$$1 $i"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
])dnl
|
||||||
|
|
||||||
|
|
||||||
171
urogue/configure.ac
Normal file
171
urogue/configure.ac
Normal file
|
|
@ -0,0 +1,171 @@
|
||||||
|
# -*- Autoconf -*-
|
||||||
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
AC_PREREQ(2.56)
|
||||||
|
AC_INIT([UltraRogue],[1.07], [yendor@rogueforge.net])
|
||||||
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
AC_CONFIG_FILES([Makefile])
|
||||||
|
|
||||||
|
# Checks for programs.
|
||||||
|
AC_PROG_CC
|
||||||
|
# Checks for libraries.
|
||||||
|
MP_WITH_CURSES
|
||||||
|
# Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS([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])
|
||||||
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_TYPE_UID_T
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_STRUCT_TM
|
||||||
|
# Checks for library functions.
|
||||||
|
AC_FUNC_FORK
|
||||||
|
AC_PROG_GCC_TRADITIONAL
|
||||||
|
AC_FUNC_LSTAT
|
||||||
|
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
|
||||||
|
AC_TYPE_SIGNAL
|
||||||
|
AC_FUNC_STAT
|
||||||
|
AC_FUNC_VPRINTF
|
||||||
|
AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr nlist _spawnl spawnl getpwuid loadav getloadavg strerror setgid setuid getuid getgid])
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
|
||||||
|
# Programs to process the documentation
|
||||||
|
#AC_CHECK_PROG([NROFF], [nroff], [nroff],)
|
||||||
|
#AC_CHECK_PROG([GROFF], [groff], [groff],)
|
||||||
|
#AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
|
||||||
|
#AC_CHECK_PROG([TBL], [tbl], [tbl],)
|
||||||
|
|
||||||
|
AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="urogue"] )
|
||||||
|
PROGRAM=$progname
|
||||||
|
AC_SUBST(PROGRAM)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(setgid, AC_HELP_STRING([--enable-setgid=NAME],[install executable as setgid with group ownership of NAME @<:@default=no@:>@]),[],[])
|
||||||
|
AC_MSG_CHECKING([if using setgid execute bit])
|
||||||
|
if test "x$enable_setgid" = "xno" ; then
|
||||||
|
GROUPOWNER=
|
||||||
|
elif test "x$enable_setgid" = "xyes" ; then
|
||||||
|
GROUPOWNER=games
|
||||||
|
elif test "x$enable_setgid" = "x" ; then
|
||||||
|
GROUPOWNER=
|
||||||
|
else
|
||||||
|
GROUPOWNER=$enable_setgid
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$GROUPOWNER" != "x" ; then
|
||||||
|
AC_DEFINE_UNQUOTED([GROUPOWNER],[$GROUPOWNER], [Define to group owner of setgid executable])
|
||||||
|
AC_MSG_RESULT([$GROUPOWNER])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(GROUPOWNER)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([scorefile],[AC_HELP_STRING([--enable-scorefile=SCOREFILE], [enable scoreboard with given filename])],[],[])
|
||||||
|
AC_MSG_CHECKING([for scoreboard file])
|
||||||
|
if test "x$enable_scorefile" = "xno" ; then
|
||||||
|
SCOREFILE=
|
||||||
|
elif test "x$enable_scorefile" = "xyes" ; then
|
||||||
|
SCOREFILE=$progname.scr
|
||||||
|
elif test "x$enable_scorefile" = "x" ; then
|
||||||
|
SCOREFILE=$progname.scr
|
||||||
|
else
|
||||||
|
SCOREFILE=$enable_scorefile
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$SCOREFILE" != "x" ; then
|
||||||
|
AC_DEFINE_UNQUOTED([SCOREFILE], ["$SCOREFILE"], [Define to file to use for scoreboard])
|
||||||
|
AC_MSG_RESULT([$SCOREFILE])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([disabled])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(SCOREFILE)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([logfile],[AC_HELP_STRING([--enable-logfile=LOGFILE], [enable logfile with given filename])],[],[])
|
||||||
|
AC_MSG_CHECKING([for log file])
|
||||||
|
if test "x$enable_logfile" = "xno" ; then
|
||||||
|
LOGFILE=
|
||||||
|
elif test "x$enable_logfile" = "xyes" ; then
|
||||||
|
LOGFILE=$progname.log
|
||||||
|
elif test "x$enable_logfile" = "x" ; then
|
||||||
|
LOGFILE=$progname.log
|
||||||
|
else
|
||||||
|
LOGFILE=$enable_logfile
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$LOGFILE" != "x" ; then
|
||||||
|
AC_DEFINE_UNQUOTED([LOGFILE], ["$LOGFILE"], [Define to file to use for log])
|
||||||
|
AC_MSG_RESULT([$LOGFILE])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([disabled])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(LOGFILE)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([savedir],[AC_HELP_STRING([--enable-savedir=SAVEDIR], [enable systemwide location for saved games])],[],[enable_savedir="no"])
|
||||||
|
AC_MSG_CHECKING([for save directory])
|
||||||
|
if test "x$enable_savedir" = "xno" ; then
|
||||||
|
SAVEDIR=
|
||||||
|
elif test "x$enable_savedir" = "xyes" -o "x$enable_savedir" = "x"; then
|
||||||
|
if test "x$GROUPOWNER" != "x"; then
|
||||||
|
SAVEDIR="/var/local/games/roguelike/${progname}save/"
|
||||||
|
else
|
||||||
|
SAVEDIR="$progname/"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
SAVEDIR="$enable_savedir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$SAVEDIR" != "x" ; then
|
||||||
|
AC_DEFINE_UNQUOTED([SAVEDIR], ["$SAVEDIR"], [Define to systemwide directory for storing saved games])
|
||||||
|
AC_MSG_RESULT([$SAVEDIR])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([disabled])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(SAVEDIR)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([chardir],[AC_HELP_STRING([--enable-chardir=CHARDIR], [enable systemwide location for character files])],[],[enable_chardir="no"])
|
||||||
|
AC_MSG_CHECKING([for character directory])
|
||||||
|
if test "x$enable_chardir" = "xno" ; then
|
||||||
|
CHARDIR=
|
||||||
|
elif test "x$enable_chardir" = "xyes" -o "x$enable_chardir" = "x"; then
|
||||||
|
if test "x$GROUPOWNER" != "x"; then
|
||||||
|
CHARDIR="/var/local/games/roguelike/${progname}char/"
|
||||||
|
else
|
||||||
|
CHARDIR="$progname/"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
CHARDIR="$enable_chardir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$CHARDIR" != "x" ; then
|
||||||
|
AC_DEFINE_UNQUOTED([CHARDIR], ["$CHARDIR"], [Define to systemwide directory for storing character files])
|
||||||
|
AC_MSG_RESULT([$CHARDIR])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([disabled])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(CHARDIR)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([wizardmode],[AC_HELP_STRING([--enable-wizardmode], [enable availability of wizard mode @<:@default=no@:>@])],[],[])
|
||||||
|
AC_MSG_CHECKING([if wizard mode is enabled])
|
||||||
|
if test "x$enable_wizardmode" = "xno" ; then
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
elif test "x$enable_wizardmode" = "x" ; then
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
else
|
||||||
|
AC_DEFINE([WIZARD], [], [Define to include wizard mode])
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to docdir is defined])
|
||||||
|
if test "x$docdir" = "x" ; then
|
||||||
|
AC_MSG_RESULT([docdir undefined])
|
||||||
|
docdir=\${datadir}/doc/\${PACKAGE_TARNAME}
|
||||||
|
AC_SUBST(docdir)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([docdir defined])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
|
@ -16,7 +16,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "rogue.h"
|
#include "rogue.h"
|
||||||
|
|
||||||
#define CHRDIR "."
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define I_STR 0
|
#define I_STR 0
|
||||||
#define I_INTEL 1
|
#define I_INTEL 1
|
||||||
|
|
@ -38,12 +40,12 @@ static void get_chr_filename(char *filename, int size)
|
||||||
|
|
||||||
home = getenv("HOME");
|
home = getenv("HOME");
|
||||||
|
|
||||||
#ifdef CHRDIR
|
#ifdef CHARDIR
|
||||||
if (use_savedir)
|
if (use_savedir)
|
||||||
{
|
{
|
||||||
strncpy(filename, CHRDIR, size);
|
strncpy(filename, CHARDIR, size);
|
||||||
filename[size-1] = '\0';
|
filename[size-1] = '\0';
|
||||||
snprintf(filename, size, "%s/%d-%.80s.chr", CHRDIR, md_getuid(),
|
snprintf(filename, size, "%s/%d-%.80s.chr", CHARDIR, md_getuid(),
|
||||||
whoami);
|
whoami);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,9 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "rogue.h"
|
#include "rogue.h"
|
||||||
|
|
||||||
#define SAVEDIR "."
|
#ifdef HAVE_CONFIG_H
|
||||||
#define SCOREFILE "/var/local/games/roguelike/urogue.scr"
|
#include "config.h"
|
||||||
#define LOGFILE "/var/local/games/roguelike/urogue.log"
|
#endif
|
||||||
|
|
||||||
FILE *fd_score = NULL;
|
FILE *fd_score = NULL;
|
||||||
FILE *file_log = NULL;
|
FILE *file_log = NULL;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,10 @@
|
||||||
SUCH DAMAGE.
|
SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <Lmcons.h>
|
#include <Lmcons.h>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue