* configure: merge bsdlib and extlib detection, use extlib only add ldflags to extlib (SYS_LIBRARIES): remove extlib (LOCAL_LIBRARIES): exlib only From: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
		
			
				
	
	
		
			2230 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			2230 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # $Id: configure,v 1.60 2002/02/03 06:23:37 ukai Exp $
 | |
| #	Configuration.
 | |
| #
 | |
| 
 | |
| #
 | |
| if ./which uname > /dev/null ; then
 | |
|   sysname=`uname -s`
 | |
|   sysversion=`uname -r`
 | |
|   platform=`uname -m`
 | |
| elif [ -f /usr/sony/bin/machine -a -f /etc/osversion ]; then
 | |
|   sysname='NEWS-OS'
 | |
|   sysversion=`sed 's/[^ ]* [^ ]* //' /etc/osversion`
 | |
|   platform=`/usr/sony/bin/machine`
 | |
| fi
 | |
| 
 | |
| host=`hostname`
 | |
| 
 | |
| sysversion1=`echo $sysversion | awk -F. '{print $1}'`
 | |
| sysversion2=`echo $sysversion | awk -F. '{print $2}'`
 | |
| sysversion3=`echo $sysversion | awk -F. '{print $3}'`
 | |
| 
 | |
| echo $sysname $sysversion1 $sysversion2 $sysversion3 /$platform at $host
 | |
| 
 | |
| if [ -f config.param ] ; then
 | |
| 	confhost=`awk 'NR==1{print $4}' config.param`
 | |
| 	if [ "$confhost" = "$host" ] ; then
 | |
|           . ./config.param
 | |
| 	fi
 | |
| fi
 | |
| 
 | |
| echo "# Configuration at $host" > config.param
 | |
| 
 | |
| # parameters:
 | |
| 
 | |
| prefix=/usr/local
 | |
| ssl_includedir=
 | |
| ssl_libdir=
 | |
| gc_includedir=
 | |
| gc_libdir=
 | |
| mimetypes=
 | |
| 
 | |
| all_yes=0
 | |
| while [ $# -gt 0 ]
 | |
| do
 | |
|   case "$1" in
 | |
|   -yes|--yes|-nonstop|--nonstop)
 | |
|     all_yes=1
 | |
|     echo "Setting all parameters to the default..."
 | |
|     ;;
 | |
|   -prefix|--prefix)
 | |
|     prefix=$2
 | |
|     shift
 | |
|     ;;
 | |
|   -prefix=*|--prefix=*)
 | |
|     prefix=`expr "$1" : "-*prefix=\(.*\)"`
 | |
|     ;;
 | |
|   -bindir=*|--bindir=*)
 | |
|     bindir=`expr "$1" : "-*bindir=\(.*\)"`
 | |
|     ;;
 | |
|   -libdir=*|--libdir=*)
 | |
|     libdir=`expr "$1" : "-*libdir=\(.*\)"`
 | |
|     ;;
 | |
|   -helpdir=*|--helpdir=*)
 | |
|     helpdir=`expr "$1" : "-*helpdir=\(.*\)"`
 | |
|     ;;
 | |
|   -sysconfdir=*|--sysconfdir=*)
 | |
|     sysconfdir=`expr "$1" : "-*sysconfdir=\(.*\)"`
 | |
|     ;;
 | |
|   -lang=en|--lang=en|-lang=EN|--lang=EN)
 | |
|     lang=EN
 | |
|     ;;
 | |
|   -lang=ja|--lang=ja|-lang=ja|--lang=JA)
 | |
|     lang=JA
 | |
|     ;;
 | |
|   -model=baby|--model=baby)
 | |
|     dmodel=1
 | |
|     ;;
 | |
|   -model=little|--model=little)
 | |
|     dmodel=2
 | |
|     ;;
 | |
|   -model=mouse|--model=mouse)
 | |
|     dmodel=3
 | |
|     ;;
 | |
|   -model=cookie|--model=cookie)
 | |
|     dmodel=4
 | |
|     ;;
 | |
|   -model=monster|--model=monster)
 | |
|     dmodel=5
 | |
|     ;;
 | |
|   -model=custom|--model=custom)
 | |
|     dmodel=6
 | |
|     ;;
 | |
|   -code=*|--code=*)
 | |
|     display_code=`expr "$1" : "-*code=\(.*\)"`
 | |
|     ;;
 | |
|   -cflags=*|--cflags=*)
 | |
|     dcflags=`echo $1 | sed -e 's/-*cflags=//'`
 | |
|     ;;
 | |
|   --ssl-includedir=*)
 | |
|     ssl_includedir=`expr "$1" : "--ssl-includedir=\(.*\)"`
 | |
|     ;;
 | |
|   --ssl-libdir=*)
 | |
|     ssl_libdir=`expr "$1" : "--ssl-libdir=\(.*\)"`
 | |
|     ;;
 | |
|   --gc-includedir=*)
 | |
|     gc_includedir=`expr "$1" : "--gc-includedir=\(.*\)"`
 | |
|     ;;
 | |
|   --gc-libdir=*)
 | |
|     gc_libdir=`expr "$1" : "--gc-libdir=\(.*\)"`
 | |
|     ;;
 | |
|   --mimetypes=*)
 | |
|     mimetypes=`expr "$1" : "--mimetypes=\(.*\)"`
 | |
|     ;;
 | |
| 
 | |
|   -help|--help)
 | |
|     echo "-yes, -nonstop  Set all parameters to the default"
 | |
|     echo "-prefix=DIR     Specify prefix (default: /usr/local)"
 | |
|     echo "-bindir=DIR     user executable in DIR (default: PREFIX/bin)"
 | |
|     echo "-libdir=DIR     program executables in DIR (default: PREFIX/lib/w3m)"
 | |
|     echo "-helpdir=DIR    help file in DIR (default: PREFIX/share/w3m)"
 | |
|     echo "-sysconfdir=DIR w3mconfig in DIR [PREFIX/etc/w3m]"
 | |
|     echo "-lang=(en|ja)   Specify default language"
 | |
|     echo "-model=(baby|little|mouse|cookie|monster|custom)"
 | |
|     echo "                Specify default model"                     
 | |
|     echo "-code=(S|E|j|N|n|m)"
 | |
|     echo "                Specify default kanji code"
 | |
|     echo "-cflags=FLAGS   Specify C flags"
 | |
|     echo "--ssl-includedir=DIR	specify OpenSSL include dir"
 | |
|     echo "--ssl-libdir=DIR	specify OpenSSL lib dir"
 | |
|     echo "--gc-includedir=DIR	specify Boehm-GC include dir"
 | |
|     echo "--gc-libdir=DIR	specify Boehm-GC lib dir"
 | |
|     echo "--mimetypes=PATH	specify mime.types path"
 | |
|     echo "-help           Display help"
 | |
|     exit 0
 | |
|     ;;
 | |
|   esac
 | |
|   shift
 | |
| done
 | |
| 
 | |
| if [ -z "`echo -n aho | grep n`" ] ; then
 | |
| Echo()
 | |
| {
 | |
| 	echo -n "$*"
 | |
| }
 | |
| else
 | |
| Echo()
 | |
| {
 | |
| 	echo "$*\c"
 | |
| }
 | |
| fi
 | |
| 
 | |
| 
 | |
| do_sigtest()
 | |
| {
 | |
|   echo "#include <signal.h>" > _zmachdep.c
 | |
|   if [ "$2" = void ]; then
 | |
|     echo "$1 _handler($2) {}" >> _zmachdep.c
 | |
|   else
 | |
|     echo "$1 _handler($2 x) {}" >> _zmachdep.c
 | |
|   fi
 | |
|   echo "int main(void) { $1 (*hdl)($2); hdl = signal(SIGINT,_handler); return 0; }" >> _zmachdep.c
 | |
|   $cc $cflags -o _zmachdep _zmachdep.c > _zwarning 2>&1 
 | |
|   stat=$?
 | |
|   warning=`cat _zwarning`
 | |
|   rm -f _zwarning
 | |
| }
 | |
| 
 | |
| readdir() { 
 | |
|   if [ "$all_yes" = 0 ]; then
 | |
|     read __dir
 | |
|   else
 | |
|     __dir=$1
 | |
|     echo "$1"
 | |
|   fi
 | |
|   if [ -z "$__dir" ]; then
 | |
|     _dir=$1
 | |
|   else
 | |
|     _dir=`echo "$__dir"|sed -e "s;^~;$HOME;"`
 | |
|   fi
 | |
| }
 | |
| 
 | |
| readanswer() {
 | |
|   var=$1
 | |
|   dflt=$2
 | |
|   ok=$3
 | |
|   if [ "$all_yes" = 0 -o -z "$dflt$ok" ]; then
 | |
|     read ans
 | |
|     if [ -z "$ans" ]; then
 | |
|       ans=$dflt
 | |
|     fi
 | |
|   else
 | |
|     ans=$dflt
 | |
|     echo "$ans"
 | |
|   fi
 | |
|   eval $var='$ans'
 | |
| }
 | |
| 
 | |
| yesno() {
 | |
|   var=$1
 | |
|   dflt=$2
 | |
|   ddflt=$3
 | |
|   if [ -z "$dflt" ]; then
 | |
|     dflt=$ddflt
 | |
|   fi
 | |
|   if [ "$dflt" = y ]; then
 | |
|     ndflt=n
 | |
|   else
 | |
|     ndflt=y
 | |
|   fi
 | |
|   Echo "[$dflt]? "
 | |
|   if [ "$all_yes" = 0 ]; then
 | |
|     read ks_ans
 | |
|   else
 | |
|     ks_ans=$dflt
 | |
|     echo "$dflt"
 | |
|   fi
 | |
|   if [ "$ks_ans" = "$ndflt" ]; then
 | |
|     eval $var='$ndflt'
 | |
|   else
 | |
|     eval $var='$dflt'
 | |
|   fi
 | |
| }
 | |
| 
 | |
| #
 | |
| # def_param "name" "default_value"
 | |
| # =>
 | |
| #  $name=${name:-$default_value}
 | |
| #  def_$name='#define $NAME' (if $name=y)
 | |
| #  def_$name='#undef $NAME'  (otherwise)
 | |
| #
 | |
| def_param() {
 | |
|  flag=$1
 | |
|  eval "fvar=\$$flag"
 | |
|  dflt=$2
 | |
|  if [ -z "$fvar" ]; then
 | |
|    fvar=$dflt
 | |
|    eval $flag='$fvar'
 | |
|  fi
 | |
|  def=`echo $flag | tr '[a-z]' '[A-Z]'`
 | |
|  if [ "$fvar" = "y" ]; then
 | |
|    eval "def_$flag='#define $def'"
 | |
|  else
 | |
|    eval "def_$flag='#undef $def'"
 | |
|  fi
 | |
|  echo "$flag=$fvar" >> config.param
 | |
| }
 | |
