#!/bin/sh # Configure script for GRX # # NOTE: This script is completely OPTIONAL. If you don't know what # to do with it, just ignore it and follow the normal install # instructions. # # Copyright (C) 2001-2002,2004 Frank Heckenbach # Peter Gerwinski # # Parts copied from some version of GCC's configure script, # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation, version 2. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. silent=n default_prefix=/usr/local prefix=$default_prefix exec_prefix='${prefix}' bindir='${exec_prefix}/bin' datadir='${prefix}/share' libdir='${exec_prefix}/lib' includedir='${prefix}/include' infodir='${prefix}/info' # "Detect" default target (wrong for cross-compiling) if [ x"$COMSPEC" != x ]; then default_target=DJGPP else default_target=x11 fi target=$default_target default_fontpath='${datadir}/grx/fonts' fontpath="" default_x11base=/usr/X11R6 x11base="$default_x11base" default_x11lib='$(X11BASE)/lib' x11lib="$default_x11lib" default_unitspath='${exec_prefix}/units' unitspath="$default_unitspath" HAVE_LIBJPEG=n HAVE_LIBPNG=n NEED_ZLIB=n HAVE_LIBTIFF=n # if you are able to run this script you have (ba)sh # we suppose you have other needed unix tools as well HAVE_UNIX_TOOLS=y INCLUDE_BMP_CODE=y INCLUDE_PRINTING_CODE=y INCLUDE_GPC_SUPPORT=n INCLUDE_SHARED_SUPPORT=y INCLUDE_BGI_SUPPORT=y USE_DIRECT_MOUSE_DRIVER=n USE_SVGALIB_DRIVER=y USE_FRAMEBUFFER_DRIVER=y SET_SUIDROOT=y USE_INOUTP_FRAMEDRIVERS=y BUILD_X86_64=n lsocket="" subst_EP="" ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'`;; *) ac_optarg=;; esac case "$ac_option" in -s | --silent | --silen | --sile | --sil | --si | --s) silent=y;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg";; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg";; # Don't complain about unknown enable, disable, with and without options -enable-* | --enable-* | -en-* | --en-*) case "`echo "$ac_option" | sed -e 's/^-*enable-//;s/^-*en-//'`" in x86_64) BUILD_X86_64=y;; jpeg) HAVE_LIBJPEG=y;; png) HAVE_LIBPNG=y;; z | zlib) NEED_ZLIB=y;; png-z) HAVE_LIBPNG=y; NEED_ZLIB=y;; tiff) HAVE_LIBTIFF=y;; bmp) INCLUDE_BMP_CODE=y;; print) INCLUDE_PRINTING_CODE=y;; pascal | gpc) INCLUDE_GPC_SUPPORT=y;; shared) INCLUDE_SHARED_SUPPORT=y;; bgi) INCLUDE_BGI_SUPPORT=y;; direct-mouse) USE_DIRECT_MOUSE_DRIVER=y;; svgalib) USE_SVGALIB_DRIVER=y;; framebuffer) USE_FRAMEBUFFER_DRIVER=y;; suidroot) SET_SUIDROOT=y;; io-framedrivers) USE_INOUTP_FRAMEDRIVERS=y;; lsocket) lsocket=" -lsocket";; esac;; -disable-* | --disable-* | -di-* | --di-*) case "`echo "$ac_option" | sed -e 's/^-*disable-//;s/^-*di-//'`" in x86_64) BUILD_X86_64=n;; jpeg) HAVE_LIBJPEG=n;; png) HAVE_LIBPNG=n;; z | zlib) NEED_ZLIB=n;; png-z) HAVE_LIBPNG=n; NEED_ZLIB=n;; tiff) HAVE_LIBTIFF=n;; bmp) INCLUDE_BMP_CODE=n;; print) INCLUDE_PRINTING_CODE=n;; pascal | gpc) INCLUDE_GPC_SUPPORT=n;; shared) INCLUDE_SHARED_SUPPORT=n;; bgi) INCLUDE_BGI_SUPPORT=n;; direct-mouse) USE_DIRECT_MOUSE_DRIVER=n;; svgalib) USE_SVGALIB_DRIVER=n;; framebuffer) USE_FRAMEBUFFER_DRIVER=n;; suidroot) SET_SUIDROOT=n;; io-framedrivers) USE_INOUTP_FRAMEDRIVERS=n;; lsocket) lsocket="";; esac;; -with-* | --with-*) case "`echo "$ac_option" | sed -e 's/^-*with-//'`" in fontpath=*) fontpath="$ac_optarg";; fontpath) fontpath="$default_fontpath";; x11-base=*) x11base="$ac_optarg";; x11-base) echo "$0: \`--with-x11-base' requires an argument" >&2; exit 1;; x11-lib=*) x11lib="$ac_optarg";; x11-base) echo "$0: \`--with-x11-lib' requires an argument" >&2; exit 1;; unitspath=*) unitspath="$ac_optarg";; unitspath) echo "$0: \`--with-unitspath' requires an argument" >&2; exit 1;; esac;; -without-* | --without-*) case "`echo "$ac_option" | sed -e 's/^-*without-//'`" in fontpath) fontpath="";; esac;; -h | -help | --help | --hel | --he) cat << EOF Usage: $0 [options] Options: [defaults in brackets after descriptions] --help print this message and exit --version print version information and exit --silent silent operation --prefix=PREFIX install architecture-independent files in PREFIX [$default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] --bindir=DIR user executables [EPREFIX/bin] --datadir=DIR read-only architecture-independent data [PREFIX/share] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --infodir=DIR info documentation [PREFIX/info] --target=TARGET configure for TARGET [$default_target] possible values: djgpp,x11,console,w32,sdlx,sdlw or GCC-style ("i386-mingw32") for cross-compiling --enable-x86_64 build for x86_64 architecture [no] --enable-jpeg include JPEG support [no] --enable-png include PNG support [no] --enable-zlib use zlib [no] --enable-png-z include PNG support and use zlib [no] --enable-tiff include TIFF support [no] --enable-bmp include BMP support [yes] --enable-print include printing code [yes] --enable-pascal or include Pascal support [no] --enable-gpc --enable-shared build shared libraries [yes] --enable-bgi include BGI support [yes] --enable-lsocket link lsocket [no] --disable-FOO opposite of --enable-FOO --with-fontpath=PATH set GRX font path to PATH --with-fontpath set GRX font path to $default_fontpath --without-fontpath use no GRX font path [default] --with-x11-base=DIR use DIR as X11 base directory [$default_x11base] --with-x11-lib=DIR use DIR as X11 lib directory [$default_x11lib] --with-unitspath=PATH set GPC units path to PATH [$default_unitspath] The following options apply to the Linux console (not X11) target only: --enable-direct-mouse use PS/2 instead of svgalib mouse driver [no] --enable-svgalib use svgalib driver [yes] --enable-framebuffer use framebuffer driver [yes] --enable-suidroot create suid root executables (required with svgalib 1.4.x) [yes] --enable-io-framedrivers use frame drivers that require suid root executables under newer versions of svgalib [yes] Some options can be abbreviated, e.g. \`--p' for \`--prefix', \`--en-FOO' for \`--enable-FOO' and \`--di-FOO' for \`--disable-FOO'. NOTE: This script is completely OPTIONAL. If you don't know what to do with it, just ignore it and follow the normal install instructions. EOF exit 0;; -v | -version | --version | --versio | --versi | --vers) echo "Optional GRX configure script" exit 0;; *) { echo "$0: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; esac done case "`echo "$target" | tr A-Z a-z`" in *djgpp*) cfgsection=GRXVDJ2; target_makefile=makefile.dj2;; x | x11) cfgsection=GRXVX11; target_makefile=makefile.x11;; console) cfgsection=GRXVLNX; target_makefile=makefile.lnx;; *w32 | *mingw*) cfgsection=GRXVW32; target_makefile=makefile.w32;; sdlx) cfgsection=GRXVX11; target_makefile=makefile.sdl; subst_EP="/^EP=/s/=.*/=x/";; sdlw) cfgsection=GRXVW32; target_makefile=makefile.sdl; subst_EP="/^EP=/s/=.*/=/";; *) echo "$0: invalid target" >&2; exit 1;; esac case "$target" in *[A-Za-z0-9]-[A-Za-z0-9]*|mingw32) CROSS_PLATFORM="`echo "$target" | tr A-Z a-z`-" exec_prefix="$prefix/$target";; *) CROSS_PLATFORM="" exec_prefix='${prefix}';; esac if [ $USE_SVGALIB_DRIVER != y ] && [ $USE_FRAMEBUFFER_DRIVER != y ]; then echo "$0: either \`--enable-svgalib' or \`--enable-framebuffer' must be set" >&2 exit 1 fi if [ $USE_SVGALIB_DRIVER != y ] && [ $USE_DIRECT_MOUSE_DRIVER != y ]; then echo "$0: if \`--disable-svgalib' is unset then \`--enable-direct-mouse' must be set" >&2 exit 1 fi if [ -r Makefile ]; then if cmp Makefile makefile.lnx > /dev/null 2>&1 || cmp Makefile makefile.dj2 > /dev/null 2>&1 || cmp Makefile makefile.w32 > /dev/null 2>&1 || cmp Makefile makefile.x11 > /dev/null 2>&1 || cmp Makefile makefile.sdl > /dev/null 2>&1; then rm -f Makefile else echo "$0: Makefile exists already. Not overwriting!" >&2 exit 1 fi fi if [ ! -r "$target_makefile" ]; then echo "$0: $target_makefile not found (please run in source directory)" >&2 exit 1 fi # On DJGPP, `ln -s' creates `makefile.exe', so copy in this case { ln -s "$target_makefile" Makefile && [ -r Makefile ]; } || { rm -f makefile.exe; cp "$target_makefile" Makefile; } [ $silent = y ] || echo "Created Makefile" cfgfile="makedefs.grx" cfgorigfile="makedefs.orig" if [ ! -r "$cfgfile" ]; then echo "$0: $cfgfile not found" >&2 exit 1 fi if [ ! -r "$cfgorigfile" ]; then cp "$cfgfile" "$cfgorigfile" fi if [ x"$fontpath" = x ]; then subst_fontpath="/^#*GRX_DEFAULT_FONT_PATH=/s/^#*/#/" else subst_fontpath="/^#*GRX_DEFAULT_FONT_PATH=/{s/^#*//;s|=.*|=$fontpath|;}" fi if [ "$cfgsection" = GRXVLNX ] || [ "$cfgsection" = GRXVX11 ]; then extra_unix="/^ifdef GRXVUNX\$/,/^endif\$/{/^prefix=/s|=.*|=$prefix|;$subst_fontpath;}" else extra_unix= fi if sed -e "/^BUILD_X86_64=/s/=.*/=$BUILD_X86_64/; $subst_EP; /^HAVE_LIBTIFF=/s/=.*/=$HAVE_LIBTIFF/; /^HAVE_LIBJPEG=/s/=.*/=$HAVE_LIBJPEG/; /^HAVE_LIBPNG=/s/=.*/=$HAVE_LIBPNG/; /^HAVE_UNIX_TOOLS=/s/=.*/=$HAVE_UNIX_TOOLS/; /^NEED_ZLIB=/s/=.*/=$NEED_ZLIB/; /^INCLUDE_PRINTING_CODE=/s/=.*/=$INCLUDE_PRINTING_CODE/; /^INCLUDE_BMP_CODE=/s/=.*/=$INCLUDE_BMP_CODE/; /^INCLUDE_GPC_SUPPORT=/s/=.*/=$INCLUDE_GPC_SUPPORT/; /^INCLUDE_SHARED_SUPPORT=/s/=.*/=$INCLUDE_SHARED_SUPPORT/; /^INCLUDE_BGI_SUPPORT=/s/=.*/=$INCLUDE_BGI_SUPPORT/; /^CROSS_PLATFORM=/s/=.*/=$CROSS_PLATFORM/; /^USE_DIRECT_MOUSE_DRIVER=/s/=.*/=$USE_DIRECT_MOUSE_DRIVER/; /^USE_SVGALIB_DRIVER=/s/=.*/=$USE_SVGALIB_DRIVER/; /^USE_FRAMEBUFFER_DRIVER=/s/=.*/=$USE_FRAMEBUFFER_DRIVER/; /^SET_SUIDROOT=/s/=.*/=$SET_SUIDROOT/; /^USE_INOUTP_FRAMEDRIVERS=/s/=.*/=$USE_INOUTP_FRAMEDRIVERS/; /^exec_prefix=/s|=.*|=$exec_prefix|; /^bindir=/s|=.*|=$bindir|; /^libdir=/s|=.*|=$libdir|; /^datadir=/s|=.*|=$datadir|; /^includedir=/s|=.*|=$includedir|; /^unitsdir=/s|=.*|=$unitspath|; /^infodir=/s|=.*|=$infodir|; $extra_unix; /^ifdef $cfgsection\$/,/^endif\$/{ /^prefix=/s|=.*|=$prefix|; $subst_fontpath; /^X11BASE=/s|=.*|=$x11base|; /^X11LIB=/s|=.*|=$x11lib|; /^X11LIBS=/s/\$/$lsocket/; }" "$cfgorigfile" > "$cfgfile"; then [ $silent = y ] || echo "Modified $cfgfile" else cp -f "$cfgorigfile" "$cfgfile" exit 1 fi if [ x"$INCLUDE_GPC_SUPPORT" = x"y" ]; then for file in pascal/grx.pas pascal/bgi/graph.pas; do if [ ! -r "$file" ]; then echo "$0: $file not found" >&2 exit 1 fi if sed -e "s/{.*\\\$define LINUX_CONSOLE}/{`if [ x"$target" != x"console" ]; then echo .; fi`\$define LINUX_CONSOLE}/; s/{.*\\\$define SVGALIB}/{`if [ x"$target" != x"console" -o $USE_SVGALIB_DRIVER != y ]; then echo .; fi`\$define SVGALIB}/; s/{.*\\\$define __SDL__}/{`if [ x"$target" != x"sdlx" -a x"$target" != x"sdlw" ]; then echo .; fi`\$define __SDL__}/; s/{.*\\\$L socket}/{`if [ x"$lsocket" = x ]; then echo .; fi`\$L socket}/ " "$file" > "$file.new" && sed -e "s/{.*\\\$L tiff}/{`if [ $HAVE_LIBTIFF != y ]; then echo .; fi`\$L tiff}/; s/{.*\\\$L jpeg}/{`if [ $HAVE_LIBJPEG != y ]; then echo .; fi`\$L jpeg}/; s/{.*\\\$L png}/{`if [ $HAVE_LIBPNG != y ]; then echo .; fi`\$L png}/; s/{.*\\\$L z}/{`if [ $NEED_ZLIB != y ]; then echo .; fi`\$L z}/; " "$file.new" > "$file" && rm -f "$file.new" ; then [ $silent = y ] || echo "Modified $file" else rm -f "$file.new" exit 1 fi done fi