1192830Sed#!/bin/sh 2192830Sed 3192830Sed# 4192830Sed# This script will determine if the system is a System V or BSD based 5192830Sed# UNIX system and create a makefile for ee appropriate for the system. 6192830Sed# 7192914Sed# $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.13 2002/09/23 04:18:13 hugh Exp $ 8192830Sed# 9192830Sed 10192914Sed#set -x 11192914Sed 12192914Sedname_string="`uname`" 13192914Sed 14192830Sed# test for existence of termcap (exists on both BSD and SysV systems) 15192830Sed 16192830Sedif [ -f /etc/termcap -o -f /usr/share/lib/termcap -o -f /usr/share/misc/termcap ] 17192830Sedthen 18192914Sed if [ -f /usr/share/lib/termcap ] 19192914Sed then 20192914Sed termcap_exists="-DTERMCAP=\"\\\"/usr/share/lib/termcap\\\"\"" 21192914Sed elif [ -f /usr/share/misc/termcap ] 22192914Sed then 23192914Sed termcap_exists="-DTERMCAP=\"\\\"/usr/share/misc/termcap\\\"\"" 24192914Sed elif [ -f /etc/termcap ] 25192914Sed then 26192914Sed termcap_exists="-DTERMCAP=\"\\\"/etc/termcap\\\"\"" 27192914Sed fi 28192830Sedelse 29192830Sed termcap_exists="" 30192830Sedfi 31192830Sed 32192830Sed# test for terminfo directory (exists on SysV systems) 33192830Sed 34192830Sedif [ -d /usr/lib/terminfo -o -d /usr/share/lib/terminfo -o -d /usr/share/terminfo ] 35192830Sedthen 36192830Sed terminfo_exists="" 37192830Sedelse 38192830Sed terminfo_exists="-DCAP" 39192830Sedfi 40192830Sed 41192830Sed# test for existence of termio header (on SysV systems) 42192830Sed 43192830Sedif [ -f /usr/include/termio.h ] 44192830Sedthen 45192830Sed termio="-DSYS5" 46192830Sedelse 47192830Sed termio="" 48192830Sedfi 49192830Sed 50192830Sed# test for sgtty header (on BSD systems) 51192830Sed 52192830Sedif [ -f /usr/include/sgtty.h ] 53192830Sedthen 54192830Sed sgtty="TRUE" 55192830Sedelse 56192830Sed sgtty="" 57192830Sedfi 58192830Sed 59192830Sed# look for select call in headers, make sure headers exist 60192830Sed 61192830SedHEADER_FILES="" 62192830Sed 63192830Sedif [ -f /usr/include/sys/time.h ] 64192830Sedthen 65192830Sed HEADER_FILES="/usr/include/sys/time.h " 66192830Sedfi 67192830Sed 68192830Sedif [ -f /usr/include/sys/types.h ] 69192830Sedthen 70192830Sed HEADER_FILES="$HEADER_FILES /usr/include/sys/types.h" 71192830Sedfi 72192830Sed 73192830Sed# check for unistd.h 74192830Sed 75192830Sedif [ -f /usr/include/unistd.h ] 76192830Sedthen 77192830Sed HAS_UNISTD=-DHAS_UNISTD 78192830Sed HEADER_FILES="$HEADER_FILES /usr/include/unistd.h" 79192830Sedelse 80192830Sed HAS_UNISTD="" 81192830Sedfi 82192830Sed 83192830Sedif [ -n "$HEADER_FILES" ] 84192830Sedthen 85192830Sed string="`grep select $HEADER_FILES`" 86192830Sed if [ -n "$string" ] 87192830Sed then 88192830Sed BSD_SELECT="-DBSD_SELECT" 89192830Sed else 90192830Sed BSD_SELECT="" 91192830Sed fi 92192830Sedfi 93192830Sed 94192830Sed# check for existence of select.h (on AIX) 95192830Sed 96192830Sedif [ -f /usr/include/sys/select.h ] 97192830Sedthen 98192830Sed select_hdr="-DSLCT_HDR" 99192830Sedelse 100192830Sed select_hdr="" 101192830Sedfi 102192830Sed 103192830Sed# check for stdlib.h 104192830Sed 105192830Sedif [ -f /usr/include/stdlib.h ] 106192830Sedthen 107192830Sed HAS_STDLIB=-DHAS_STDLIB 108192830Sedelse 109192830Sed HAS_STDLIB="" 110192830Sedfi 111192830Sed 112192830Sed# check for stdarg.h 113192830Sed 114192830Sedif [ -f /usr/include/stdarg.h ] 115192830Sedthen 116192830Sed HAS_STDARG=-DHAS_STDARG 117192830Sedelse 118192830Sed HAS_STDARG="" 119192830Sedfi 120192830Sed 121192830Sed# check for ctype.h 122192830Sed 123192830Sedif [ -f /usr/include/ctype.h ] 124192830Sedthen 125192830Sed HAS_CTYPE=-DHAS_CTYPE 126192830Sedelse 127192830Sed HAS_CTYPE="" 128192830Sedfi 129192830Sed 130192830Sed# check for sys/ioctl.h 131192830Sed 132192830Sedif [ -f /usr/include/sys/ioctl.h ] 133192830Sedthen 134192830Sed HAS_SYS_IOCTL=-DHAS_SYS_IOCTL 135192830Sedelse 136192830Sed HAS_SYS_IOCTL="" 137192830Sedfi 138192830Sed 139192830Sed# check for sys/wait.h 140192830Sed 141192830Sedif [ -f /usr/include/sys/wait.h ] 142192830Sedthen 143192830Sed HAS_SYS_WAIT=-DHAS_SYS_WAIT 144192830Sedelse 145192830Sed HAS_SYS_WAIT="" 146192830Sedfi 147192830Sed 148192830Sed# check for localization headers 149192830Sed 150192830Sedif [ -f /usr/include/locale.h -a -f /usr/include/nl_types.h ] 151192830Sedthen 152192830Sed catgets="" 153192830Sedelse 154192830Sed catgets="-DNO_CATGETS" 155192830Sedfi 156192830Sed 157192830Sed# make decisions about use of new_curse.c (use of new_curse is recommended 158192830Sed# rather than local curses) 159192830Sed 160192830Sedif [ -n "$terminfo_exists" -a -z "$termcap_exists" ] 161192830Sedthen 162192830Sed echo "Neither terminfo or termcap are on this system! " 163192830Sed if [ -f /usr/include/curses.h ] 164192830Sed then 165192830Sed echo "Relying on local curses implementation." 166192830Sed else 167192830Sed cat <<-EOF 168192830Sed Don't know where to find curses, you'll need to modify 169192830Sed source code to be able to build! 170192830Sed 171192830Sed Modify the file make.default and build ee by typing: 172192830Sed 173192830Sed make -f make.default 174192830Sed 175192830Sed EOF 176192830Sed 177192830Sed exit 1 178192830Sed fi 179192830Sed 180192830Sed TARGET="curses" 181192830Sed curses="" 182192830Sedelse 183192830Sed curses="-DNCURSE" 184192830Sed TARGET="ee" 185192830Sedfi 186192830Sed 187192830Sedif [ -z "$termio" -a -z "$sgtty" ] 188192830Sedthen 189192830Sed echo "Neither termio.h or sgtty.h are on this system! " 190192830Sed if [ -f /usr/include/curses.h ] 191192830Sed then 192192830Sed echo "Relying on local curses implementation." 193192830Sed else 194192830Sed cat <<-EOF 195192830Sed Don't know where to find curses, you'll need to modify 196192830Sed source code to be able to build! 197192830Sed 198192830Sed Modify the file make.default and build ee by typing: 199192830Sed 200192830Sed make -f make.default 201192830Sed 202192830Sed EOF 203192830Sed 204192830Sed exit 1 205192830Sed fi 206192830Sed 207192830Sed TARGET="curses" 208192830Sed curses="" 209192830Sedfi 210192830Sed 211192830Sed# check if this is a SunOS system 212192830Sed 213192830Sedif [ -d /usr/5include ] 214192830Sedthen 215192830Sed five_include="-I/usr/5include" 216192830Sedelse 217192830Sed five_include="" 218192830Sedfi 219192830Sed 220192830Sedif [ -d /usr/5lib ] 221192830Sedthen 222192830Sed five_lib="-L/usr/5lib" 223192830Sedelse 224192830Sed five_lib="" 225192830Sedfi 226192830Sed 227192830Sed 228192914Sedif [ "$name_string" = "Darwin" ] 229192830Sedthen 230192914Sed if [ -n "$CFLAGS" ] 231192830Sed then 232192914Sed other_cflags="${CFLAGS} -DNO_CATGETS" 233192830Sed else 234192914Sed other_cflags="-DNO_CATGETS" 235192830Sed fi 236192830Sedelse 237192914Sed 238192914Sed if [ -n "$CFLAGS" ] 239192914Sed then 240192914Sed if [ -z "`echo $CFLAGS | grep '[-]g'`" ] 241192914Sed then 242192914Sed other_cflags="${CFLAGS} -s" 243192914Sed else 244192914Sed other_cflags="${CFLAGS}" 245192914Sed fi 246192914Sed else 247192914Sed other_cflags="-s" 248192914Sed fi 249192830Sedfi 250192830Sed 251192830Sed# time to write the makefile 252192830Sed 253192830Sedecho "Generating make.local" 254192830Sed 255192830Sedif [ -f make.local ] 256192830Sedthen 257192830Sed mv make.local make.lcl.old 258192830Sedfi 259192830Sed 260192830Sedecho "DEFINES = $termio $terminfo_exists $BSD_SELECT $catgets $select $curses " > make.local 261192830Sedecho "" >> make.local 262192914Sedecho "CFLAGS = $HAS_UNISTD $HAS_STDARG $HAS_STDLIB $HAS_CTYPE $HAS_SYS_IOCTL $HAS_SYS_WAIT $five_lib $five_include $select_hdr $other_cflags $termcap_exists" >> make.local 263192830Sedecho "" >> make.local 264192830Sedecho "" >> make.local 265192830Sedecho "all : $TARGET" >> make.local 266192830Sed 267192830Sedcat >> make.local << EOF 268192830Sed 269192830Sedcurses : ee.c 270192830Sed cc ee.c -o ee \$(CFLAGS) -lcurses 271192830Sed 272192830Sedee : ee.o new_curse.o 273192830Sed cc -o ee ee.o new_curse.o \$(CFLAGS) 274192830Sed 275192830Sedee.o : ee.c new_curse.h 276192830Sed cc -c ee.c \$(DEFINES) \$(CFLAGS) 277192830Sed 278192830Sednew_curse.o : new_curse.c new_curse.h 279192830Sed cc new_curse.c -c \$(DEFINES) \$(CFLAGS) 280192830Sed 281192830SedEOF 282192830Sed 283192830Sedif [ -f make.lcl.old ] 284192830Sedthen 285192830Sed diffs="`cmp make.lcl.old make.local`" 286192830Sed if [ -n "${diffs}" ] 287192830Sed then 288192830Sed rm -f ee.o new_curse.o ee 289192830Sed fi 290192830Sed rm -f make.lcl.old 291192830Sedfi 292192830Sed 293