| 
 | |
| #
 | |
| # ask_choice "prompt" "var"
 | |
| #   "choice-1" "value-1" "description-1" .. .
 | |
| #   "choice-2" "value-2" "description-2" .. .
 | |
| # =>
 | |
| #  $var=${value-<n>}
 | |
| #  def_$var='#define $VAR ${value-<n>}'
 | |
| # 
 | |
| ask_choice() {
 | |
|   prompt=$1
 | |
|   var=$2
 | |
|   def=`echo $var | tr '[a-z]' '[A-Z]'`
 | |
|   shift; shift
 | |
|   list="$@"
 | |
| 
 | |
|   echo "$prompt"
 | |
|   varvar=
 | |
|   # check old value
 | |
|   eval "old_dvar=\$$var"
 | |
|   set -- $list
 | |
|   while [ -n "$1" -a -n "$2" ]; do
 | |
|     c=$1; v=$2; shift; shift;
 | |
|     case $v in
 | |
|     $old_dvar) dc=$c; dvar=$old_dvar;;
 | |
|     *) ;;
 | |
|     esac
 | |
|     while [ "$1" != "." ]; do
 | |
|       shift;
 | |
|     done
 | |
|     shift
 | |
|   done
 | |
|   if [ "$all_yes" = 1 ]; then
 | |
|     eval "varvar=$dc"
 | |
|   fi
 | |
| 
 | |
|   while [ -z "$varvar" ];
 | |
|   do
 | |
|     set -- $list
 | |
|     prompt="["
 | |
|     while [ -n "$1" -a -n "$2" ]; do
 | |
|        c=$1; v=$2;
 | |
|        shift; shift;
 | |
|        Echo "$c .."
 | |
|        while [ "$1" != "." ]; do
 | |
|           Echo " $1"; shift
 | |
|        done
 | |
|        echo " ($def=$v)"
 | |
|        shift
 | |
|        prompt="$prompt$c"
 | |
|     done
 | |
|     prompt="$prompt]? "
 | |
|     Echo "$prompt"
 | |
|     if [ -n "$dvar" ]; then
 | |
|        Echo "(default: $dc - $dvar)"
 | |
|     fi
 | |
|     read REPLY
 | |
|     if [ -z "$REPLY" ]; then
 | |
|        REPLY=$dc
 | |
|     fi
 | |
|     set -- $list
 | |
|     while [ -n "$1" -a -n "$2" ]; do
 | |
|        case $REPLY in
 | |
|        $1) eval "varvar=$1"
 | |
| 	   break
 | |
|            ;;
 | |
|        esac
 | |
|        shift; shift;
 | |
|        while [ "$1" != "." ]; do
 | |
|            shift;
 | |
|        done
 | |
|        shift
 | |
|     done
 | |
|   done
 | |
|   Echo "You select"
 | |
|   set -- $list
 | |
|   while [ -n "$1" -a -n "$2" ]; do
 | |
|     c=$1; v=$2; shift; shift
 | |
|     case $varvar in
 | |
|     $c) 
 | |
|        while [ "$1" != "." ]; do
 | |
|          Echo " $1"; shift
 | |
|        done
 | |
|        shift
 | |
|        eval "def_$var='#define $def $v'"
 | |
|        eval "$var=$v"
 | |
|        echo "$var=$v" >> config.param
 | |
|        echo " $def=$v"
 | |
|        break
 | |
|        ;;
 | |
|     *) while [ "$1" != "." ]; do
 | |
|     	shift;
 | |
|        done
 | |
|        shift
 | |
|        ;;
 | |
|     esac
 | |
|   done
 | |
| }
 | |
| 
 | |
| #
 | |
| # ask_param "prompt" "name" "default_value"
 | |
| # =>
 | |
| #  ask user
 | |
| #  def_param "name" "default_value"
 | |
| #
 | |
| ask_param() {
 | |
|  prompt=$1
 | |
|  flag=$2
 | |
|  eval "fvar=\$$flag"
 | |
|  dflt=$3
 | |
|  Echo "$prompt "
 | |
|  if [ "$all_yes" = 0 ]; then
 | |
|     yesno $flag $fvar $dflt
 | |
|  fi
 | |
|  def_param $flag $dflt
 | |
|  if [ "$all_yes" = 1 ]; then
 | |
|    eval "fvar=\$$flag"
 | |
|    if [ "$fvar" = y ]; then
 | |
|       echo ".... yes"
 | |
|    else
 | |
|       echo ".... no"
 | |
|    fi
 | |
|  fi
 | |
| }
 | |
| 
 | |
| find_ssl() {
 | |
|   sslinclude=""
 | |
|   for i1 in $ssl_includedir /usr /usr/local $prefix
 | |
|   do
 | |
|     for i2 in /openssl /ssl / 
 | |
|     do
 | |
|       if [ "$i2" = "/" ]; then i2=''; fi
 | |
|       dirname=${i1}${i2}
 | |
|       if [ -f $dirname/include/ssl.h ]; then
 | |
|         sslinclude="-I${dirname}/include"
 | |
|       elif [ -f $dirname/include/openssl/ssl.h ]; then
 | |
|         sslinclude="-I${dirname}/include/openssl -I${dirname}/include"
 | |
|       fi
 | |
|       for i3 in lib/openssl lib
 | |
|       do
 | |
|         dirname=${i1}${i2}/${i3}
 | |
|         for ext in a $so_ext
 | |
|         do
 | |
|           if [ -f $dirname/libssl.$ext -o -f $dirname/libcrypto.$ext ]; then
 | |
|             if [ "$ssllib" = -L${dirname} ]; then
 | |
|               ssllib="-L${dirname}"
 | |
|             else
 | |
|               ssllib="$ssllib -L${dirname}"
 | |
|             fi
 | |
|           fi
 | |
|         done
 | |
|       done
 | |
|     done
 | |
|   done
 | |
|   if [ -f "$ssl_libdir/libssl.$ext" -o -f "$ssl_libdir/libcrypto.$ext" ]; then
 | |
|       ssllib="-L$ssl_libdir $ssllib"
 | |
|   fi
 | |
|   ssllib="$ssllib -lssl -lcrypto"
 | |
|   if [ "$sslinclude" = "" ]; then
 | |
|     echo "Where is ssl.h? (for example, /usr/crypto/include)"
 | |
|     Echo ":"
 | |
|     read ks_ans
 | |
|     sslinclude="-I${ks_ans}"
 | |
|     if [ -d $ks_ans/openssl ]; then
 | |
|       sslinclude="${sslinclude} -I${ks_ans}/openssl"
 | |
|     fi
 | |
|     echo "Where is libssl.a? (for example, /usr/crypto/lib)"
 | |
|     Echo ":"
 | |
|     read ks_ans
 | |
|     ssllib="-L${ks_ans} -lssl -lcrypto"
 | |
|   fi
 | |
| }
 | |
| 
 | |
| find_imlib() {
 | |
|   imlib_major=1
 | |
|   imlib_minor=9
 | |
|   imlib_micro=8
 | |
|   imlib_version=$imlib_major.$imlib_minor.$imlib_micro
 | |
|   echo "Checking Imlib."
 | |
|   if [ "x$IMLIB_CONFIG" = x ]; then
 | |
|     IMLIB_CONFIG=imlib-config
 | |
|   fi
 | |
|   version=`$IMLIB_CONFIG --version`
 | |
|   if [ "x$version" = x ]; then
 | |
|     echo "You don't have Imlib. Install Imlib (version >= $imlib_version)."
 | |
|     exit 1
 | |
|   fi
 | |
|   major=`echo "$version" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'`
 | |
|   minor=`echo "$version" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'`
 | |
|   micro=`echo "$version" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'`
 | |
|   echo "The version of Imlib is $version."
 | |
|   if [ "$major" -ne $imlib_major -o "$minor" -ne $imlib_minor -o "$micro" -lt $imlib_micro ]; then
 | |
|     echo "Imlib is too old. Install Imlib (version >= $imlib_version)."
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| #--------------------------------------------------------------
 | |
| if [ -n "$USER" ]; then
 | |
| 	user=$USER
 | |
| elif [ -n "$LOGNAME" ]; then
 | |
| 	user=$LOGNAME
 | |
| elif [ -n "`whoami`" ]; then
 | |
| 	user=`whoami`
 | |
| else
 | |
| #	Echo "Who are you? "
 | |
| #	read user
 | |
| 	user=nobody
 | |
| fi
 | |
| 
 | |
| echo "%"
 | |
| echo "% Hello $user. Let's start configuration process for w3m."
 | |
| echo "% Please answer some questions."
 | |
| echo "%"
 | |
| 
 | |
| extension=
 | |
| def_use_binstream='#undef USE_BINMODE_STREAM'
 | |
| 
 | |
| topdir=$prefix
 | |
| special_sys=''
 | |
| case "$sysname" in
 | |
|   aix | AIX )
 | |
|     special_sys="#define AIX"
 | |
|   ;;
 | |
|   CYGWIN* )
 | |
|     sysname='CYGWIN'
 | |
|     special_sys="#define CYGWIN $sysversion1"
 | |
|     if [ $sysversion1 -eq 0 ]; then
 | |
|       topdir=/cygnus/cygwin-b20/H-i586-cygwin32
 | |
|     fi
 | |
|     extension='.exe'
 | |
|     def_use_binstream='#define USE_BINMODE_STREAM'
 | |
|   ;;
 | |
|   OS/2 )
 | |
|     extension='.exe'
 | |
|     def_use_binstream='#define USE_BINMODE_STREAM'
 | |
|   ;;
 | |
|   NetBSD )
 | |
| # Newer NetBSD system doesn't define 'unix' symbol anymore, but GC library
 | |
| # requires it.
 | |
|     special_sys="#define unix"
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| # determine shared object extension
 | |
| so_ext=so
 | |
| case "$sysname" in
 | |
|   HP-UX )
 | |
|     so_ext=sl
 | |
|   ;;
 | |
|   Darwin )
 | |
|     so_ext=dylib
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| d_bindir=$bindir
 | |
| if [ -z "$d_bindir" ]; then
 | |
|   d_bindir="$topdir/bin"
 | |
| fi
 | |
| echo "Which directory do you want to put the binary?"
 | |
| Echo "(default: $d_bindir) "
 | |
| readdir "$d_bindir"
 | |
| bindir=$_dir
 | |
| echo "bindir='$bindir'" >> config.param
 | |
| 
 | |
| d_libdir=$libdir
 | |
| if [ -z "$d_libdir" ]; then
 | |
|   case "$sysname" in
 | |
|   *BSD)
 | |
|     d_libdir="$topdir/libexec/w3m"
 | |
