diff --git a/src/client/.cvsignore b/src/client/.cvsignore index d3f50ae1..96a981cd 100644 --- a/src/client/.cvsignore +++ b/src/client/.cvsignore @@ -1,2 +1,6 @@ +aclocal.m4 +autom4te.cache +config.h.in +configure empire ipglob.c diff --git a/src/client/Makefile.in b/src/client/Makefile.in new file mode 100644 index 00000000..e6dabd58 --- /dev/null +++ b/src/client/Makefile.in @@ -0,0 +1,95 @@ +# +# Empire - A multi-player, client/server Internet based war game. +# Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak, +# Ken Stevens, Steve McClure +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# --- +# +# See files README, COPYING and CREDITS in the root of the source +# tree for related information and legal notices. It is expected +# that future projects/authors will amend these files as needed. +# +# --- +# +# @configure_input@ +# Makefile.in: Makefile template for configure +# +# Known contributors to this file: +# Markus Armbruster, 2005-2006 +# + +CC = @CC@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ @DEFS@ -I. +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +E = @EXEEXT@ +O = @OBJEXT@ + +INSTALL = @INSTALL@ +INSTALL_DATA := @INSTALL_DATA@ +INSTALL_PROGRAM := @INSTALL_PROGRAM@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +mandir = @mandir@ + +srcdir = @srcdir@ +VPATH = @srcdir@ + +prog = empire$E +obj = expect.$O host.$O ioqueue.$O ipglob.$O login.$O main.$O queue.$O \ +saveargv.$O servcmd.$O serverio.$O tags.$O termio.$O termlib.$O + +all: $(prog) + +$(prog): $(obj) + $(CC) $(LDFLAGS) -o empire $(obj) $(LIBS) + +clean: + rm -f $(obj) $(prog) + +distclean: clean + rm -rf autom4te.cache config.status config.log Makefile + +install: all installdirs + $(INSTALL_PROGRAM) empire $(bindir)/empire + $(INSTALL_DATA) $(srcdir)/empire.6 $(mandir)/man6/empire.6 + +installdirs: + $(INSTALL) -d $(bindir) $(mandir)/man6 + +uninstall: + rm $(bindir)/empire + rm $(mandir)/man6/empire.6 + +# FIXME generate from .d +expect.$O: misc.h +handle.$O: misc.h +host.$O: misc.h +ioqueue.$O: misc.h queue.h ioqueue.h +login.$O: misc.h proto.h +main.$O: misc.h proto.h queue.h ioqueue.h tags.h +queue.$O: misc.h queue.h +saveargv.$O: misc.h +servcmd.$O: misc.h proto.h queue.h ioqueue.h tags.h +serverio.$O: misc.h queue.h ioqueue.h +tags.$O: misc.h tags.h +termio.$O: misc.h tags.h +termlib.$O: misc.h +$(obj): config.h diff --git a/src/client/README b/src/client/README index c264f6a7..32abbf39 100644 --- a/src/client/README +++ b/src/client/README @@ -1,45 +1,35 @@ This is the basic Empire Client. -See files README, COPYING and CREDITS in the root of the source -tree for related information and legal notices. It is expected -that future projects/authors will amend these files as needed. +Empire is a multi-player, client/server Internet based war game. +Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak, Ken +Stevens, Steve McClure -For questions and comments, please contact "wolfpack@wolfpackempire.com". +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License (in file +`COPYING'), or (at your option) any later version. -Note that this client is the same client that is shipped with the -server. The only difference is the Makefile is copied from the -"Makefile.standalone" for the standalone distributions, and -from the "Makefile.server" for the server distributions. +The client is distributed as part of the complete source tarball and +as a standalone client tarball. The instructions below apply to the +client tarball. If you got the complete source, as tarball or from +CVS, refer to ../../README instead. -If you are building this with the server, it is built automatically. +See file `INSTALL' for detailed compilation and installation +instructions. Quick guide for the impatient: run configure; make; +make install. The last step is optional; everything runs fine right +from the build tree. -If you are building this standalone, continue reading to see how -to build the client. +The client connects to the Changeling blitz by default. Use +environment variables EMPIREHOST and EMPIREPORT to connect to another +game (see manual page for details). -To make the program, edit ipglob.c and change empirehost[] to -point at the machine where the game is running (although this is -not necessary.) +Please report bugs to or via SourceForge +http://sourceforge.net/projects/empserver (registration required). -Also, if you are going to use "gcc", you need to change the Makefile -line "CC=cc" to "CC=gcc". +For more information or help, try rec.games.empire on Usenet, or send +e-mail to and we'll try to answer if we +can. Also check out our web site at "http://www.wolfpackempire.com". -To build for a Linux macihne, type "make linux". +Have fun! -To build for a HP/UX machine, type "make hpux". - -To build for a DG/UX machine, type "make dgux". - -To build for a Solaris machine, type "make solaris". - -To build for a Windows machine, type "nmake nt". - (Note that the Windows port was built with MSVC 6.0) - -For other machines, type "make". - -You can change hosts on-the-fly by using environment variables -- see -the man page for details. But, for a short version, you can set the -EMPIREHOST and EMPIREPORT environment variables to the host and -port of the server you wish to connect to, and the client will -automatically use them instead of the built in ones. - -Also note that pipes do not work on the Windows versions. +Wolfpack! diff --git a/src/client/configure.ac b/src/client/configure.ac new file mode 100644 index 00000000..e2b38e37 --- /dev/null +++ b/src/client/configure.ac @@ -0,0 +1,54 @@ +# -*- Autoconf -*- +# Copyright (C) 2005 Markus Armbruster +# Process this file with autoconf to produce a configure script. + +# Autoconf makes checking for and programming around assorted ancient +# crap relatively painless. But why bother? Just rely on C89 and +# POSIX, and when something breaks on some oddball machine, see +# whether it's worth fixing. + +AC_PREREQ(2.59) +AC_INIT([Empire Client], [4.3.0], [wolfpack@wolfpackempire.com]) +AC_CONFIG_SRCDIR([empire.6]) +AC_CONFIG_HEADERS([config.h]) + + +### Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL + + +### Checks for libraries. +LIB_SOCKET_NSL +AC_SEARCH_LIBS([setupterm], [termlib termcap]) +# TODO merge this into LIB_SOCKET_NSL? +case "$host_os" in +*mingw32) + LIBS="-lws2_32 $LIBS" ;; +esac + + +### Checks for header files. + + +### Checks for typedefs, structures, and compiler characteristics. + + +### Checks for library functions. + +AC_CHECK_FUNCS(getaddrinfo) + + +### Site configuration + +AC_ARG_VAR([EMPIREHOST], [Default host [blitz.wolfpackempire.com]]) +test "$EMPIREHOST" || EMPIREHOST=blitz.wolfpackempire.com + +AC_ARG_VAR([EMPIREPORT], [Default port [6789]]) +test "$EMPIREPORT" || EMPIREPORT=6789 + + +### Output + +AC_CONFIG_FILES([Makefile ipglob.c]) +AC_OUTPUT