zu22@netrek:~/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/configure.in has:
dnl some initial definitions
XPMDIR=xpm
ZLIBDIR=zlib
GMPDIR=gmp
RSADIR="../../../../rsa/res-rsa-2.9.2"
then i setup my environment settings:
export CPPFLAGS="-I/usr/X11R6/include -I/usr/include/X11/ -I/usr/include/ -I/home/zu22/src/netrek/rsa/"
export LDFLAGS="-L/usr/X11R6/lib -L/usr/lib/libgmp.a -L/usr/lib/libXpm.a -L/usr/lib/libz.a -L/home/zu22/src/netrek/rsa/res-rsa-2.9.2/librsa.a -lgmp -lXpm -lz"
i run ,/configure and it looks fine:
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for perl... /usr/bin/perl
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for atan2 in -lm... yes
checking for __gmpz_init in -lgmp... yes
checking for uncompress in -lz... yes
checking for socket in -lsocket... no
checking for gethostbyname in -lresolv... yes
checking for clnt_tli_create in -lnsl... no
checking for strlen in -lbsd... no
checking for XOpenDisplay in -lX11... yes
checking for XextCreateExtension in -lXext... yes
checking for XtCreateApplicationShell in -lXt... yes
checking for XmuCursorNameToIndex in -lXmu... no
checking for XpmCreateImageFromXpmImage in -lXpm... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking wait.h usability... yes
checking wait.h presence... yes
checking for wait.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking for memory.h... (cached) yes
checking machine/endian.h usability... no
checking machine/endian.h presence... no
checking for machine/endian.h... no
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking xpm.h usability... yes
checking xpm.h presence... yes
checking for xpm.h... yes
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking whether char is unsigned... no
checking for an ANSI C-conforming const... yes
checking for mode_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for uid_t in sys/types.h... yes
checking whether gcc needs -traditional... no
checking for working memcmp... yes
checking return type of signal handlers... void
checking for vprintf... yes
checking for _doprnt... no
checking for wait3 that fills in rusage... yes
checking for ftime... yes
checking for gettimeofday... yes
checking for mkfifo... yes
checking for select... yes
checking for socket... yes
checking for strdup... yes
checking for strerror... yes
checking for strstr... yes
checking for strtol... yes
checking for strcmpi... no
checking for strncmpi... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for index... yes
checking for rindex... yes
checking for strchr... yes
checking for strrchr... yes
checking for bzero... yes
checking for bcopy... yes
checking for memset... yes
checking for memmove... yes
checking for memcpy... yes
checking for srandom... yes
checking for random... yes
checking for srand48... yes
checking for lrand48... yes
checking for signal... yes
checking for tolower... yes
checking for toupper... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/rsa/Makefile
config.status: creating scripts/expiretime
config.status: creating scripts/make_shippicfile.perl
config.status: creating scripts/mkcredits
config.status: creating scripts/mkimgsrc
config.status: creating scripts/netrektoxbm
config.status: creating scripts/numtoship
config.status: creating scripts/scrambleargs
config.status: creating scripts/unused_images
config.status: creating src/defines.h
config.status: src/defines.h is unchanged
so then i run ./make:
make[1]: Entering directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
/bin/sh: line 0: cd: ./../../../../rsa/res-rsa-2.9.2: No such file or directory
make[2]: Entering directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make[2]: *** No rule to make target `librsa.a'. Stop.
make[2]: Leaving directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make[1]: *** [../../../../rsa/res-rsa-2.9.2/librsa.a] Error 2
make[1]: Leaving directory `/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1/src'
make: *** [authorizing] Error 2
here is my Ted Turner build directory:
/home/zu22/src/netrek/clients/paradise/TedTurner/TedTurner-1.3.1
here is the contents:
autom4te.cache configure.in~ libs.txt~ rsa_box_1.c src
ChangeLog doc Makefile rsa_box_2.c tedturner.1.3.2
config.log etc Makefile.in rsa_box_3.c tedturner.1.3.2.secret
config.status images mkkey rsa_box_4.c TODO
configure install-sh README rsa_box.c
configure.in libs.txt rsa_box_0.c scripts
here is my res-rsa dir:
/home/zu22/src/netrek/rsa/res-rsa-2.9.2
here is the contents:
autom4te.cache configure.in~ Makefile.in README.mkkey rsa_gmp.c
config.h INSTALL mkkey README.US rsa_gmp.h
config.h.in INSTALL~ mkkey.c rsa_encode.c rsa_gmp.o
config.log librsa.a mkkey-help.txt rsa_encode_dummy.c rsa.h
config.status librsa-gmp.a mkkey.o rsa_encode_gmp.c rsa_math.c
configure LICENSE.US random.c rsa_encode_gmp.o rsa_math.h
configure.in Makefile README rsa_encode.o rsa_math.o
here is the Makefile:
#
# NetrekII: Paradise Client Makefile
#
SHELL=/bin/sh
SRCDIR=./src
SCRIPTDIR=./scripts
authorizing:
@cd $(SRCDIR); $(MAKE) $@ SYSDEFS=-DAUTHORIZE STATIC=$(STATIC)
generic:
@cd $(SRCDIR); $(MAKE) $@
help:
@cd $(SRCDIR); $(MAKE) $@
damiga:
@cd $(SRCDIR); $(MAKE) $@
damiga.68000:
@cd $(SRCDIR); $(MAKE) $@
depend:
@cd $(SRCDIR); $(MAKE) $@
makefile:
@./configure
dust:
@cd $(SRCDIR); $(MAKE) $@
clean:
@cd $(SRCDIR); $(MAKE) $@
dynamic_images:
@cd $(SRCDIR); $(MAKE) $@
static_images:
@cd $(SRCDIR); $(MAKE) $@
unused_images:
@cd $(SRCDIR); $(MAKE) $@
patchable: clean
@cd $(SRCDIR); $(MAKE) $@
-rm -f Makefile config.cache config.log config.status
-rm -f $(SCRIPTDIR)/expiretime $(SCRIPTDIR)/make_shippicfile.perl
-rm -f $(SCRIPTDIR)/mkcredits $(SCRIPTDIR)/mkimgsrc
-rm -f $(SCRIPTDIR)/netrektoxbm $(SCRIPTDIR)/numtoship
-rm -f $(SCRIPTDIR/scrambleargs $(SCRIPTDIR)/unused_images
archive: patchable
tar cf ../tedturner-`cat etc/version`.tar
gzip ../tedturner-`cat etc/version`.tar
here is my configure.in:
dnl xxxxxxxxxx
dnl Predefined variables:
dnl @CFLAGS@ - compiler flags dnl @CPPFLAGS@ - header search file directory,
misc. options for cpp & cc.
dnl @DEFS@ - -D arguments to CC.
dnl if AC_CONFIG_HEADER, then @DEFS@ -> -DHAVE_CONFIG_H
dnl @LDFLAGS@ - misc options for linker.
dnl @LIBS@ - -l and -L options to pass to linker.
dnl xxxxxxxxxx
dnl Process this file with autoconf to produce a configure script
AC_INIT(src/Wlib.h)
dnl some initial definitions
XPMDIR=xpm
ZLIBDIR=zlib
GMPDIR=gmp
RSADIR="../../../../rsa/res-rsa-2.9.2"
AC_SUBST(XPMDIR)
AC_SUBST(ZLIBDIR)
AC_SUBST(GMPDIR)
AC_SUBST(RSADIR)
dnl xxxxxxxxxx
dnl May want to use AC_CONFIG_HEADER(defines.h) and create a defines.h.in;
dnl this will cause all -D options to become #defines in defines.h.
AC_CONFIG_HEADER(src/defines.h)
dnl xxxxxxxxxx
dnl Checks for programs.
dnl AC_PROG_CC sets @CC@, _and_ sets @GCC@ to yes if gcc.
AC_PROG_CC
dnl Checks for @CPP@
AC_PROG_CPP
dnl Checks for @RANLIB@
AC_PROG_RANLIB
dnl Check for perl (needed for images) -- will set @PERL@ to perl if found.
dnl In fact, it will set it to the entire path so we can do #! line
dnl substitution in the scripts. Cool. And we can do it from within
dnl configure, getting rid of the scripts option in the Makefiles. :)
AC_PATH_PROG(PERL,perl,no)
if test "$PERL" = no; then
AC_MSG_ERROR(perl is required to build the Ted Turner client)
fi
dnl Check for install program. Sets INSTALL, INSTALL_PROGRAM(755),
dnl and INSTALL_DATA(644). We MUST have install-sh in our distribution if
dnl this is used.
AC_PROG_INSTALL
dnl xxxxxxxxxx
dnl AC_PROG_MAKE_SET checks for make setting the variable MAKE. If it does,
dnl define SET_MAKE to be empty, otherwise SET_MAKE='MAKE=make' (@SET_MAKE@)
dnl xxxxxxxxxx
AC_PROG_MAKE_SET
dnl Checks for libraries.
dnl xxxxxx
dnl AC_CHECK_LIB(lib,func) does these things:
dnl adds -l(lib) to LIBS
dnl defines HAVE_LIB(LIB)
AC_CHECK_LIB(m, atan2)
AC_CHECK_LIB(gmp,__gmpz_init,,builtin_gmplib=no)
AC_CHECK_LIB(z,uncompress,,builtin_zlib=no)
AC_CHECK_LIB(socket,socket)
AC_CHECK_LIB(resolv,gethostbyname)
AC_CHECK_LIB(nsl,clnt_tli_create)
AC_CHECK_LIB(bsd,strlen)
AC_CHECK_LIB(X11, XOpenDisplay)
AC_CHECK_LIB(Xext, XextCreateExtension)
AC_CHECK_LIB(Xt, XtCreateApplicationShell)
AC_CHECK_LIB(Xmu, XmuCursorNameToIndex)
AC_CHECK_LIB(Xpm,XpmCreateImageFromXpmImage,,builtin_xpmlib=no)
dnl Check for the older sun libraries. This is for IRIX 4 only.
dnl AC_CHECK_LIB(sun,
dnl Checks for header files.
dnl sets shell variables x_includes and x_libraries unless they are default.
dnl This is useless after we check for libraries..
dnl AC_PATH_X
dnl defines STDC_HEADERS if the system has ANSI C headers. Checks for:
dnl stdlib.h stdarg.h string.h float.h. Also checks for 8bit ctype.h macros
AC_HEADER_STDC
dnl defines HAVE_SYS_WAIT_H if sys/wait.h AND is POSIX (int stores status)
dnl Use to define WEXIT,WIFEXIT macros if H_S_W_H not defined.
AC_HEADER_SYS_WAIT
dnl Checks for specific header files.
dnl Defines HAVE_FCNTL_H, SYS_FILE_H SYS_IOCTL_H SYS_TIME_H UNISTD_H
dnl if they are available.
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/ioctl.h time.h sys/time.h unistd.h)
AC_CHECK_HEADERS(sys/select.h sys/timeb.h assert.h stddef.h wait.h)
dnl Check for string.h and strings.h as well, sys/fcntl.h, and memory.h
dnl (for memset/memmove-type instructions)
AC_CHECK_HEADERS(string.h strings.h sys/fcntl.h memory.h machine/endian.h)
AC_CHECK_HEADERS(limits.h values.h)
dnl Check to see if some of our source tree is built in
AC_CHECK_HEADERS(xpm.h,,builtin_xpmlib=no)
AC_CHECK_HEADERS(gmp.h,,builtin_gmplib=no)
AC_CHECK_HEADERS(zlib.h,,builtin_zlib=no)
dnl Check for unsigned char.
AC_C_CHAR_UNSIGNED
dnl Checks for typedefs, structures, and compiler characteristics.
dnl If the compiler doesn't understand const, #define const to be empty.
AC_C_CONST
dnl Checks for the type of mode. If mode_t is not defined, this defines
dnl mode_t to be type int.
AC_TYPE_MODE_T
dnl Checks for time & sys/time. Defines TIME_WITH_SYS_TIME_H if both may be
dnl included. If not, just include sys/time.h if SYS_TIME_H is defined,
dnl else just include time.h
AC_HEADER_TIME
dnl If time.h doesn't define struct tm, then define TM_IN_SYS_TIME, so
dnl sys/time.h is necessary to be included.
AC_STRUCT_TM
dnl If struct tm has a tm_zone member, defines HAVE_TM_ZONE, otherwise, if
dnl exterm tzname[] is found, defines HAVE_TZNAME (probably useless for us)
AC_STRUCT_TIMEZONE
dnl If uid_t is not defined, define uid_t and gid_t to be int.
AC_TYPE_UID_T
dnl Checks for library functions.
dnl Will add -traditional to CDEFS if gcc & it is required.
AC_PROG_GCC_TRADITIONAL
dnl adds memcmp.o to LIBOBJS if memcmp isn't available or doesn't work on
dnl 8-bit data (SunOS 4.1.3)
AC_FUNC_MEMCMP
dnl Signal return type. If void (*), then define RETSIGTYPE to be void,
dnl otherwise define it as int.
AC_TYPE_SIGNAL
dnl If vprintf is found, defines HAVE_VPRINTF, if _doprnt is found, define
dnl HAVE_DOPRNT.
AC_FUNC_VPRINTF
dnl If wait3 is found & fills contents of the third arg with struct rusage *,
dnl (not HP-UX), define HAVE_WAIT3
AC_FUNC_WAIT3
dnl Defines HAVE_(FUNC) if these are available.
AC_CHECK_FUNCS(ftime gettimeofday mkfifo select socket strdup strerror strstr strtol strcmpi strncmpi strcasecmp strncasecmp)
AC_CHECK_FUNCS(index rindex strchr strrchr bzero bcopy memset memmove memcpy)
AC_CHECK_FUNCS(srandom random srand48 lrand48 signal tolower toupper)
dnl xxxxxxxxxx
dnl Need to check for builtins AFTER we check for functions, otherwise
dnl compiler gets hung up on libraries if they aren't built in
dnl xxxxxxxxxx
dnl If no builtin XPMlib, then search for xmkmf.
if test "$builtin_xpmlib" = no; then
LIBS="-L./${XPMDIR} -lXpm ${LIBS}"
CPPFLAGS="${CPPFLAGS} -I./${XPMDIR}/lib"
AC_PATH_PROG(XMKMF,xmkmf,no)
if test "$XMKMF" = no; then
XMKMF_BUILD="cp Makefile.noX Makefile"
else
XMKMF_BUILD="${XMKMF} -a"
fi
MYDEPLIBS="${MYDEPLIBS} $(XPMDIR)/libXpm.a"
AC_SUBST(XMKMF_BUILD)
fi
dnl If no builtin zlib, we need to build
if test "$builtin_zlib" = no; then
LIBS="-L./${ZLIBDIR} -lz ${LIBS}"
CPPFLAGS="${CPPFLAGS} -I./${ZLIBDIR}"
MYDEPLIBS="${MYDEPLIBS} $(ZLIBDIR)/libz.a"
fi
dnl If no builtin libgmp, we *may* need to build libgmp
if test "$builtin_gmplib" = no; then
AUTHLIBS="-L./${GMPDIR} $(LIBS) -L./${RSADIR} -lrsa -lgmp"
CPPFLAGS="${CPPFLAGS} -I./${GMPDIR}"
MYDEPAUTHLIBS="${MYDEPAUTHLIBS} $(GMPDIR)/libgmp.a"
else
AUTHLIBS='$(LIBS) -L./${RSADIR} -lrsa -lgmp'
fi
AC_SUBST(AUTHLIBS)
AC_SUBST(MYDEPLIBS)
AC_SUBST(MYDEPAUTHLIBS)
dnl xxxxxxxxxx
dnl AC_OUTPUT(file [file2 [file 3...]]) to read fileX.in and create file,
dnl replacing @Y@-type variables with configure-determined ones in the
dnl process.
dnl xxxxxxxxxx
AC_OUTPUT(Makefile src/Makefile src/rsa/Makefile scripts/expiretime scripts/make_shippicfile.perl scripts/mkcredits scripts/mkimgsrc scripts/netrektoxbm scripts/numtoship scripts/scrambleargs scripts/unused_images)
chmod +x scripts/*