|   ;;
 | |
|   *)
 | |
|     d_libdir="$topdir/lib/w3m"
 | |
|   ;;
 | |
|   esac
 | |
| fi
 | |
| echo "Which directory do you want to put the support binary files?"
 | |
| Echo "(default: $d_libdir) "
 | |
| readdir "$d_libdir"
 | |
| libdir=$_dir
 | |
| echo "libdir='$libdir'" >> config.param
 | |
| 
 | |
| d_helpdir=$helpdir
 | |
| if [ -z "$d_helpdir" ]; then
 | |
|   d_helpdir="$topdir/share/w3m"
 | |
| fi
 | |
| echo "Which directory do you want to put the helpfile?"
 | |
| Echo "(default: $d_helpdir) "
 | |
| readdir "$d_helpdir"
 | |
| helpdir=$_dir
 | |
| echo "helpdir='$helpdir'" >> config.param
 | |
| 
 | |
| d_sysconfdir=$sysconfdir
 | |
| if [ -z "$d_sysconfdir" ]; then
 | |
|   d_sysconfdir="$topdir/etc/w3m"
 | |
| fi
 | |
| echo "Which directory do you want to put the system wide w3m configuration file?"
 | |
| Echo "(default: $d_sysconfdir) "
 | |
| readdir "$d_sysconfdir"
 | |
| sysconfdir=$_dir
 | |
| echo "sysconfdir='$sysconfdir'" >> config.param
 | |
| 
 | |
| ask_choice "Which language do you prefer?" lang \
 | |
|     1 JA "Japanese (charset ISO-2022-JP, EUC-JP, Shift_JIS)" . \
 | |
|     2 EN "English (charset US_ASCII, ISO-8859-1, etc)" .
 | |
| 
 | |
| if [ "$lang" = JA ]; then
 | |
|   ask_choice "What is your display kanji code?" display_code \
 | |
|     S S "Shift JIS" . \
 | |
|     E E "EUC-JP" . \
 | |
|     j j 'JIS: ESC $@ - ESC (J' . \
 | |
|     N N 'JIS: ESC $B - ESC (J' . \
 | |
|     n n 'JIS: ESC $B - ESC (B' . \
 | |
|     m m 'JIS: ESC $@ - ESC (B' .
 | |
|  system_code=
 | |
|  if [ "$display_code" = "S" ]; then
 | |
|    system_code=S
 | |
|    def_param system_code S
 | |
|  else
 | |
|    system_code=E
 | |
|    def_param system_code E
 | |
|  fi
 | |
| else
 | |
|   display_code=x
 | |
|   system_code=x
 | |
|   def_param display_code x
 | |
|   def_param system_code x
 | |
| fi
 | |
| 
 | |
| if [ "$lang" = "JA" ]; then
 | |
|   ask_param "Use 2-byte character for table border, item, etc." kanji_symbols y
 | |
| else
 | |
|   kanji_symbols=n
 | |
|   def_param kanji_symbols n
 | |
| fi
 | |
| 
 | |
| ask_param "Use Lynx-like key binding as default" use_lynx_key n
 | |
| if [ "$use_lynx_key" = y ]; then
 | |
|   keymap_file="keybind_lynx"
 | |
| else
 | |
|   keymap_file="keybind"
 | |
| fi
 | |
| 
 | |
| if [ "$lang" = "JA" ]; then
 | |
|   if [ "$use_lynx_key" = y ]; then
 | |
|     helpfile="w3mhelp-lynx_ja.html"
 | |
|   else
 | |
|     helpfile="w3mhelp-w3m_ja.html"
 | |
|   fi
 | |
| else
 | |
|   if [ "$use_lynx_key" = y ]; then
 | |
|     helpfile="w3mhelp-lynx_en.html"
 | |
|   else  
 | |
|     helpfile="w3mhelp-w3m_en.html"
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| ###
 | |
| 
 | |
| echo ""
 | |
| echo "Let's do some configurations. Choose config option among the list."
 | |
| echo ""
 | |
| echo "1 - Baby model    (no color, no menu, no mouse, no cookie, no SSL)"
 | |
| echo "2 - Little model  (color, menu, no mouse, no cookie, no SSL)"
 | |
| echo "3 - Mouse model   (color, menu, mouse, no cookie, no SSL)"
 | |
| echo "4 - Cookie model  (color, menu, mouse, cookie, no SSL)"
 | |
| echo "5 - Monster model (with everything; you need openSSL library)"
 | |
| echo "6 - Customize"
 | |
| echo ""
 | |
| Echo "Which? "
 | |
| if [ -n "$dmodel" ]; then
 | |
|   Echo "(default: $dmodel) "
 | |
| fi
 | |
| 
 | |
| include_opt=y
 | |
| while :
 | |
| do
 | |
| readanswer ans "$dmodel"
 | |
| if [ -z "$ans" -a -n "$dmodel" ]; then
 | |
|   ans=$dmodel
 | |
| fi
 | |
| dmodel_save="$dmodel"
 | |
| dmodel=$ans
 | |
| case "$ans" in
 | |
|   1)
 | |
|     use_color=n;
 | |
|     use_menu=n;
 | |
|     use_mouse=n;
 | |
|     use_cookie=n;
 | |
|     use_ssl=n;
 | |
|     include_opt=n
 | |
|     customized=y
 | |
|     ;;
 | |
|   2)
 | |
|     use_color=y;
 | |
|     use_menu=y;
 | |
|     use_mouse=n;
 | |
|     use_cookie=n;
 | |
|     use_ssl=n;
 | |
|     customized=y
 | |
|     ;;
 | |
|   3)
 | |
|     use_color=y;
 | |
|     use_menu=y;
 | |
|     use_mouse=y;
 | |
|     use_cookie=n;
 | |
|     use_ssl=n;
 | |
|     customized=y
 | |
|     ;;
 | |
|   4)
 | |
|     use_color=y;
 | |
|     use_menu=y;
 | |
|     use_mouse=y;
 | |
|     use_cookie=y;
 | |
|     use_ssl=n;
 | |
|     customized=y
 | |
|     ;;
 | |
|   5)
 | |
|     use_color=y;
 | |
|     use_menu=y;
 | |
|     use_mouse=y;
 | |
|     use_cookie=y;
 | |
|     use_ssl=y;
 | |
|     customized=y
 | |
|     ;;
 | |
|   6)
 | |
|     if [ "$dmodel_save" = 6 ]; then
 | |
|       customized=y
 | |
|     else
 | |
|       customized=n
 | |
|     fi
 | |
|     ;;
 | |
|   *)
 | |
|     echo "Please input 1-6."
 | |
|     Echo "Which? "
 | |
|     continue
 | |
|   ;;
 | |
| esac
 | |
| break
 | |
| done
 | |
| 
 | |
| if [ -n "$dmodel" ]; then
 | |
|   echo "dmodel=$dmodel" >> config.param
 | |
| fi
 | |
| 
 | |
| save_all_yes=$all_yes
 | |
| if [ "$customized" = y ]; then
 | |
|  all_yes=1
 | |
| fi
 | |
| 
 | |
| ask_param "Use color ESC sequence for kterm/pxvt" use_color y
 | |
| ask_param "Use mouse (requires xterm/kterm/gpm/sysmouse)" use_mouse n
 | |
| ask_param "Use popup menu" use_menu y
 | |
| ask_param "Use cookie" use_cookie n
 | |
| ask_param "Use SSL (need OpenSSL library; Please see http://www.openssl.org/)" use_ssl n
 | |
| 
 | |
| all_yes=$save_all_yes
 | |
| 
 | |
| 
 | |
| if [ "$use_ssl" = y ]; then
 | |
|  find_ssl
 | |
| fi
 | |
| if [ "$use_ssl" = y ]; then
 | |
|   ask_param "SSL verification support (SSL library >= version 0.8)" use_ssl_verify n
 | |
|   ask_param "Digest Auth support" use_digest_auth y
 | |
| else
 | |
|   use_ssl_verify=n
 | |
|   def_param "use_ssl_verify" n
 | |
|   use_digest_auth=n
 | |
|   def_param "use_digest_auth" n
 | |
| fi
 | |
| 
 | |
| ask_param "Inline image support (you need Imlib library)" use_image n
 | |
| if [ "$use_image" = y ]; then
 | |
|   def_use_image="#define USE_IMAGE"
 | |
|   imgtarget='$(IMGDISPLAY) $(IMGSIZE)'
 | |
| else
 | |
|   def_use_image="#undef USE_IMAGE"
 | |
|   imgtarget=''
 | |
| fi
 | |
| 
 | |
| if [ "$use_color" = y ]; then
 | |
|   ask_param "ANSI color escape sequences support" use_ansi_color n
 | |
| else
 | |
|   use_ansi_color=n
 | |
|   def_param "use_ansi_color" n
 | |
| fi
 | |
| 
 | |
| ask_param "Use Migemo (Roma-ji search; Please see http://migemo.namazu.org/)" use_migemo n
 | |
| def_migemo_command=${def_migemo_command:-"migemo -t egrep /usr/local/share/migemo/migemo-dict"}
 | |
| echo "def_migemo_command='$def_migemo_command'" >> config.param
 | |
| 
 | |
| # protocols?
 | |
| ask_param "External URI loader support" use_external_uri_loader y
 | |
| if [ "$use_external_uri_loader" = y ]; then
 | |
|   ask_param "Use w3mmail.cgi" use_w3mmailer y
 | |
| fi
 | |
| ask_param "NNTP support" use_nntp $include_opt
 | |
| ask_param "Gopher support" use_gopher $include_opt
 | |
| 
 | |
| # obsoleted?
 | |
| # ask_param "Use matrix in rendering table" use_matrix n
 | |
| 
 | |
| ask_param "Use alarm support code" use_alarm $include_opt
 | |
| ask_param "Use mark operation" use_mark $include_opt
 | |
| 
 | |
| ### only use config.param
 | |
| def_param use_dict n
 | |
| def_param use_history y
 | |
| def_param use_bg_color y
 | |
| def_param format_nice n
 | |
| def_param id_ext y
 | |
| def_param use_bufinfo y
 | |
| def_param use_egd y
 | |
| def_param enable_remove_trailingspaces n
 | |
| def_param menu_thin_frame n
 | |
| def_param emacs_like_lineedit $include_opt
 | |
| def_param vi_prec_num $include_opt
 | |
| def_param label_topline $include_opt
 | |
| def_param nextpage_topline $include_opt
 | |
| def_param ftppass_hostnamegen $include_opt
 | |
| 
 | |
| def_param table_expand n
 | |
| def_param table_no_compact n
 | |
| def_param nowrap y
 | |
| def_param matrix y
 | |
| 
 | |
| if [ -z "$ded" ] ; then ded=`./which \vi` ; fi
 | |
