]> skyeroc.xyz Git - dgamelaunch/commitdiff
autoconfize
authorJoshua Kwan <joshk@triplehelix.org>
Fri, 18 Jun 2004 17:57:29 +0000 (17:57 +0000)
committerJoshua Kwan <joshk@triplehelix.org>
Fri, 18 Jun 2004 17:57:29 +0000 (17:57 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@301 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

Makefile [deleted file]
Makefile.in [new file with mode: 0644]
configure.ac [new file with mode: 0644]
dgamelaunch.c
install-sh [new file with mode: 0755]

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index c9add46..0000000
--- a/Makefile
+++ /dev/null
@@ -1,117 +0,0 @@
-VERSION = 1.4.5
-# Hardcoded path to config file
-DEFCONFIG = /etc/dgamelaunch.conf
-NAME = dgamelaunch
-exclusions = CVS .svn .cvsignore tags
-PREFIX = /usr
-SBINDIR = $(PREFIX)/sbin
-ifeq ($(PREFIX),/usr)
-  MANDIR = $(PREFIX)/share/man
-else
-  MANDIR = $(PREFIX)/man
-endif
-MAN8 = dgamelaunch.8
-
-ifndef optimize
-  optimize = -O0
-endif
-
-ifneq (,$(shell which flex 2>/dev/null))
-  LEX = flex
-else
-  LEX = lex
-endif
-
-ifneq (,$(shell which bison 2>/dev/null))
-  YACC = bison -y
-else
-  YACC = yacc
-endif
-
-ifeq (Linux,$(shell uname -s))
-  LUTIL = -lutil
-else
-  ifeq (BSD,$(shell uname -s | sed -e 's/.*BSD/BSD/g'))
-    LUTIL = -lutil
-  endif
-endif
-
-ifeq (Darwin,$(shell uname -s)) 
-  LCRYPT =
-else
-  LCRYPT = -lcrypt
-endif
-
-ifeq (1,$(VIRUS))
-  EDITOR = virus.c
-else
-  EDITOR = ee.c
-endif
-
-CC = gcc
-LDFLAGS = 
-CFLAGS = -g3 $(optimize) -Wall -Wno-unused $(DEFS)
-INSTALL = install -c
-DEFS = -DVERSION=\"$(VERSION)\" -DDEFCONFIG=\"$(DEFCONFIG)\"
-SRCS = $(EDITOR) dgl-common.c ttyrec.c dgamelaunch.c io.c ttyplay.c mygetnstr.c stripgfx.c strlcpy.c strlcat.c y.tab.c lex.yy.c
-EXTRA_SRCS = nethackstub.c
-OBJS = $(SRCS:.c=.o)
-WALL_OBJS = y.tab.o lex.yy.o dgl-common.o dgl-wall.o strlcat.o strlcpy.o
-LIBS = -lcurses $(LCRYPT) $(LUTIL) -ll
-
-all: $(NAME) dgl-wall
-
-$(NAME): $(OBJS)
-       $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
-
-dgl-wall: $(WALL_OBJS)
-       $(CC) $(CFLAGS) -o $@ $(WALL_OBJS) $(LIBS)
-       
-clean:
-       rm -f $(NAME) nethackstub dgl-wall
-       rm -f editors/*.o *.o .#* *~ y.tab.* lex.yy.c Makefile.dep
-       
-install:
-       $(INSTALL) -m 755 $(NAME) $(SBINDIR)
-       $(INSTALL) -m 644 $(MAN8) $(MANDIR)/man8
-       
-indent:
-       indent -nut -ts2 *.c *.h
-       rm -f *~
-
-lex.yy.c: config.l
-       $(LEX) $<
-
-y.tab.c y.tab.h: config.y
-       $(YACC) -d $<
-
-lex.yy.o: lex.yy.c
-y.tab.o: y.tab.c
-
-dist: dep clean
-       rm -rf $(NAME)-$(VERSION)
-       (cd .. && ln -sf $(CURDIR) $(NAME)-$(VERSION))
-       (cd .. && tar $(addprefix --exclude ,$(exclusions)) -chzf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION))
-       rm -f ../$(NAME)-$(VERSION)
-       @echo "Created source release $(NAME)-$(VERSION).tar.gz"
-
-dep: y.tab.c lex.yy.c
-       @sed -e '/^# Source code dependencies/,$$d' < Makefile > Makefile.dep
-       @echo "# Source code dependencies" >> Makefile.dep
-       $(CC) -MM $(SRCS) $(EXTRA_SRCS) >> Makefile.dep
-       mv Makefile.dep Makefile
-
-# Source code dependencies
-ee.o: ee.c
-dgl-common.o: dgl-common.c dgamelaunch.h
-ttyrec.o: ttyrec.c dgamelaunch.h ttyrec.h io.h
-dgamelaunch.o: dgamelaunch.c dgamelaunch.h ttyplay.h ttyrec.h y.tab.h
-io.o: io.c ttyrec.h
-ttyplay.o: ttyplay.c dgamelaunch.h ttyplay.h ttyrec.h io.h stripgfx.h
-mygetnstr.o: mygetnstr.c
-stripgfx.o: stripgfx.c stripgfx.h
-strlcpy.o: strlcpy.c
-strlcat.o: strlcat.c
-y.tab.o: y.tab.c dgamelaunch.h
-lex.yy.o: lex.yy.c y.tab.h dgamelaunch.h
-nethackstub.o: nethackstub.c
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..ada238b
--- /dev/null
@@ -0,0 +1,83 @@
+NAME = @PACKAGE_NAME@
+VERSION = @PACKAGE_VERSION@
+
+exclusions = CVS .svn .cvsignore tags
+prefix = @prefix@
+sbindir = @sbindir@
+mandir = @mandir@
+
+CC = @CC@
+LIBS = @LIBS@ 
+CFLAGS = @CFLAGS@
+INSTALL = @INSTALL@
+LEX = @LEX@
+YACC = @YACC@
+
+MAN8 = dgamelaunch.8
+EDITOR = @EDITOR@
+
+SRCS = $(EDITOR) dgl-common.c ttyrec.c dgamelaunch.c io.c ttyplay.c mygetnstr.c stripgfx.c strlcpy.c strlcat.c y.tab.c lex.yy.c
+EXTRA_SRCS = nethackstub.c
+OBJS = $(SRCS:.c=.o)
+WALL_OBJS = y.tab.o lex.yy.o dgl-common.o dgl-wall.o strlcat.o strlcpy.o
+
+all: $(NAME) dgl-wall
+
+$(NAME): $(OBJS)
+       $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+
+dgl-wall: $(WALL_OBJS)
+       $(CC) $(CFLAGS) -o $@ $(WALL_OBJS) $(LIBS)
+       
+clean:
+       rm -f $(NAME) nethackstub dgl-wall
+       rm -f editors/*.o *.o .#* *~ y.tab.* lex.yy.c Makefile.dep
+       rm -f Makefile config.h config.log config.status
+       rm -rf autom4te.cache
+       
+install:
+       $(INSTALL_PROGRAM) -m 755 $(NAME) $(sbindir)
+       $(INSTALL_PROGRAM) -m 644 $(MAN8) $(mandir)/man8
+       
+indent:
+       indent -nut -ts2 *.c *.h
+       rm -f *~
+
+lex.yy.c: config.l
+       $(LEX) $<
+
+y.tab.c y.tab.h: config.y
+       $(YACC) -d $<
+
+lex.yy.o: lex.yy.c
+y.tab.o: y.tab.c
+
+dist: dep clean 
+       rm -rf $(NAME)-$(VERSION)
+       autoheader
+       autoconf
+       (cd .. && ln -sf $(CURDIR) $(NAME)-$(VERSION))
+       (cd .. && tar $(addprefix --exclude ,$(exclusions)) -chzf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION))
+       rm -f ../$(NAME)-$(VERSION)
+       @echo "Created source release $(NAME)-$(VERSION).tar.gz"
+
+dep: y.tab.c lex.yy.c
+       @sed -e '/^# Source code dependencies/,$$d' < Makefile > Makefile.dep
+       @echo "# Source code dependencies" >> Makefile.dep
+       $(CC) -MM $(SRCS) $(EXTRA_SRCS) >> Makefile.dep
+       mv Makefile.dep Makefile
+
+# Source code dependencies
+ee.o: ee.c
+dgl-common.o: dgl-common.c dgamelaunch.h
+ttyrec.o: ttyrec.c dgamelaunch.h ttyrec.h io.h
+dgamelaunch.o: dgamelaunch.c dgamelaunch.h ttyplay.h ttyrec.h y.tab.h
+io.o: io.c ttyrec.h
+ttyplay.o: ttyplay.c dgamelaunch.h ttyplay.h ttyrec.h io.h stripgfx.h
+mygetnstr.o: mygetnstr.c
+stripgfx.o: stripgfx.c stripgfx.h
+strlcpy.o: strlcpy.c
+strlcat.o: strlcat.c
+y.tab.o: y.tab.c dgamelaunch.h
+lex.yy.o: lex.yy.c y.tab.h dgamelaunch.h
+nethackstub.o: nethackstub.c
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..ae521eb
--- /dev/null
@@ -0,0 +1,38 @@
+AC_INIT(dgamelaunch, [1.4.6])
+AC_PREREQ(2.50)
+
+AC_CONFIG_HEADER(config.h)
+
+AC_PROG_CC
+AC_STDC_HEADERS
+AC_PROG_LEX
+
+LIBS="$LIBS $LEXLIB"
+
+AC_PROG_YACC
+
+case "$(uname -s)" in
+  Linux | *BSD)
+    LIBS="$LIBS -lutil -lcrypt"
+  ;;
+esac
+
+if test "$ac_cv_c_compiler_gnu" = yes; then
+  CFLAGS="$CFLAGS -Wall -Wno-unused"
+fi
+
+AC_PROG_INSTALL
+AC_SEARCH_LIBS(initscr, [ncurses curses termcap])
+
+AC_ARG_ENABLE(enable-virus,
+[AS_HELP_STRING([--enable-virus], [Use the 'virus' vi clone instead of the friendly ee editor.])],
+[AC_SUBST(EDITOR, virus.c)], [AC_SUBST(EDITOR, ee.c)])
+
+AC_ARG_WITH(config-file,
+[AS_HELP_STRING([--with-config-file=PATH], [Define the path to the default configuration file.])]
+[configfile=$withval], [configfile=/etc/dgamelaunch.conf])
+
+AC_DEFINE_UNQUOTED(DEFCONFIG, "$withval", [Path to the default config file.])
+
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
index bbe928a26955f55adc45830436cf5bc255117350..435c1d031724fa1edcba526cb105369ae28c5a5d 100644 (file)
@@ -31,6 +31,7 @@
 #define _GNU_SOURCE
 
 #include "dgamelaunch.h"
+#include "config.h"
 #include "ttyplay.h"
 #include "ttyrec.h"
 
@@ -246,7 +247,7 @@ loadbanner (struct dg_banner *ban)
       ban->len = 2;
       ban->lines = malloc (sizeof (char *));
       ban->lines[0] =
-        strdup ("### dgamelaunch " VERSION
+        strdup ("### dgamelaunch " PACKAGE_VERSION
                 " - network console game launcher");
       len = strlen(myconfig->banner) + ARRAY_SIZE("### NOTE: administrator has not installed a  file");
       ban->lines[1] = malloc(len);
@@ -277,9 +278,9 @@ loadbanner (struct dg_banner *ban)
                 bufnew[i] = *(b++);
               else
                 {
-                  strlcat (bufnew, VERSION, 80);
-                  b += 8;       /* skip the whole $VERSION string */
-                  i += ARRAY_SIZE (VERSION) - 1;
+                  strlcat (bufnew, PACKAGE_VERSION, 80);
+                  b += 8;       /* skip the whole $PACKAGE_VERSION string */
+                  i += ARRAY_SIZE (PACKAGE_VERSION) - 1;
                  break;
                 }
 
