#!/bin/sh # # azconfig option ... -- edit Configuration file for certain configurations # # This is mainly a tool for MPD development; it includes some Arizona-specific # values. See the installation guide for instructions about how to edit the # Configuration file and Makefile to define a configuration. # # options are: # # links [default] for use from source area via symlinks in ./links # local for /usr/local/bin # optlocal for /opt/local/bin # mpdbin for /usr/mpd/bin # /path to put all installed files in the given path # dist for making a formal distribution (uses /usr/local/bin etc.) # # multi build MultiMPD when possible # uni force UniMPD even if MultiMPD available # # fast build with -O and disable debugging # # gcc use gcc (Gnu C compiler) # gcc2 use gcc from "gcc2" path # clcc use clcc (CenterLine C) # acc use acc (Sun ANSIish C compiler) # c89 use acc (Dec ANSI C compiler) # # Unspecified options are reset to defaults, NOT left unchanged. # # WARNING -- this script overwrites the mpdmap file # look around the system and create a set of default values CC=cc CFLAGS=-g CEXTRA= CMULTI= MPDSRC=`pwd | sed -e ' s=^/tmp_mnt/R/.../.../\(.../usr.*/.*\)=/r/\1= s=^/tmp_mnt/=/= s=^/\.automount/=/= s=^/R/.../=/r/= s=^/export/home[^/]*/=/home/='` MPDCMD=$MPDSRC/links MPDLIB=$MPDSRC/links MAN1= MAN3= MAN5= MANEXT=1 MULTI=uni CCPATH= for i in /bin/cc /usr/bin/cc /usr/bin/c89 /usr/lang/cc /usr/lang/acc \ /opt/SUNWspro/bin/cc /opt/cygnus/bin/cc /usr/local/bin/gcc do if [ -r $i ]; then CCPATH=$i; break; fi done RSHPATH=/usr/bin/rsh if [ -f /usr/bin/remsh ]; then RSHPATH=/usr/bin/remsh; fi if [ -f /usr/ucb/rsh ]; then RSHPATH=/usr/ucb/rsh; fi if [ -f /usr/bsd/rsh ]; then RSHPATH=/usr/bsd/rsh; fi LIBC= if [ -f /usr/lib/libseq.a ]; then LIBC="$LIBC -lseq"; fi if [ -f /usr/lib/libsocket.a ]; then LIBC="$LIBC -lsocket"; fi if [ -f /usr/lib/libnsl.a ]; then LIBC="$LIBC -lnsl"; fi LIBM=-lm if [ -f /usr/att/lib/libm.a ]; then LIBM="$LIBM /usr/att/lib/libm.a"; fi LIBR= XINCL=/usr/include if [ -d /usr/X11/include/X11 ]; then XINCL=/usr/X11/include; fi if [ -d /usr/X11R6/include/X11 ]; then XINCL=/usr/X11R6/include; fi if [ -d /usr/openwin/include/X11 ]; then XINCL=/usr/openwin/include; fi if [ ! -d $XINCL/X11 ]; then XINCL=; fi XTANGO=/home/sr/xtango/include if [ ! -f $XTANGO/xtango.h ]; then XTANGO=; fi # on Sun Solaris, use different path for RSH, and define __svr4__ if [ "`(uname -sr | cut -c1-7) 2>/dev/null`" = "SunOS 5" ]; then RSHPATH=/bin/rsh CEXTRA=-D__svr4__ fi # on HP Bobcat, need extra big compiler tables to build if [ "`(uname -m) 2>/dev/null`" = "9000/330" ]; then CEXTRA="+Np300 +Nw500"; fi # on Sequent, use MultiMPD by default if [ -f /usr/lib/libpps.a ]; then LIBR="-lpps" MULTI=dynix CMULTI="-Y" fi # on IRIX, use MultiMPD by default, and suppress annoying warnings if [ -f /usr/lib/libmpc.a ]; then CFLAGS="$CFLAGS -w" MULTI=irix fi # on Sun running Solaris 2, use MultiMPD by default if [ -f /lib/libthread.so.1 ]; then LIBR="-lthread" MULTI=solaris fi # on Intel Paragon, link in nx library if [ -f /lib/libnx.a ]; then LIBC="-lnx" fi # on Linux, disable Lex library and do various other things if [ "`(uname -s) 2>/dev/null`" = "Linux" ]; then LIBM="-lm -lc" LIBX="-L/usr/X11R6/lib" if [ "`uname -m`" = "i686" ]; then MULTI=linux-x86 fi fi # if this looks like an Arizona system, use our mpdmap file if grep -s '^gmt:[^:]*:0*28:0*46:' /etc/passwd >/dev/null; then MPDMAP=mpdmap.az else MPDMAP=mpdmap.min fi # process options for i do case $i in dist) # override what we figured out above and set standard values CC=cc CFLAGS=-g CEXTRA= CMULTI= MULTI=uni MPDSRC=/usr/local/src/mpd MPDCMD=/usr/local/bin MPDLIB=/usr/local/lib/mpd MPDMAP=mpdmap.min MAN1=/usr/local/man/man1 MAN3=/usr/local/man/man3 MAN5=/usr/local/man/man5 MANEXT=1 CCPATH=/bin/cc LIBC= LIBM=-lm LIBR= LIBX=-L/usr/X11R6/lib RSHPATH=/usr/bin/rsh XINCL=/usr/X11R6/include XTANGO= ;; local) MPDCMD=/usr/local/bin MPDLIB=/usr/local/lib/mpd if [ -d /usr/local/man ]; then MAN1=/usr/local/man/man1 MAN3=/usr/local/man/man3 MAN5=/usr/local/man/man5 MANEXT=1 else MAN1=/usr/man/manl MAN3=/usr/man/manl MAN5=/usr/man/manl MANEXT=l fi ;; optlocal) MPDCMD=/opt/local/bin MPDLIB=/opt/local/lib/mpd MAN1=/opt/local/man/man1 MAN3=/opt/local/man/man3 MAN5=/opt/local/man/man5 MANEXT=1 ;; mpdbin) MPDCMD=/usr/mpd/bin MPDLIB=/usr/mpd/bin MAN1=/usr/mpd/bin MAN3=/usr/mpd/bin MAN5=/usr/mpd/bin MANEXT=1 ;; links) MPDCMD=$MPDSRC/links MPDLIB=$MPDSRC/links MAN1= MAN3= MAN5= ;; uni) LIBR= MULTI=uni CMULTI= ;; multi) if [ "`(uname -sm) 2>/dev/null`" = "Linux i686" ]; then MULTI=linux-x86 fi if [ -f /lib/libthread.so.1 ]; then LIBR="-lthread" MULTI=solaris fi if [ -f /usr/lib/libpps.a ]; then LIBR="-lpps" MULTI=dynix CMULTI="-Y" fi if [ -f /usr/lib/libmpc.a ]; then MULTI=irix fi ;; fast) CFLAGS="-O -DNDEBUG" ;; gcc) CC=gcc CCPATH= for i in /usr/local/bin/gcc /usr/local/gcc \ /opt/local/bin/gcc /opt/cygnus/bin/gcc do if [ -r $i ]; then CCPATH=$i; break; fi done ;; gcc2) CC=gcc2 CCPATH=/usr/local/gcc2 ;; clcc) CC=clcc CCPATH=/usr/local/CenterLine/bin/clcc ;; acc) CC=acc CCPATH=/usr/lang/acc ;; c89) CC=c89 CCPATH=/usr/bin/c89 ;; /*) test -d $i || echo warning -- $i is not a directory MPDCMD=$i MPDLIB=$i MAN1=$i MAN3=$i MAN5=$i MANEXT=1 ;; *) echo 1>&2 "${0}: option '$i' unrecognized" exit 1 ;; esac done if [ -z "$CCPATH" ]; then echo 1>&2 "$0: can't find a C compiler" exit 1 fi cp Makefile Makefile.new ed Makefile.new <<==EOF== /^CC *=/s|.*|CC = $CC| /^CFLAGS *=/s|.*|CFLAGS = $CFLAGS $CEXTRA $CMULTI| /^MULTI *=/s|.*|MULTI = $MULTI| w q ==EOF== cp Configuration Configuration.new ed Configuration.new <<==EOF== /^MPDSRC *=/s|.*|MPDSRC = $MPDSRC| /^MPDCMD *=/s|.*|MPDCMD = $MPDCMD| /^MPDLIB *=/s|.*|MPDLIB = $MPDLIB| /^MAN1 *=/s|.*|MAN1 = $MAN1| /^MAN3 *=/s|.*|MAN3 = $MAN3| /^MAN5 *=/s|.*|MAN5 = $MAN5| /^MANEXT *=/s|.*|MANEXT = $MANEXT| /^CCPATH *=/s|.*|CCPATH = $CCPATH| /^RSHPATH *=/s|.*|RSHPATH = $RSHPATH| /^XINCL *=/s|.*|XINCL = $XINCL| /^XTANGO *=/s|.*|XTANGO = $XTANGO| /^LIBC *=/s|.*|LIBC = $LIBC| /^LIBM *=/s|.*|LIBM = $LIBM| /^LIBR *=/s|.*|LIBR = $LIBR $LIBX| w q ==EOF== mv Makefile Makefile.bak mv Makefile.new Makefile mv Configuration Configuration.bak mv Configuration.new Configuration cp $MPDMAP mpdmap diff Makefile.bak Makefile diff Configuration.bak Configuration exit 0