| if [ -n  "`echo $ded | grep 'no'`" ] ; then ded=vi ; fi
 | |
| echo "Input your favorite editor program."
 | |
| Echo "(Default: $ded) "
 | |
| readdir "$ded"
 | |
| editor=$_dir
 | |
| echo "ded='$editor'" >> config.param
 | |
| 
 | |
| if [ "$use_w3mmailer" != 'y' ]; then
 | |
|  if [ -z "$dmail" ] ; then 
 | |
|   if ./which \mailx > /dev/null
 | |
|   then
 | |
|     dmail=`./which \mailx` 
 | |
|   else
 | |
|     dmail=`./which \mail`
 | |
|   fi
 | |
|   if [ -n  "`echo $dmail | grep 'no'`" ] ; then dmail=mailx ; fi
 | |
|  fi
 | |
|  echo "Input your favorite mailer program."
 | |
|  Echo "(Default: $dmail) "
 | |
|  readdir "$dmail"
 | |
|  mailer=$_dir
 | |
| else
 | |
|  mailer="$dmail"
 | |
| fi
 | |
| echo "dmail='$mailer'" >> config.param
 | |
| 
 | |
| if [ -z "$dbrowser" ] ; then 
 | |
|   if ./which netscape > /dev/null
 | |
|   then
 | |
|     dbrowser=`./which netscape` 
 | |
|   elif ./which iexplore > /dev/null
 | |
|   then
 | |
|     dbrowser=`./which iexplore`
 | |
|   else
 | |
|     dbrowser=`./which lynx`
 | |
|   fi
 | |
|   if [ -n  "`echo $dbrowser | grep 'no'`" ] ; then dbrowser=netscape ; fi
 | |
| fi
 | |
| echo "Input your favorite external browser program."
 | |
| Echo "(Default: $dbrowser) "
 | |
| readdir "$dbrowser"
 | |
| brz=$_dir
 | |
| echo "dbrowser='$brz'" >> config.param
 | |
| 
 | |
| def_image_viewer=${def_image_viewer:-xv}
 | |
| echo "def_image_viewer='$def_image_viewer'" >> config.param
 | |
| def_audio_player=${def_audio_player:-showaudio}
 | |
| echo "def_audio_player='$def_audio_player'" >> config.param
 | |
| 
 | |
| if [ -z "$dcc" ]; then 
 | |
|   if [ -n "$CC" ]; then
 | |
|     dcc="$CC"
 | |
|   elif ./which gcc >/dev/null ; then
 | |
|     dcc=gcc
 | |
|   else
 | |
|     dcc=cc
 | |
|   fi
 | |
| fi
 | |
| echo "Input your favorite C-compiler."
 | |
| Echo "(Default: $dcc) "
 | |
| readanswer cc "$dcc"
 | |
| echo "dcc='$cc'" >> config.param
 | |
| 
 | |
| if [ -z "$dcflags" ]; then
 | |
|   dcflags=${CFLAGS-"-O"}
 | |
| fi
 | |
| echo "Input your favorite C flags."
 | |
| Echo "(Default: $dcflags) "
 | |
| readanswer cflags "$dcflags"
 | |
| echo "dcflags='$cflags'" >> config.param
 | |
| 
 | |
| bsdinclude=''
 | |
| if [ ! -f /usr/include/netinet/in.h ] ; then
 | |
| 	if [ -f /usr/include/bsd/netinet/in.h ] ; then
 | |
| 		bsdinclude='-I/usr/include/bsd'
 | |
| 	elif [ -f /usr/bsdinclude/netinet/in.h ] ; then
 | |
| 		bsdinclude='-I/usr/bsdinclude'
 | |
| 	else
 | |
| 		echo "It seems you don't have some include files for networking."
 | |
| 	fi
 | |
| fi
 | |
| 
 | |
| termlib=''
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   char bp[100];
 | |
|   tgetent(bp,getenv("TERM"));
 | |
| }
 | |
| EOF
 | |
| 
 | |
| if [ -z "$dtermlib" ]; then
 | |
|   TERM_LIBS='termcap termlib terminfo mytinfo curses ncurses'
 | |
| 
 | |
|   for lib in $TERM_LIBS
 | |
|   do
 | |
|     for tlibdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib $prefix/lib
 | |
|     do
 | |
|       if [ -f $tlibdir/lib$lib.a -o -f $tlibdir/lib$lib.$so_ext ] ; then 
 | |
|         # check if the lib works...
 | |
|         Echo "Terminal library -l$lib found at $tlibdir, "
 | |
|         if $cc $cflags -o _zmachdep _zmachdep.c -l$lib > /dev/null 2>&1
 | |
|         then
 | |
|           echo "and it seems to work."
 | |
|           termlib=-l$lib
 | |
|         else
 | |
|           echo "but it doesn't seem to work."
 | |
|         fi
 | |
|       fi
 | |
|     done
 | |
|   done
 | |
|   if [ -z "$termlib" ]; then
 | |
|     Echo "termcap/curses library not found; I hope -ltermcap works."
 | |
|     termlib='-ltermcap'
 | |
|   fi
 | |
|   dtermlib=$termlib
 | |
| fi
 | |
| echo 'Which terminal library do you want to use? (type "none" if you do not need one)'
 | |
| Echo "(default: $dtermlib) "
 | |
| readanswer termlib "$dtermlib"
 | |
| if [ "$termlib" = none ]; then
 | |
|   termlib=""
 | |
| else
 | |
|   echo "dtermlib='$termlib'" >> config.param
 | |
| fi
 | |
| 
 | |
| ## Setup for math library
 | |
| if [ $sysname = Rhapsody -o $sysname = "Mac OS" ]; then
 | |
|   echo "MacOS X doesn't need -lm."
 | |
|   mathlib=""
 | |
| else
 | |
|   mathlib="-lm"
 | |
| fi
 | |
| 
 | |
| ## look for GPM library
 | |
| use_gpm=""
 | |
| gpmlib=""
 | |
| if [ "$use_mouse" = y ]; then
 | |
|   for tlibdir in /lib /usr/lib /usr/local/lib $prefix/lib
 | |
|   do
 | |
|     if [ -f $tlibdir/libgpm.a -o -f $tlibdir/libgpm.so ]; then
 | |
|       echo "GPM library found."
 | |
|       def_use_gpm="#define USE_GPM"
 | |
|       gpmlib="-lgpm"
 | |
|     fi
 | |
|   done
 | |
| fi
 | |
| 
 | |
| case $sysname in
 | |
|   freebsd|FreeBSD)
 | |
|     def_use_sysmouse="#define USE_SYSMOUSE"
 | |
|     ;;
 | |
|   *)
 | |
|     def_use_sysmouse="#undef USE_SYSMOUSE"
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| extlib=''
 | |
| 
 | |
| case $sysname in
 | |
|   *bsd|*BSD)
 | |
|     searchlibs=""
 | |
|     ;;
 | |
|   *)
 | |
|     searchlibs="bsd BSD 44bsd socket nsl"
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| for lib in $searchlibs
 | |
| do
 | |
|   for tlibdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib $prefix/lib
 | |
|   do
 | |
|     if [ -f $tlibdir/lib$lib.a -o -f $tlibdir/lib$lib.$so_ext ] ; then 
 | |
|       extlib="$extlib -l$lib"
 | |
|       break
 | |
|     fi
 | |
|   done
 | |
| done
 | |
| if [ $sysname = "HP-UX" ]; then
 | |
|   extlib="$extlib -ldld"
 | |
| fi
 | |
| if [ -n "$extlib" ]; then
 | |
|   echo "additional library found: $extlib"
 | |
| fi
 | |
| extlib="$extlib $ldflags"
 | |
| 
 | |
| ## Search zlib
 | |
| zlib=
 | |
| for tlibdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib /usr/X11R6/lib $prefix/lib ${HOME}/lib
 | |
| do
 | |
|   if [ -f $tlibdir/libz.a -o -f $tlibdir/libz.$so_ext ] ; then
 | |
|     echo "$tlibdir/libz found"
 | |
|     zlib="-L$tlibdir -lz"
 | |
|     break
 | |
|   fi
 | |
| done
 | |
| z_cflags=
 | |
| for inc in /usr/include /usr/local/include $prefix/include ${HOME}/include
 | |
| do
 | |
|   if [ -f $inc/zlib.h ]; then
 | |
|     echo "$inc/zlib.h found"
 | |
|     z_cflags="-I$inc"
 | |
|     break
 | |
|   fi
 | |
| done
 | |
| if [ -n "$zlib" -a -n "$z_cflags" ]; then
 | |
|   inflate='$(INFLATE)'
 | |
| else
 | |
|   echo "Warning: It seems you don't have zlib. Inflate cannot be installed."
 | |
|   inflate=
 | |
| fi
 | |
| 
 | |
| ## Search pthread, Linux requires this (at least ia64,alpha,s390?). 
 | |
| ## Other platform?
 | |
| pthreadlib=
 | |
| case $sysname in
 | |
| Linux|linux|LINUX)
 | |
|  for tlibdir in /lib /usr/lib
 | |
|  do
 | |
|   if [ -f $tlibdir/libpthread.a -o -f $tlibdir/libpthread.$so_ext ]; then
 | |
|     echo "$tlibdir/libpthread found"
 | |
|     pthreadlib="-L$tlibdir -lpthread"
 | |
|     break
 | |
|   fi
 | |
|  done
 | |
|  ;;
 | |
| esac
 | |
| 
 | |
| gclib=''
 | |
| gcinclude=''
 | |
| gctarget=''
 | |
| for tlibdir in ${gc_libdir} /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib $prefix/lib ${HOME}/lib
 | |
| do
 | |
|   if [ -f $tlibdir/libgc.a -o -f $tlibdir/libgc.$so_ext ] ; then 
 | |
|     echo "$tlibdir/libgc found"
 | |
|     gclib="-L$tlibdir -lgc"
 | |
|     break
 | |
|   fi
 | |
| done
 | |
| for inc in ${gc_includedir} /usr/include /usr/include/gc /usr/local/include /usr/local/include/gc $prefix/include ${HOME}/include
 | |
| do
 | |
|   if [ -f $inc/gc.h ]; then
 | |
|     echo "$inc/gc.h found"
 | |
|     gcinclude=$inc
 | |
|     break
 | |
|   fi
 | |
| done
 | |
| 
 | |
| case $sysname in
 | |
|   linux|Linux|LINUX|aix|Aix|AIX)
 | |
|     if [ ! -f "$gcinclude/private/gc_priv.h" ]; then
 | |
|       case $cflags in
 | |
|       *DEBIAN*)
 | |
|         # on Debian, we can use libgc*.deb
 | |
|         :;;
 | |
|       *)
 | |