diff --git a/install-sh b/install-sh
new file mode 100755 (executable)
index 0000000..6ce63b9
--- /dev/null
@@ -0,0 +1,294 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+#
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+       -c) instcmd=$cpprog
+           shift
+           continue;;
+
+       -d) dir_arg=true
+           shift
+           continue;;
+
+       -m) chmodcmd="$chmodprog $2"
+           shift
+           shift
+           continue;;
+
+       -o) chowncmd="$chownprog $2"
+           shift
+           shift
+           continue;;
+
+       -g) chgrpcmd="$chgrpprog $2"
+           shift
+           shift
+           continue;;
+
+       -s) stripcmd=$stripprog
+           shift
+           continue;;
+
+       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+           shift
+           continue;;
+
+       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+           shift
+           continue;;
+
+       *)  if [ x"$src" = x ]
+           then
+               src=$1
+           else
+               # this colon is to work around a 386BSD /bin/sh bug
+               :
+               dst=$1
+           fi
+           shift
+           continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+       echo "$0: no input file specified" >&2
+       exit 1
+else
+       :
+fi
+
+if [ x"$dir_arg" != x ]; then
+       dst=$src
+       src=""
+
+       if [ -d "$dst" ]; then
+               instcmd=:
+               chmodcmd=""
+       else
+               instcmd=$mkdirprog
+       fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+       if [ -f "$src" ] || [ -d "$src" ]
+       then
+               :
+       else
+               echo "$0: $src does not exist" >&2
+               exit 1
+       fi
+
+       if [ x"$dst" = x ]
+       then
+               echo "$0: no destination specified" >&2
+               exit 1
+       else
+               :
+       fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+       if [ -d "$dst" ]
+       then
+               dst=$dst/`basename "$src"`
+       else
+               :
+       fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+       '
+IFS="${IFS-$defaultIFS}"
+
+oIFS=$IFS
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS=$oIFS
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+       pathcomp=$pathcomp$1
+       shift
+
+       if [ ! -d "$pathcomp" ] ;
+        then
+               $mkdirprog "$pathcomp"
+       else
+               :
+       fi
+
+       pathcomp=$pathcomp/
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+       $doit $instcmd "$dst" &&
+
+       if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+       if [ x"$transformarg" = x ]
+       then
+               dstfile=`basename "$dst"`
+       else
+               dstfile=`basename "$dst" $transformbasename |
+                       sed $transformarg`$transformbasename
+       fi
+
+# don't allow the sed command to completely eliminate the filename
+
+       if [ x"$dstfile" = x ]
+       then
+               dstfile=`basename "$dst"`
+       else
+               :
+       fi
+
+# Make a couple of temp file names in the proper directory.
+
+       dsttmp=$dstdir/_inst.$$_
+       rmtmp=$dstdir/_rm.$$_
+
+# Trap to clean up temp files at exit.
+
+       trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+       trap '(exit $?); exit' 1 2 13 15
+
+# Move or copy the file name to the temp name
+
+       $doit $instcmd "$src" "$dsttmp" &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+       if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+
+# Now remove or move aside any old file at destination location.  We try this
+# two ways since rm can't unlink itself on some systems and the destination
+# file might be busy for other reasons.  In this case, the final cleanup
+# might fail but the new file should still install successfully.
+
+{
+       if [ -f "$dstdir/$dstfile" ]
+       then
+               $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
+               $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
+               {
+                 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+                 (exit 1); exit
+               }
+       else
+               :
+       fi
+} &&
+
+# Now rename the file to the real destination.
+
+       $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+
+fi &&
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+
+{
+       (exit 0); exit
+}