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/*