|         # these OS requires gcmain.c, which include gc/gc_priv.h
 | |
|         # therefore we use gc library comes with w3m
 | |
|         echo "Your OS is $sysname; using gc library comes with w3m."
 | |
|         gcinclude=""
 | |
|         gclib=""
 | |
|         ;;
 | |
|       esac
 | |
|    fi
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| if [ -n "$gclib" -a -n "$gcinclude" ]; then
 | |
|   Echo GC library found on your system...
 | |
|   cat > _zmachdep.c << EOF
 | |
| #include "gc/version.h"
 | |
| main()
 | |
| {
 | |
|   printf("%d%02d%03d\n",(GC_version>>16)&0xff,(GC_version>>8)&0xff,GC_version&0xff);
 | |
| }
 | |
| EOF
 | |
|   if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
|   then
 | |
|     mygcversion=`./_zmachdep`
 | |
|   else
 | |
|     mygcversion=0
 | |
|   fi
 | |
|   cat > _zmachdep.c << EOF
 | |
| #include <gc.h>
 | |
| main()
 | |
| {
 | |
|   extern unsigned GC_version;
 | |
|   printf("%d%02d%03d\n",(GC_version>>16)&0xff,(GC_version>>8)&0xff,GC_version&0xff);
 | |
| }
 | |
| EOF
 | |
|   if $cc $cflags -I$gcinclude -o _zmachdep _zmachdep.c $gclib > /dev/null 2>&1
 | |
|   then
 | |
|     echo "and it seems to work."
 | |
|     gcversion=`./_zmachdep`
 | |
|     echo "GC_version is $gcversion."    
 | |
|     if [ $gcversion -lt $mygcversion ]; then
 | |
|       echo "GC library on your system seems to be old."
 | |
|       ask_param "Do you want to use GC library comes with w3m?" "use_bundled_gclib" y
 | |
|       if [ "$use_bundled_gclib" = 'n' -o "$use_bundled_gclib" = 'N' ]; then
 | |
|         cflags="$cflags -I$gcinclude"
 | |
|       else
 | |
|         cflags="$cflags -I./gc/include"
 | |
|         gclib="gc/gc.a"
 | |
|         gctarget=$gclib
 | |
|         echo "GC_version is $mygcversion."
 | |
|       fi
 | |
|     else
 | |
|       cflags="$cflags -I$gcinclude"
 | |
|     fi
 | |
|   elif [ $mygcversion -gt 0 ]; then
 | |
|     echo "but it doesn't seem to work."
 | |
|     cflags="$cflags -I./gc/include"
 | |
|     gclib="gc/gc.a"
 | |
|     gctarget=$gclib
 | |
|     echo "GC_version is $mygcversion."    
 | |
|   else
 | |
|     echo "It seems you don't have GC library."
 | |
|     echo "Stop."
 | |
|     exit 1
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| if [ -z "$gclib" -o -z "$gcinclude" ]; then
 | |
|   cflags="$cflags -I./gc/include"
 | |
|   gclib="gc/gc.a"
 | |
|   gctarget="$gclib"
 | |
| fi
 | |
| 
 | |
| # arch specific flags for libgc
 | |
| gc_cflags=''
 | |
| if [ "$gclib" = "gc/gc.a" ]; then
 | |
|   patchfile=""
 | |
|   case "$platform:$sysname" in
 | |
|   ia64:Linux|alpha:Linux|s390*:Linux)
 | |
|     gc_cflags="-DGC_LINUX_THREADS -D_REENTRANT"
 | |
|     ;;
 | |
|   R3000:*System_V*|R4000:UNIX_SYSV|R*000:UNIX_SV)
 | |
|     # EWS-4800
 | |
| #    patchfile=Patches/ews4800
 | |
|     gc_cflags=-Dmips
 | |
|     ;;
 | |
|   esac
 | |
|   # Apply patch.
 | |
|   if [  ! -f patch_done -a -n "$patchfile" -a -f "$patchfile" ]; then
 | |
|     patch -lp0 < $patchfile
 | |
|     echo "dpatch='$patch'" >> config.param
 | |
|     touch patch_done
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| 
 | |
| echo "Input additional LD flags other than listed above, if any:"
 | |
| if [ -z "$dldflags" ]; then
 | |
|   dldflags=${LDFLAGS-""}
 | |
| fi
 | |
| if [ -n "$dldflags" ]; then
 | |
|   Echo "(default: $dldflags) : "
 | |
| else
 | |
|   Echo ": "
 | |
| fi
 | |
| readanswer ldflags "$dldflags" ok
 | |
| if [ -z "$ldflags" ]; then
 | |
|   ldflags=$dldflags
 | |
| fi
 | |
| echo "dldflags='$ldflags'" >> config.param
 | |
| 
 | |
| echo "Checking machine dependency."
 | |
| 
 | |
| ###### mime.types
 | |
| MIME_TYPES=""
 | |
| if [ -n "$mimetypes" ]; then
 | |
|    MIME_TYPES=$mimetypes
 | |
| else
 | |
|  for d in /etc /usr/lib /usr/local/lib /usr/local/etc $prefix/lib /usr/local/etc/apache /usr/local/lib/mosaic /usr/local/mosaic /usr/local/netscape /usr/local/lib/netscape
 | |
|  do
 | |
|   if [ -f $d/mime.types ]; then
 | |
|     MIME_TYPES="$d/mime.types"
 | |
|     break
 | |
|   fi
 | |
|  done
 | |
| fi
 | |
| if [ -z "$MIME_TYPES" ]; then
 | |
|   echo "Global mime.types not found; Hope /usr/local/lib/mime.types works."
 | |
|   MIME_TYPES=/usr/local/lib/mime.types
 | |
| fi
 | |
| 
 | |
| ####### ranlib
 | |
| if ./which ranlib > /dev/null
 | |
| then
 | |
|   echo "You have ranlib."
 | |
|   ranlib_cmd=ranlib
 | |
| else
 | |
|   if [ $sysname = "OS/2" ]; then
 | |
|     ranlib_cmd=rem
 | |
|   else
 | |
|   echo "You don't have ranlib."
 | |
|   ranlib_cmd=:
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| ####### mkdir -p
 | |
| if mkdir -p hogege 
 | |
| then
 | |
|   echo "You have mkdir -p."
 | |
|   MKDIR="mkdir -p"
 | |
| else
 | |
|   MKDIR="mkdir"
 | |
| fi
 | |
| rm -rf hogege 2>&1 >/dev/null
 | |
| 
 | |
| ####### perl
 | |
| perl=`./which perl`
 | |
| if [ `expr "$perl" : 'not found'` != 0 ]; then
 | |
|   echo "You don't have perl."
 | |
|   perl=/usr/local/bin/perl
 | |
|   have_perl=n
 | |
| else
 | |
|   echo "You have perl."
 | |
|   have_perl=y
 | |
| fi
 | |
| 
 | |
| def_param use_help_cgi $have_perl
 | |
| 
 | |
| ####### strcasecmp
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <string.h>
 | |
| main()
 | |
| {
 | |
|   int i;
 | |
|   i = strcasecmp("abc","def");
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have strcasecmp()."
 | |
|   def_have_strcasecmp="#define HAVE_STRCASECMP"
 | |
| else
 | |
|   echo "You don't have strcasecmp()."
 | |
|   def_have_strcasecmp="#undef HAVE_STRCASECMP"
 | |
| fi
 | |
| 
 | |
| ####### strcasestr
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <string.h>
 | |
| main()
 | |
| {
 | |
|   int i;
 | |
|   i = strcasestr("abc","def");
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have strcasestr()."
 | |
|   def_have_strcasestr="#define HAVE_STRCASESTR"
 | |
| else
 | |
|   echo "You don't have strcasestr()."
 | |
|   def_have_strcasestr="#undef HAVE_STRCASESTR"
 | |
| fi
 | |
| 
 | |
| ####### strchr
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <string.h>
 | |
| main()
 | |
| {
 | |
|   char *p, *q = "abc";
 | |
|   p = strchr(q,'c');
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have strchr()."
 | |
|   def_have_strchr="#define HAVE_STRCHR"
 | |
| else
 | |
|   echo "You don't have strchr()."
 | |
|   def_have_strchr="#undef HAVE_STRCHR"
 | |
| fi
 | |
| 
 | |
| ####### strerror
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   int i;
 | |
|   i = strerror(0);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have strerror()."
 | |
|   def_have_strerror="#define HAVE_STRERROR"
 | |
| else
 | |
|   echo "You don't have strerror()."
 | |
|   def_have_strerror="#undef HAVE_STRERROR"
 | |
| fi
 | |
| 
 | |
| 
 | |
| ####### sys_errlist
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   extern char sys_errlist[];
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have sys_errlist[]."
 | |
|   def_have_syserrlist="#define HAVE_SYS_ERRLIST"
 | |
| else
 | |
|   echo "You don't have sys_errlist[]."
 | |
|   def_have_syserrlist="#undef HAVE_SYS_ERRLIST"
 | |
| fi
 | |
| 
 | |
| ####### bcopy
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   char x[1],y[1];
 | |
|   bzero(x,1);
 | |
|   bcopy(x,y,1);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have bcopy()."
 | |
|   def_have_bcopy="#define HAVE_BCOPY"
 | |
| else
 | |
|   echo "You don't have bcopy()."
 | |
|   def_have_bcopy="#undef HAVE_BCOPY"
 | |
| fi
 | |
| 
 | |
| ####### waitpid
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <sys/types.h>
 | |
| #include <sys/wait.h>
 | |
| 
 | |
| main()
 | |
| {
 | |
|     pid_t pid;
 | |
|     int status;
 | |
|     if ((pid = fork()) == 0) {
 | |
|        sleep(10);
 | |
|        exit(1);
 | |
|     }
 | |
|     while(waitpid(pid,&status,WNOHANG));
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have waitpid()."
 | |
|   def_have_waitpid="#define HAVE_WAITPID"
 | |
| else
 | |
|   echo "You don't have waitpid()."
 | |
|   def_have_waitpid="#undef HAVE_WAITPID"
 | |
| fi
 | |
| 
 | |
| ####### wait3
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <sys/types.h>
 | |
| #include <time.h>
 | |
| #include <sys/time.h>
 | |
| #include <sys/resource.h>
 | |
| #include <sys/wait.h>
 | |
| #ifndef NULL
 | |
| #define NULL 0
 | |
| #endif
 | |
| 
 | |
| main()
 | |
| {
 | |
|     int pid;
 | |
|     int status;
 | |
|     if ((pid = fork()) == 0) {
 | |
|        sleep(10);
 | |
|        exit(1);
 | |
|     }
 | |
|     while(wait3(&status,WNOHANG,NULL) > 0);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have wait3()."
 | |
|   def_have_wait3="#define HAVE_WAIT3"
 | |
| else
 | |
|   echo "You don't have wait3()."
 | |
|   def_have_wait3="#undef HAVE_WAIT3"
 | |
| fi
 | |
| 
 | |
| ####### strftime
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <time.h>
 | |
| 
 | |
| main()
 | |
| {
 | |
|     time_t ct;
 | |
|     struct tm *tm;
 | |
|     char t[80];
 | |
|     time(&ct);
 | |
|     strftime(t, 80, "%a, %d %b %Y %H:%M:%S GMT",gmtime(&ct));
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have strftime()."
 | |
|   def_have_strftime="#define HAVE_STRFTIME"
 | |
| else
 | |
|   echo "You don't have strftime()."
 | |
|   def_have_strftime="#undef HAVE_STRFTIME"
 | |
| fi
 | |
| 
 | |
| 
 | |
| ####### getcwd
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <sys/param.h>
 | |
| #include <unistd.h>
 | |
| main()
 | |
| {
 | |
| #ifdef MAXPATHLEN
 | |
|   char path[MAXPATHLEN];
 | |
|   getcwd(path,MAXPATHLEN);
 | |
| #else
 | |
|   gwtcwd(NULL, 0);
 | |
| #endif
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have getcwd()."
 | |
|   def_have_getcwd="#define HAVE_GETCWD"
 | |
| else
 | |
|   echo "You don't have getcwd()."
 | |
|   def_have_getcwd="#undef HAVE_GETCWD"
 | |
| fi
 | |
| 
 | |
| ####### getwd
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   char path[64];
 | |
|   getwd(path);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have getwd()."
 | |
|   def_have_getwd="#define HAVE_GETWD"
 | |
| else
 | |
|   echo "You don't have getwd()."
 | |
|   def_have_getwd="#undef HAVE_GETWD"
 | |
| fi
 | |
| 
 | |
| ####### readlink
 | |
| cat > _zmachdep.c << EOF
 | |
| main()
 | |
| {
 | |
|   char path[64],lpath[64];
 | |
|   readlink(path,lpath,64);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have readlink()."
 | |
|   def_have_readlink="#define HAVE_READLINK"
 | |
| else
 | |
|   echo "You don't have readlink()."
 | |
|   def_have_readlink="#undef HAVE_READLINK"
 | |
| fi
 | |
| 
 | |
| ####### setenv
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   setenv("HOGE","hoge",1);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have setenv()."
 | |
|   def_have_setenv="#define HAVE_SETENV"
 | |
| else
 | |
|   echo "You don't have setenv()."
 | |
|   def_have_setenv="#undef HAVE_SETENV"
 | |
| fi
 | |
| 
 | |
| ####### putenv
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   putenv("HOGE=hoge");
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have putenv()."
 | |
|   def_have_putenv="#define HAVE_PUTENV"
 | |
| else
 | |
|   echo "You don't have putenv()."
 | |
|   def_have_putenv="#undef HAVE_PUTENV"
 | |
| fi
 | |
| 
 | |
| ####### sigsetjmp
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <setjmp.h>
 | |
| main()
 | |
| {
 | |
|   jmp_buf env;
 | |
|   if (sigsetjmp(env,1) != 0) {
 | |
|     exit(0);
 | |
|   }
 | |
|   siglongjmp(env,1);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have sigsetjmp()."
 | |
|   def_setjmp="#define SETJMP(env) sigsetjmp(env,1)"
 | |
|   def_longjmp="#define LONGJMP(env,val) siglongjmp(env,val)"
 | |
|   def_jmpbuf="#define JMP_BUF sigjmp_buf"
 | |
| else
 | |
|   echo "You don't have sigsetjmp()."
 | |
|   def_setjmp="#define SETJMP(env) setjmp(env)"
 | |
|   def_longjmp="#define LONGJMP(env,val) longjmp(env,val)"
 | |
|   def_jmpbuf="#define JMP_BUF jmp_buf"
 | |
| fi
 | |
| 
 | |
| ####### srand48
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   srand48(0);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have srand48()."
 | |
|   def_have_srand48="#define HAVE_SRAND48"
 | |
| else
 | |
|   echo "You don't have srand48()."
 | |
|   def_have_srand48="#undef HAVE_SRAND48"
 | |
| fi
 | |
| 
 | |
| ####### srandom
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   srandom(0);
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have srandom()."
 | |
|   def_have_srandom="#define HAVE_SRANDOM"
 | |
| else
 | |
|   echo "You don't have srandom()."
 | |
|   def_have_srandom="#undef HAVE_SRANDOM"
 | |
| fi
 | |
| 
 | |
| ####### getpassphrase
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <unistd.h>
 | |
| main()
 | |
| {
 | |
|   getpassphrase("");
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have getpassphrase()."
 | |
|   def_have_getpassphrase="#define HAVE_GETPASSPHRASE"
 | |
| else
 | |
|   echo "You don't have getpassphrase()."
 | |
|   def_have_getpassphrase="#undef HAVE_GETPASSPHRASE"
 | |
| fi
 | |
| 
 | |
| ####### chdir
 | |
| cat > _zmachdep.c <<EOF
 | |
| #include <stdio.h>
 | |
| #include <unistd.h>
 | |
| main()
 | |
| {
 | |
|   int (*c)() = chdir;
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have chdir()."
 | |
|   def_have_chdir="#define HAVE_CHDIR"
 | |
| else
 | |
|   echo "You don't have chdir()."
 | |
|   def_have_chdir="#undef HAVE_CHDIR"
 | |
| fi
 | |
| 
 | |
| ####### fclose
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   void (*c)() = fclose;
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "fclose() is declared."
 | |
|   dcl_fclose=''
 | |
| else
 | |
|   echo "fclose() is not declared."
 | |
|   dcl_fclose='void fclose(FILE*);'
 | |
| fi
 | |
| 
 | |
| ####### pclose
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| main()
 | |
| {
 | |
|   void (*c)() = pclose;
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "pclose() is declared."
 | |
|   dcl_pclose=''
 | |
| else
 | |
|   echo "pclose() is not declared."
 | |
|   dcl_pclose='void pclose(FILE*);'
 | |
| fi
 | |
| 
 | |
| ####### termios/termio/sgtty
 | |
| def_term_if='#define HAVE_SGTTY_H'
 | |
| if [ $sysname = "HP-UX" ]; then
 | |
| 	echo "Your OS is HP-UX; using termio"
 | |
| 	def_term_if="#define HAVE_TERMIO_H"
 | |
| elif [ $sysname = "CYGWIN" ]; then
 | |
| 	echo "Your OS is CYGWIN; using termios"
 | |
| 	def_term_if="#define HAVE_TERMIOS_H"
 | |
| elif [ $sysname = "OS/2" ]; then
 | |
| 	echo "Your OS is OS/2; using termios"
 | |
| 	def_term_if='#define HAVE_TERMIOS_H'
 | |
| elif [ -r /usr/include/termios.h ]; then
 | |
| 	echo "You have termios."
 | |
| 	def_term_if='#define HAVE_TERMIOS_H'
 | |
| elif [ -r /usr/include/termio.h ]; then
 | |
| 	echo "You have termio."
 | |
| 	def_term_if='#define HAVE_TERMIO_H'
 | |
| elif [ -r /usr/include/sgtty.h ]; then
 | |
| 	echo "You have sgtty."
 | |
| 	def_term_if='#define HAVE_SGTTY_H'
 | |
| else
 | |
| 	echo "Do you have tty interface? I can't find one but I hope sgtty works..."
 | |
| fi
 | |
| 
 | |
| ####### dirent/direct
 | |
| def_dir_if=''
 | |
| if [ $sysname = "CYGWIN" ]; then
 | |
| 	echo "Your OS is CYGWIN; using dirent.h"
 | |
| 	def_dir_if='#define HAVE_DIRENT_H'
 | |
| elif [ $sysname = "OS/2" ]; then
 | |
| 	echo "Your OS is OS/2; using dirent.h"
 | |
| 	def_dir_if='#define HAVE_DIRENT_H'
 | |
| elif [ -r /usr/include/dirent.h ]; then
 | |
| 	echo "You have dirent.h."
 | |
| 	def_dir_if='#define HAVE_DIRENT_H'
 | |
| elif [ -r /usr/include/sys/dir.h ]; then
 | |
| 	echo "You have sys/dir.h."
 | |
| 	def_dir_if=''
 | |
| else
 | |
| 	echo "Do you have directory interface? I can't find one but I hope sys/dir.h works..."
 | |
| fi
 | |
| 
 | |
| # check signal handler
 | |
| 
 | |
| do_sigtest int int
 | |
| if [ $stat = 0 -a -z "$warning" ]
 | |
| then
 | |
|   echo 'signal handler is int handler(int).'
 | |
|   def_sighandler='typedef int MySignalHandler;'
 | |
|   def_sig_arg='#define SIGNAL_ARG int _dummy'
 | |
|   def_sig_arglist='#define SIGNAL_ARGLIST 0'
 | |
|   def_sig_return='#define SIGNAL_RETURN return 0'
 | |
| else
 | |
|   do_sigtest int void
 | |
|   if [ $stat = 0 -a -z "$warning" ]
 | |
|   then
 | |
|     echo 'signal handler is int handler(void).'
 | |
|     def_sighandler='typedef int MySignalHandler;'
 | |
|     def_sig_arg='#define SIGNAL_ARG void'
 | |
|     def_sig_arglist='#define SIGNAL_ARGLIST'
 | |
|     def_sig_return='#define SIGNAL_RETURN return 0'
 | |
|   else
 | |
|     do_sigtest void int
 | |
|     if [ $stat = 0 -a -z "$warning" ]
 | |
|     then
 | |
|       echo 'signal handler is void handler(int).'
 | |
|       def_sighandler='typedef void MySignalHandler;'
 | |
|       def_sig_arg='#define SIGNAL_ARG int _dummy'
 | |
|       def_sig_arglist='#define SIGNAL_ARGLIST 0'
 | |
|       def_sig_return='#define SIGNAL_RETURN return'
 | |
|     else
 | |
|       do_sigtest void void
 | |
|       if [ $stat = 0 -a -z "$warning" ]
 | |
|       then
 | |
|         echo 'signal handler is void handler(void).'
 | |
|       else
 | |
|         echo 'I could not find the type of signal handler. I hope void handler(void) works.'
 | |
|       fi
 | |
|       def_sighandler='typedef void MySignalHandler;'
 | |
|       def_sig_arg='#define SIGNAL_ARG void'
 | |
|       def_sig_arglist='#define SIGNAL_ARGLIST'
 | |
|       def_sig_return='#define SIGNAL_RETURN return'
 | |
|     fi
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| # check alarm()
 | |
| if [ "$use_alarm" = y ]; then
 | |
|   cat > _zmachdep.c <<EOF
 | |
| #include <unistd.h>
 | |
| #include <signal.h>
 | |
| main()
 | |
| {
 | |
|     int sa = SIGALRM;
 | |
|     void (*a)() = alarm;
 | |
| }
 | |
| EOF
 | |
|   if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
|   then
 | |
|     echo "You have alarm()."
 | |
|   else
 | |
|     echo "You don't have alarm(), disable USE_ALARM"
 | |
|     use_alarm=n
 | |
|     def_use_alarm="#undef USE_ALARM"
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| # check for float.h
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <float.h>
 | |
| main()
 | |
| {
 | |
|   ;
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -c _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have float.h."
 | |
|   def_have_float_h='#define HAVE_FLOAT_H'
 | |
| else
 | |
|   def_have_float_h='#undef HAVE_FLOAT_H'
 | |
| fi
 | |
| 
 | |
| ####### check for sys/select.h
 | |
| cat > _zmachdep.c <<EOF
 | |
| #include <sys/select.h>
 | |
| main()
 | |
| { 
 | |
|   ;
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -c _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have sys/select.h."
 | |
|   def_have_sys_select_h='#define HAVE_SYS_SELECT_H'
 | |
| else
 | |
|   def_have_sys_select_h='#undef HAVE_SYS_SELECT_H'
 | |
| fi
 | |
| 
 | |
| ####### setpgrp(pid, pgrp) or setpgrp() ?
 | |
| cat > _zmachdep.c << EOF
 | |
| #include <unistd.h>
 | |
| int main(){
 | |
|   int pid;
 | |
|   if((pid = fork()) == 0 )
 | |
|     setpgrp();
 | |
| }
 | |
| EOF
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| then
 | |
|   echo "You have setpgrp()."
 | |
|   def_have_setpgrp='#define HAVE_SETPGRP'
 | |
| else
 | |
|   cat > _zmachdep.c << EOF
 | |
| #include <unistd.h>
 | |
| int main(){
 | |
|   int pid;
 | |
|   if((pid = fork()) == 0 )
 | |
|     setpgrp( 0, 0 );
 | |
| }
 | |
| EOF
 | |
|   if $cc $cflags -o _zmachdep _zmachdep.c $extlib > /dev/null 2>&1
 | |
|   then
 | |
|     echo "You have setpgrp( pid, pgrp )."
 | |
|     def_have_setpgrp='#define HAVE_SETPGRP'
 | |
|     def_setpgrp='#define setpgrp() setpgrp( 0, 0 )'
 | |
|   else
 | |
|     def_have_setpgrp=''
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| ###### atexit/on_exit
 | |
| # cat > _zmachdep.c <<EOF
 | |
| # main()
 | |
| # {
 | |
| #   atexit( sleep(1) );
 | |
| # }
 | |
| # EOF
 | |
| # if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| # then
 | |
| #   echo "You have atexit()."
 | |
| #   atexit_flg="#define HAVE_ATEXIT"
 | |
| # else
 | |
| #   cat > _zmachdep.c <<EOF
 | |
| # #include <stdio.h>
 | |
| # main()
 | |
| # {
 | |
| #   on_exit( sleep(1), NULL );
 | |
| # }
 | |
| # EOF
 | |
| #   if $cc $cflags -o _zmachdep _zmachdep.c > /dev/null 2>&1
 | |
| #   then
 | |
| #     echo "You have on_exit()."
 | |
| #     atexit_flg="#define atexit(x) on_exit(x, NULL)"
 | |
| #   else
 | |
| #     echo "You don't have atexit()/on_exit()"
 | |
| #   fi
 | |
| # fi
 | |
| 
 | |
| ###### IPv6 support check
 | |
| cat > _zmachdep.c <<EOF
 | |
| #include <sys/types.h>
 | |
| #include <sys/socket.h>
 | |
| main()
 | |
| {
 | |
|  if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
 | |
|    exit(1);
 | |
|  else
 | |
|    exit(0);
 | |
| }
 | |
| EOF
 | |
| def_ipv6="#undef INET6"
 | |
| v6_ss_family=""
 | |
| v6lib=''
 | |
| 
 | |
| if $cc $cflags -o _zmachdep _zmachdep.c $extlib > /dev/null 2>&1
 | |
| then
 | |
|   if ./_zmachdep; then
 | |
|     def_ipv6="#define INET6"
 | |
|   else
 | |
|     # even if build machine doesnt have IPv6 support, it may works
 | |
|     # Required for package builds
 | |
|     if [ "$use_ipv6" = "y" ]; then
 | |
|       echo "Your build machine doesn't have IPv6 support, but it is enabled by config.param"
 | |
|       def_ipv6="#define INET6"
 | |
|       echo "use_ipv6=y" >> config.param
 | |
|     fi
 | |
|   fi
 | |
|   case $sysname in
 | |
|   *BSD|*bsd)
 | |
|     cat > _zmachdep.c <<EOF
 | |
| #include <sys/types.h>
 | |
| #include <sys/socket.h>
 | |
| #include <netdb.h>
 | |
| 
 | |
| struct addrinfo *hints, **res;
 | |
| 
 | |
| int main() {
 | |
|     getaddrinfo("null", "null", hints, res);
 | |
| }
 | |
| EOF
 | |
|     if $cc $cflags -o _zmachdep _zmachdep.c $extlib > /dev/null 2>&1
 | |
|     then
 | |
|       echo "You have getaddrinfo() in libc."
 | |
|     else
 | |
|       for tlibdir in /usr/local/v6/lib /usr/local/lib /usr/lib $prefix/lib
 | |
|       do
 | |
| 	if [ -e $tlibdir/libinet6.a ]; then
 | |
| 	  if [ "$tlibdir" != "/usr/lib" ]; then
 | |
| 	    v6lib="-L$tlibdir"
 | |
| 	  fi
 | |
| 	  v6lib="$v6lib -linet6"
 | |
| 	  if $cc $cflags -o _zmachdep _zmachdep.c $extlib $v6lib > /dev/null 2>&1
 | |
| 	  then
 | |
| 	    echo "You have getaddrinfo() in libinet6."
 | |
| 	  fi
 | |
| 	  break
 | |
| 	fi
 | |
|       done
 | |
|       if [ "X$v6lib" = "X" ]; then
 | |
| 	echo "You don't have getaddrinfo()."
 | |
| 	def_ipv6="#undef INET6"
 | |
|       fi
 | |
|     fi
 | |
|     ;;
 | |
|   CYGWIN*)
 | |
|     def_ipv6="#undef INET6"
 | |
|     ;;
 | |
|   esac
 | |
| fi
 | |
| 
 | |
| ####### ss_family or __ss_family ?
 | |
| if [ "$def_ipv6" = "#define INET6" ]; then
 | |
|   cat > _zmachdep.c <<EOF
 | |
| #include <sys/types.h>
 | |
| #include <sys/socket.h>
 | |
| int main() {
 | |
|     struct sockaddr_storage ss;
 | |
|     int i = ss.ss_family;
 | |
| }
 | |
| EOF
 | |
|   if $cc $cflags -o _zmachdep _zmachdep.c $extlib > /dev/null 2>&1
 | |
|   then
 | |
|     echo "You have ss_family."
 | |
|   else
 | |
|   cat > _zmachdep.c <<EOF
 | |
| #include <sys/types.h>
 | |
| #include <sys/socket.h>
 | |
| int main() {
 | |
|     struct sockaddr_storage ss;
 | |
|     int i = ss.__ss_family;
 | |
| }
 | |
| EOF
 | |
|     if $cc $cflags -o _zmachdep _zmachdep.c $extlib > /dev/null 2>&1
 | |
|     then
 | |
|       echo "You have __ss_family."
 | |
|       def_ipv6_ss_family="#define ss_family __ss_family"
 | |
|     else
 | |
|       echo "You don't have ss_family."
 | |
|       def_ipv6="#undef INET6"
 | |
|     fi
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| if [ "$def_ipv6" = "#undef INET6" ]; then
 | |
|   echo "You don't have IPv6 support."
 | |
| else
 | |
|   echo "You have IPv6 support."
 | |
| fi
 | |
| 
 | |
| if [ "$use_image" = y ]; then
 | |
|   find_imlib
 | |
| fi
 | |
| 
 | |
| rm -f _zmachdep$extension _zmachdep.c _zmachdep.o
 | |
| echo "------------ Configuration done ------------"
 | |
| 
 | |
| # set model name
 | |
| case $dmodel in
 | |
|   1) modelname=baby;;
 | |
|   2) modelname=little;;
 | |
|   3) modelname=mouse;;
 | |
|   4) modelname=cookie;;
 | |
|   5) modelname=monster;;
 | |
|   6) modelname=custom;;
 | |
| esac
 | |
| 
 | |
| cvsver=`awk '\$1 ~ /[$]Id:/ { print \$3}' ChangeLog`
 | |
| sed -e 's/^#define CURRENT_VERSION "\(.*\)+cvs/#define CURRENT_VERSION "\1+cvs-'$cvsver'/' version.c.in > version.c
 | |
| 
 | |
| cur_ver=`sed -n 's/^#define CURRENT_VERSION *"w3m\/\([^"]*\)".*$/\1/p' version.c`
 | |
| for h_in in w3mhelp-*_*.html.in
 | |
| do
 | |
|   h=`expr "$h_in" : '\(.*\)\.in'`
 | |
|   sed -e 's/@CURRENT_VERSION@/'$cur_ver'/' $h_in > $h
 | |
| done
 | |
| 
 | |
| cat > extrvers.c << EOF
 | |
| #include <stdio.h>
 | |
| #include <string.h>
 | |
| #include "version.c"
 | |
| main()
 | |
| {
 | |
|   char *p = strchr(w3m_version,'/');
 | |
|   if (p == NULL)
 | |
|     printf("unknown\n");
 | |
|   else
 | |
|     printf("%s\n",p+1);
 | |
| }
 | |
| EOF
 | |
| $cc $cflags -o extrvers extrvers.c  > /dev/null 2>&1
 | |
| w3mversion=`./extrvers`
 | |
| echo "Current w3m version is $w3mversion."
 | |
| rm -f extrvers.c extrvers$extension
 | |
| 
 | |
| echo "Extracting config.h"
 | |
| cat > config.h << END_OF_CONFIG_H
 | |
| /*
 | |
|  * Configuration for w3m
 | |
|  */
 | |
| 
 | |
| #ifndef _CONFIGURED_
 | |
| #define _CONFIGURED_
 | |
| 
 | |
| /* User Configuration */
 | |
| 
 | |
| /* 
 | |
|    If you define DICT, you can use dictionary look-up function
 | |
|    in w3m. See README.dict for detail.
 | |
| */
 | |
| $def_use_dict
 | |
| 
 | |
| /*
 | |
|    If you want to load and save URL history.
 | |
|  */
 | |
| $def_use_history
 | |
| 
 | |
| /*
 | |
|    USE_BG_COLOR enables w3m to set background color.
 | |
|  */
 | |
| $def_use_bg_color
 | |
| 
 | |
| /*
 | |
|  * Do word fill
 | |
|  */
 | |
| $def_format_nice
 | |
| 
 | |
| /*
 | |
|  * Enable id attribute
 | |
|  */
 | |
| $def_id_ext
 | |
| 
 | |
| /*
 | |
|  * Save Current-buffer Information
 | |
|  */
 | |
| $def_use_bufinfo
 | |
| 
 | |
| /*
 | |
|  * Support EGD (Entropy Gathering Daemon)
 | |
|  */
 | |
| $def_use_egd
 | |
| 
 | |
| /*
 | |
|  * Remove line trailing spaces in html buffer.
 | |
|  */
 | |
| $def_enable_remove_trailingspaces
 | |
| 
 | |
| /*
 | |
|  * thin chars for menu frame
 | |
|  */
 | |
| $def_menu_thin_frame
 | |
| 
 | |
| /*
 | |
|  */
 | |
| $def_table_expand
 | |
| $def_table_no_compact
 | |
| $def_nowrap
 | |
| $def_matrix
 | |
| 
 | |
| /**********************************************************/
 | |
| #ifdef makefile_parameter
 | |
| 
 | |
| BIN_DIR = $bindir
 | |
| HELP_DIR = $helpdir
 | |
| LIB_DIR = $libdir
 | |
| ETC_DIR = $sysconfdir
 | |
| RC_DIR = ~/.w3m
 | |
| HELP_FILE = $helpfile
 | |
| SYS_LIBRARIES = $gpmlib $termlib $ssllib $v6lib
 | |
| LOCAL_LIBRARIES = $extlib
 | |
| CC = $cc
 | |
| MYCFLAGS = $cflags $bsdinclude $sslinclude
 | |
| GCCFLAGS = $cflags -I./\$(srcdir)/include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS
 | |
| KEYBIND_SRC = $keymap_file.c
 | |
| KEYBIND_OBJ = $keymap_file.o
 | |
| EXT=$extension
 | |
| MATHLIB=$mathlib
 | |
| Z_CFLAGS=$z_cflags
 | |
| ZLIB=$zlib
 | |
| EXT_TARGETS=\$(BOOKMARKER) \$(HELPER) $inflate $imgtarget
 | |
| GC_CFLAGS=$gc_cflags
 | |
| GCLIB=$gclib $pthreadlib
 | |
| GCTARGET=$gctarget
 | |
| RANLIB=$ranlib_cmd
 | |
| MKDIR=$MKDIR
 | |
| PERL=$perl
 | |
| VERSION=$w3mversion
 | |
| MODEL=$sysname.$platform-$modelname-$lang
 | |
| #else
 | |
| $special_sys
 | |
| 
 | |
| #define DISPLAY_CODE '$display_code'
 | |
| #define SYSTEM_CODE '$system_code'
 | |
| 
 | |
| #define JA 0
 | |
| #define EN 1
 | |
| $def_lang
 | |
| $def_kanji_symbols
 | |
| $def_use_color
 | |
| $def_use_ansi_color
 | |
| $def_use_migemo
 | |
| $def_emacs_like_lineedit
 | |
| $def_vi_prec_num
 | |
| $def_use_mark
 | |
| $def_label_topline
 | |
| $def_nextpage_topline
 | |
| $def_use_mouse
 | |
| $def_use_gpm
 | |
| $def_use_sysmouse
 | |
| $def_use_menu
 | |
| $def_use_cookie
 | |
| $def_use_digest_auth
 | |
| $def_use_ssl
 | |
| $def_use_ssl_verify
 | |
| $def_ftppass_hostnamegen
 | |
| $def_use_external_uri_loader
 | |
| $def_use_w3mmailer
 | |
| $def_use_nntp
 | |
| $def_use_gopher
 | |
| $def_use_alarm
 | |
| $def_use_image
 | |
| $def_use_help_cgi
 | |
| 
 | |
| #define DEF_EDITOR "$editor"
 | |
| #define DEF_MAILER "$mailer"
 | |
| #define DEF_EXT_BROWSER "$brz"
 | |
| 
 | |
| /* fallback viewer. mailcap override these configuration */
 | |
| #define DEF_IMAGE_VIEWER	"$def_image_viewer"
 | |
| #define DEF_AUDIO_PLAYER	"$def_audio_player"
 | |
| 
 | |
| /* for USE_MIGEMO */
 | |
| #define DEF_MIGEMO_COMMAND	"$def_migemo_command"
 | |
| 
 | |
| #define LIB_DIR      "$libdir"
 | |
| #define HELP_DIR     "$helpdir"
 | |
| #define ETC_DIR	     "$sysconfdir"
 | |
| #define HELP_FILE    "w3mhelp.html"
 | |
| #define HELP_CGI     "w3mhelp"
 | |
| #define W3MCONFIG    "w3mconfig"
 | |
| #define IMGSIZE      "w3mimgsize"
 | |
| #define IMGDISPLAY   "w3mimgdisplay"
 | |
| 
 | |
| #define RC_DIR       "~/.w3m"
 | |
| #define BOOKMARK     "bookmark.html"
 | |
| #define CONFIG_FILE  "config"
 | |
| #define KEYMAP_FILE  "keymap"
 | |
| #define MENU_FILE    "menu"
 | |
| #define COOKIE_FILE  "cookie"
 | |
| #define HISTORY_FILE "history"
 | |
| 
 | |
| #define USER_MAILCAP RC_DIR "/mailcap"
 | |
| #define SYS_MAILCAP  "/etc/mailcap"
 | |
| #define USER_MIMETYPES "~/.mime.types"
 | |
| #define SYS_MIMETYPES "$MIME_TYPES"
 | |
| #define USER_URIMETHODMAP RC_DIR "/urimethodmap"
 | |
| #define SYS_URIMETHODMAP  ETC_DIR "/urimethodmap"
 | |
| 
 | |
| #define DEF_SAVE_FILE "index.html"
 | |
| 
 | |
| $def_use_binstream
 | |
| $def_term_if
 | |
| $def_dir_if
 | |
| $def_have_strcasecmp
 | |
| $def_have_strcasestr
 | |
| $def_have_strchr
 | |
| $def_have_strerror
 | |
| $def_have_syserrlist
 | |
| $def_have_bcopy
 | |
| $def_have_waitpid
 | |
| $def_have_wait3
 | |
| $def_have_strftime
 | |
| $def_have_getcwd
 | |
| $def_have_getwd
 | |
| $def_have_readlink
 | |
| $def_have_setenv
 | |
| $def_have_putenv
 | |
| $def_have_srand48
 | |
| $def_have_srandom
 | |
| $def_have_getpassphrase
 | |
| $def_have_chdir
 | |
| $dcl_fclose
 | |
| $dcl_pclose
 | |
| $def_setjmp
 | |
| $def_longjmp
 | |
| $def_jmpbuf
 | |
| $def_have_float_h
 | |
| $def_have_sys_select_h
 | |
| 
 | |
| $def_sighandler
 | |
| $def_sig_arg
 | |
| $def_sig_arglist
 | |
| $def_sig_return
 | |
| $def_have_setpgrp
 | |
| $def_setpgrp
 | |
| /*
 | |
|    If you want to use IPv6, define this symbol.
 | |
|  */
 | |
| $def_ipv6
 | |
| $def_ipv6_ss_family
 | |
| 
 | |
| /** dont edit below **/
 | |
| #ifndef HAVE_SRAND48
 | |
| #ifdef HAVE_SRANDOM
 | |
| #define srand48 srandom
 | |
| #define lrand48 random
 | |
| #else /* HAVE_SRANDOM */
 | |
| #define USE_INCLUDED_SRAND48
 | |
| #endif /* HAVE_SRANDOM */
 | |
| #endif
 | |
| 
 | |
| #if defined( __CYGWIN32__ ) && !defined( __CYGWIN__ )
 | |
| #define __CYGWIN__
 | |
| #endif
 | |
| 
 | |
| #if defined( __CYGWIN__ ) || defined( __EMX__ )
 | |
| #define SUPPORT_DOS_DRIVE_PREFIX 1
 | |
| #endif
 | |
| 
 | |
| #if defined( __CYGWIN__ )
 | |
| #define SUPPORT_NETBIOS_SHARE 1
 | |
| #endif
 | |
| 
 | |
| #if defined(__DJGPP__)
 | |
| #define DEFAULT_TERM	"dosansi"
 | |
| #else
 | |
| #define DEFAULT_TERM	0	/* XXX */
 | |
| #endif
 | |
| 
 | |
| #if defined(__EMX__) /* use \$extension? */
 | |
| #define GUNZIP_CMDNAME  "gzip"
 | |
| #define BUNZIP2_CMDNAME "bzip2"
 | |
| #define INFLATE_CMDNAME  "inflate.exe"
 | |
| #define W3MBOOKMARK_CMDNAME	"w3mbookmark.exe"
 | |
| #define W3MHELPERPANEL_CMDNAME	"w3mhelperpanel.exe"
 | |
| #define DEV_NULL_PATH	"nul"
 | |
| #define DEV_TTY_PATH	"con"
 | |
| #define CGI_EXTENSION	".cmd"
 | |
| #define USE_PATH_ENVVAR
 | |
| #else
 | |
| #define GUNZIP_CMDNAME  "gunzip"
 | |
| #define BUNZIP2_CMDNAME "bunzip2"
 | |
| #define INFLATE_CMDNAME	"inflate"
 | |
| #define W3MBOOKMARK_CMDNAME	"w3mbookmark"
 | |
| #define W3MHELPERPANEL_CMDNAME	"w3mhelperpanel"
 | |
| #define DEV_NULL_PATH	"/dev/null"
 | |
| #define DEV_TTY_PATH	"/dev/tty"
 | |
| #define CGI_EXTENSION	".cgi"
 | |
| #endif
 | |
| 
 | |
| #define PATH_SEPARATOR	':'
 | |
| #define GUNZIP_NAME  "gunzip"
 | |
| #define BUNZIP2_NAME "bunzip2"
 | |
| #define INFLATE_NAME "inflate"
 | |
| 
 | |
| #endif /* makefile_parameter */
 | |
| #endif /* _CONFIGURED_ */
 | |
| 
 | |
| END_OF_CONFIG_H
 | |
| 
 | |
| echo ''
 | |
| echo 'config.h is created. See config.h for further configuration.'
 | |
| echo ''
 | |
| 
 | |
| echo 'Configuration done. Just type "make".'
 |