[BACK]Return to Configure CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2

Annotation of OpenXM_contrib/pari-2.2/Configure, Revision 1.1

1.1     ! noro        1: #! /bin/sh
        !             2: #
        !             3: # This file is part of the PARI/GP package.
        !             4: #
        !             5: # PARI/GP is free software; you can redistribute it and/or modify it under the
        !             6: # terms of the GNU General Public License as published by the Free Software
        !             7: # Foundation. It is distributed in the hope that it will be useful, but WITHOUT
        !             8: # ANY WARRANTY WHATSOEVER.
        !             9: #
        !            10: # Check the License for details. You should have received a copy of it, along
        !            11: # with the package; see the file 'COPYING'. If not, write to the Free Software
        !            12: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
        !            13:
        !            14: #   Configuration file for GP/PARI. (K.B & Ptitboul).
        !            15: #
        !            16: #   Run Configure -help for Usage.
        !            17: #
        !            18: # The Configure included in Perl distribution (written by Larry Wall), as
        !            19: # well as GNU autoconfig package were of much help in writing these config
        !            20: # files.
        !            21:
        !            22: TOP=`pwd`
        !            23: dflt_conf_file=dft.Config.in
        !            24:
        !            25: # Directories
        !            26: config_dir=config
        !            27: data_dir=data
        !            28: doc_dir=doc
        !            29: emacs_dir=emacs
        !            30: examples_dir=examples
        !            31: misc_dir=misc
        !            32: src_dir=src
        !            33:
        !            34: extract_dir_list="$doc_dir $emacs_dir $misc_dir"
        !            35:
        !            36: # Version number and patch level.
        !            37: . $config_dir/version
        !            38: version=$VersionMajor.$VersionMinor
        !            39: if test `expr $VersionMinor % 2` = 1; then
        !            40:   echo "Configuring pari-$version.$patch (STABLE)"
        !            41:   libpari_base=pari
        !            42: else
        !            43:   echo "Configuring pari-$version.$patch (DEVELOPMENT VERSION)"
        !            44:   libpari_base=pari-$version
        !            45: fi
        !            46:
        !            47: cd $config_dir
        !            48:
        !            49: ####################### CONFIGURE - OPTIONS #################################
        !            50: #
        !            51: # Processing Options
        !            52: #
        !            53: fastread=yes
        !            54: config_file=
        !            55: optimization=full
        !            56: prefix=/usr/local
        !            57: share_prefix=
        !            58: target_host=
        !            59: which_graphic_lib=none
        !            60: test -n "$GP_INSTALL_PREFIX" && prefix=$GP_INSTALL_PREFIX
        !            61: while test $# -gt 0; do
        !            62:   case "$1" in
        !            63:   -l|-load) shift; initfile=$1;
        !            64:      cd $TOP
        !            65:      PATH=.:$PATH; export PATH
        !            66:      if test -z "$1";then
        !            67:        tmp_host=`$config_dir/arch-osname`
        !            68:        arch=`echo "$tmp_host" | sed -e 's/\(.*\)-.*/\1/'`
        !            69:        osname=`echo "$tmp_host" | sed -e 's/.*-\(.*\)/\1/'`
        !            70:        objdir=O$osname-$arch;
        !            71:        initfile=$objdir/$dflt_conf_file;
        !            72:      fi
        !            73:      if test -r "$initfile"; then
        !            74:        . $initfile
        !            75:        if test ! -d $objdir; then mkdir $objdir; fi
        !            76:        . $config_dir/extract_files
        !            77:        exit 0
        !            78:      else
        !            79:        echo "Cannot read config file \"$initfile\"." >&2
        !            80:        exit 1
        !            81:      fi;;
        !            82:   -p|-prefix)   shift; prefix=$1;;
        !            83:   --prefix=*|--prefi=*|--pref=*|--pre=*|--pr=*|--p=*)
        !            84:                prefix=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            85:   --share-prefix=*)
        !            86:                share_prefix=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            87:   --bindir=*) dfltbindir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            88:   --libdir=*) dfltlibdir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            89:   --mandir=*) dfltmandir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            90:   --miscdir=*) dfltmiscdir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            91:   --datadir=*) dfltdatadir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            92:   --includedir=*) dfltincludedir=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            93:   --host=*)
        !            94:                target_host=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !            95:   --disable-kernel) kernel=no;;
        !            96:   -a|-ask|--ask)     fastread=no;;
        !            97:   -g)          optimization=debugging;;
        !            98:   -pg)         optimization=profiling;;
        !            99:   -rdll)       DYNRELOC=yes;;
        !           100:   -h|-help|--help|-\?)error=true;;
        !           101:   -v|-verbhelp|--verbhelp)error=verb;;
        !           102:   -s|--static) static=y;;
        !           103:   -graphic|--graphic) shift; which_graphic_lib=$1; graph_cmd=yes ;;
        !           104:   --graphic=*|--graphi=*|--graph=*|--grap=*|--gra=*|--gr=*|--g=*)
        !           105:               graph_cmd=yes
        !           106:               which_graphic_lib=`echo "$1" | sed -e 's/[-a-z]*=//'`;;
        !           107:   *) echo "*** Unrecognized option $1." >&2; error=true;;
        !           108:   esac
        !           109:   shift
        !           110: done
        !           111:
        !           112: case "$error" in
        !           113: true) cat >&2 <<EOT
        !           114: Usage: Configure [-ask|-help|-g|-pg] [ -load <filename> ] [ --prefix=<dir> ]
        !           115:
        !           116: Options: some names can be abbreviated to one character (e.g -h = -help)
        !           117: -a, --ask        interactive configuration
        !           118: -h, --help       this message
        !           119: -l, --load       skip Configure and specify a default config file
        !           120: -s, --static     build static GP binary only
        !           121: -v, --verbhelp   a longer help message
        !           122: Build Options:
        !           123:   --host=<arch-osname>  target achitecture
        !           124:   --graphic=<gr>        graphic library used (default X11) (none X11 gnuplot)
        !           125: Additional developer options:
        !           126:   -g              creates debugging version (in Oxxx.dbg)
        !           127:   -pg             creates profiling version (in Oxxx.prf)
        !           128:   -rdll           creates relocatable DLL (Cygwin32 only)
        !           129:
        !           130: Installation directories:
        !           131:   --prefix=<dir>        install files in <dir> (default $prefix)
        !           132:   --share-prefix=<dir>  as 'prefix', for architecture independant files
        !           133:   --bindir=<dir>        for binaries
        !           134:   --libdir=<dir>        for libraries
        !           135:   --mandir=<dir>        for manual pages
        !           136:   --miscdir=<dir>       for documentation, examples and emacs macros
        !           137:   --datadir=<dir>       for precomputed data (Galois resolvents for polgalois)
        !           138:   --includedir=<dir>    for C header files
        !           139: EOT
        !           140: exit 1
        !           141: ;;
        !           142: verb) cat >&2 <<EOT
        !           143: Architecture, operating system and asm kernel.
        !           144:   Configure tries to detect what is the architecture of the machine (CPU type)
        !           145:   and what operating system it is running. Then, it decides whether an asm
        !           146:   kernel exists and should be used. You can override this with Configure -ask.
        !           147: Which compiler will be used ?
        !           148:   Depending on the machine (architecture and operating system) and on what is
        !           149:   found in the path, a compiler is automatically chosen. If you set the
        !           150:   environment variable CC before typing Configure, it will be used instead.
        !           151:   Typeset the installation help ('tex INSTALL.tex') for more details.
        !           152: EOT
        !           153: exit 1
        !           154: ;;
        !           155: esac
        !           156:
        !           157: test "$fastread" = yes || cat <<EOT
        !           158: ==========================================================================
        !           159:              Beginning configuration questions for GP/PARI.
        !           160:
        !           161: You will be asked some questions about your system. Most of the time, a list
        !           162: of acceptable answers will be supplied as well as a default between brackets.
        !           163: Type a carriage return ('Enter') to accept these defaults.
        !           164:
        !           165: Though the present script strives to prevent any fatal mistake on your part,
        !           166: there is currently no easy way out if you make one. Your best bet is to press
        !           167: Ctrl-C, then start again.  Another possibility is to wait till the questions
        !           168: end, edit the file "Oxxx/$dflt_conf_file", then run
        !           169:
        !           170:       Configure -load Oxxx/$dflt_conf_file
        !           171:
        !           172: (which can be abbreviated to simply "Configure -l", provided your architecture
        !           173: is correctly detected)
        !           174: ==========================================================================
        !           175: EOT
        !           176:
        !           177: ####################### CONFIGURE - SHELL ###################################
        !           178: if test -z "$OS2_SHELL"; then dir_sep=':' ; else dir_sep=';' ; fi
        !           179:
        !           180: #
        !           181: # Proper PATH setting
        !           182: #
        !           183: pth="\
        !           184:   /bin\
        !           185:   /usr/bin\
        !           186:   /usr/locateal/bin\
        !           187:   /usr/ucb\
        !           188:   /usr/locateal\
        !           189:   /usr/lbin\
        !           190:   /usr/5bin\
        !           191:   /etc\
        !           192:   /usr/etc\
        !           193:   /usr/gnu/bin\
        !           194:   /usr/new\
        !           195:   /usr/new/bin\
        !           196:   /usr/nbin\
        !           197:   /sys5.3/bin\
        !           198:   /sys5.3/usr/bin\
        !           199:   /bsd4.3/bin\
        !           200:   /bsd4.3/usr/ucb\
        !           201:   /bsd4.3/usr/bin\
        !           202:   /usr/bsd\
        !           203:   /bsd43/bin\
        !           204:   /opt/ansic/bin\
        !           205:   /usr/ccs/bin\
        !           206:   /usr/lib\
        !           207:   /usr/ucblib\
        !           208:   /lib\
        !           209:   /usr/ccs/lib\
        !           210:   /sbin\
        !           211:   /usr/sbin\
        !           212:   /usr/libexec\
        !           213:   /usr/openwin/bin\
        !           214:   /usr/local/bin\
        !           215: "
        !           216: # /usr/openwin/bin added for xmkmf
        !           217:
        !           218: for p in $pth
        !           219: do
        !           220:   case "$dir_sep$PATH$dir_sep" in
        !           221:     *$dir_sep$p$dir_sep*) ;;
        !           222:     *) test -d $p && PATH=$PATH$dir_sep$p ;;
        !           223:   esac
        !           224: done
        !           225: PATH=.$dir_sep$PATH; export PATH
        !           226:
        !           227: echo "Checking echo to see how to suppress newlines..."
        !           228:
        !           229: if (echo "hi\c"; echo " ") | grep c >/dev/null 2>&1 ; then
        !           230:   echo "...using -n."; n=-n; c=
        !           231: else
        !           232:   cat <<EOM
        !           233: ...using \c
        !           234: EOM
        !           235:   n=; c='\c'
        !           236: fi
        !           237: if test "$fastread" != yes; then
        !           238:   echo $n ..."The star should be here-->$c"; echo '*'
        !           239: fi
        !           240:
        !           241: #
        !           242: #  We might need the following :
        !           243: #
        !           244: echo Looking for some tools first ...
        !           245: list='ld zcat gzip ranlib perl emacs'
        !           246: pathspace=`echo $PATH | sed -e "s/$dir_sep/ /g" | sed -e 's,\\\\,/,g'`
        !           247:
        !           248: for file in $list; do
        !           249:   x=`./locate $file '' $pathspace`
        !           250:   eval $file=$x
        !           251:   case $x in
        !           252: # support also DOS filesystems (hard drive prepended)
        !           253:    ?:/*|/*) echo ..."$file is $x";;
        !           254:       *) echo ..."I could not find $file." >&2;;
        !           255:   esac
        !           256: done
        !           257: if test -z "$zcat" -a -n "$gzip"; then zcat="$gzip -dc"; fi
        !           258:
        !           259: ####################### CONFIGURE - ARCHITECTURE ############################
        !           260: #
        !           261: # Testing Architectures. Try uname to provide a default, then ask user.
        !           262: #
        !           263: if test -z "$target_host"; then
        !           264:        target_host=`./arch-osname`
        !           265: fi
        !           266: arch=`echo "$target_host" | sed -e 's/\(.*\)-.*/\1/'`
        !           267: osname=`echo "$target_host" | sed -e 's/.*-\(.*\)/\1/'`
        !           268:
        !           269: if test "$fastread" != yes; then
        !           270:   cat << EOM
        !           271: ==========================================================================
        !           272: Currently supported architectures:
        !           273: EOM
        !           274:   rep='none sparcv7 sparcv8_super sparcv8_micro sparcv9
        !           275:        m68k ix86 i386 i486 i586 i686 hppa alpha mips fx2800'
        !           276:   . ./display
        !           277:   echo $n ..."Which of these apply, if any ? $c"
        !           278:   dflt=$arch; . ./myread; arch=$ans
        !           279: fi
        !           280:
        !           281: #
        !           282: #   Test OS, using the info uname provided.
        !           283: #
        !           284: if test "$fastread" != yes; then
        !           285:   cat << EOM
        !           286: ==========================================================================
        !           287: I know of the following Operating Systems
        !           288: EOM
        !           289:   rep='os2 freebsd cygwin linux hpux aix osf1 solaris sunos nextstep concentrix irix';
        !           290:   . ./display
        !           291:   echo $n ..."Any of these apply ? $c"
        !           292:   dflt=$osname; . ./myread
        !           293:   osname=$ans
        !           294: fi
        !           295:
        !           296: #
        !           297: #   A pretty name for the architecture
        !           298: #   The asm file used (if any)
        !           299: #
        !           300: case "$arch" in
        !           301:   sparc)         asmarch=sparcv8_micro; pretty=Sparc ;;
        !           302:   sparcv7)       asmarch=$arch;         pretty=SparcV7 ;;
        !           303:   sparcv8_micro) asmarch=$arch;         pretty=MicroSparc ;;
        !           304:   sparcv8_super) asmarch=$arch;         pretty=SuperSparc ;;
        !           305:   sparcv9)       asmarch=sparcv8_micro; pretty=UltraSparc ;;
        !           306:   m68k)          asmarch=$arch;         pretty="MC680x0, x>=2" ;;
        !           307:   i?86)          asmarch=ix86 ;         pretty=$arch ;;
        !           308:   hppa)          asmarch=none ;         pretty=HP
        !           309:         case "$osname-`uname -r`" in
        !           310:         hpux-?.09.*)  asmarch=none  ;;
        !           311:         hpux-?.10.*)  asmarch=$arch ;;
        !           312:         esac ;;
        !           313:   alpha)         asmarch=$arch;         pretty=Alpha ;;
        !           314:   mips)          asmarch=none;          pretty=Mips ;;
        !           315:   fx2800)        asmarch=none;          pretty="Alliant FX/2800" ;;
        !           316:   none)          asmarch=none;          pretty="unknown" ;;
        !           317:   *)             asmarch=none;          pretty=$arch
        !           318:                  echo "        Warning ! architecture $arch not tested";;
        !           319: esac
        !           320:
        !           321: #
        !           322: #   Modifications for pretty name and asm file
        !           323: #
        !           324: case "$osname" in
        !           325:   cygwin*|linux|freebsd|os2) pretty="$pretty running $osname";;
        !           326:   nextstep) pretty="$pretty running $osname";
        !           327:             if test "$arch" = m68k; then asmarch=none; fi ;;
        !           328: esac
        !           329:
        !           330: if test "$kernel" = no; then
        !           331:   asmarch=none;
        !           332:   echo "assembler micro kernel disabled"
        !           333: else
        !           334:   if test "$fastread" != yes; then
        !           335:   cat << EOM
        !           336: ==========================================================================
        !           337: An optimized Pari kernel is available for these architectures
        !           338: ("none" means that we will use the portable C version of GP/PARI)
        !           339: EOM
        !           340:   rep='none sparcv7 sparcv8_super sparcv8_micro m68k ix86 alpha hppa'
        !           341:   . ./display
        !           342:   echo $n ..."Which of these apply, if any ? $c"
        !           343:   dflt=$asmarch; . ./myread; asmarch=$ans
        !           344:   cat << EOM
        !           345: ==========================================================================
        !           346: EOM
        !           347:   fi
        !           348: fi
        !           349: case "$asmarch" in
        !           350:   none)          prettyk="C portable";;
        !           351:   sparcv7)       prettyk=SparcV7;;
        !           352:   sparcv8_super) prettyk=SuperSparc;;
        !           353:   sparcv8_micro) prettyk=MicroSparc;;
        !           354:   m68k)          prettyk="MC680x0, x>=2";;
        !           355:   ix86)          prettyk=ix86;;
        !           356:   hppa)          prettyk=HPPA;;
        !           357:   alpha)         prettyk=Alpha;;
        !           358:   ppc)           prettyk=PPC;;
        !           359:   *)             prettyk="$asmarch";;
        !           360: esac
        !           361: # 'i386 (running ix86 kernel)'  looks ugly
        !           362: if test "$arch" != "$asmarch" -a \( "$arch" != "i386" -o "$asmarch" != "ix86" \)
        !           363: then
        !           364:   pretty="$pretty ($prettyk kernel)"
        !           365: fi
        !           366: echo "Building for architecture: $pretty"
        !           367:
        !           368: #
        !           369: # Which copy, SHELL ?
        !           370: #
        !           371: case "$osname-$arch" in
        !           372:   os2-*)  ln_s=cp; make_sh=sh; exe_suff=.exe; extraflag="-Zexe" ;;
        !           373:   cygwin*) ln_s="ln -s"; make_sh="/bin/sh"; exe_suff=.exe; extraflag="" ;;
        !           374:   *)       ln_s="ln -s"; make_sh="/bin/sh"; exe_suff=; extraflag="" ;;
        !           375: esac
        !           376:
        !           377: ####################### CONFIGURE - LIBRARIES ###############################
        !           378: #
        !           379: # Looking for libraries now
        !           380: #
        !           381: case "$osname" in
        !           382:   cygwin*) ver=`uname -r | cut -d. -f1`
        !           383:     cygtop=/cygdrive/c
        !           384:     if test ! -d $cygtop; then
        !           385:       cygtop=/Cygnus/cygwin/B$ver
        !           386:       if test ! -d $cygtop; then
        !           387:         cygtop=/Cygnus/cygwin-B$ver
        !           388:         if test ! -d $cygtop; then
        !           389:           cygtop=/usr/${arch}-pc-cygwin
        !           390:           if test ! -d $cygtop; then
        !           391:             echo ..."I could not find Cygwin top directory" >&2
        !           392:           fi
        !           393:         fi
        !           394:       fi
        !           395:     fi;;
        !           396: esac
        !           397: readline_enabledp="nil"
        !           398: if test "$optimization" != profiling; then
        !           399: # First, construct the PATHs
        !           400:  case "$osname" in
        !           401:    cygwin*) if test "$cygtop" = /cygdrive/c; then
        !           402: # cygnus for version 1.*
        !           403:        libpth="
        !           404:            /usr/local/lib\
        !           405:             /lib\
        !           406:         "
        !           407:        cygtop=/
        !           408:         else
        !           409: # cygnus for version 0.*
        !           410:        libpth="
        !           411:            $cygtop/H-${arch}-cygwin32/lib\
        !           412:            $cygtop/H-${arch}-cygwin32/${arch}-cygwin32/lib\
        !           413:         "
        !           414:        fi;;
        !           415:       os2) libpth=`echo $LIBRARY_PATH | sed 's/;/ /g' | sed 's,\\\\,/,g'`;;
        !           416:        *) libpth="\
        !           417:        /usr/local/lib\
        !           418:        /lib\
        !           419:        /usr/lib\
        !           420:        /opt/lib\
        !           421:        /opt/local/lib\
        !           422:        /opt/gnu/lib\
        !           423:        /lib/pa1.1\
        !           424:        /usr/lib/large\
        !           425:        /lib/large\
        !           426:        /usr/lib/small\
        !           427:        /lib/small\
        !           428:        /usr/ccs/lib\
        !           429:        /usc/ucblib\
        !           430:        /usr/shlib\
        !           431:        .\
        !           432:      ";;
        !           433:      esac
        !           434:
        !           435:   if (xmkmf) >/dev/null 2>&1 && test -f Makefile; then
        !           436:     eval `make gp-X11 2> /dev/null | grep -v make`
        !           437:     rm -f Makefile Makefile.bak
        !           438:     x11pth="$usrlibdir $libdir";
        !           439:   fi
        !           440:
        !           441: # We want these libraries:
        !           442: #
        !           443:   echo Checking for optional libraries and headers...
        !           444: #   LIB: X11
        !           445:   pth=$x11pth
        !           446:   lib=X11; . ./locatelib
        !           447:   if test -f $Xincroot/X11/Xos.h -a -z "$graph_cmd"; then
        !           448:     which_graphic_lib=X11
        !           449:     test -n "$extralib" && echo ..."Extra Libraries are $extralib"
        !           450:     echo ..."Found X11 header files in $Xincroot/X11"
        !           451:   fi
        !           452:
        !           453:   pth=$libpth
        !           454: #   LIB: gnuplot
        !           455:   opth="$pth"
        !           456:   pth="$TOP/gnuplot-$osname-$arch $TOP/gnuplot $TOP/../gnuplot-$osname-$arch $TOP/../gnuplot $TOP/../../gnuplot-$osname-$arch $TOP/../../gnuplot $pth"
        !           457:   gpth="$pth"
        !           458:   lib=gnuplot; . ./locatelib
        !           459:   gnuplot_fullpath="$try"
        !           460:   pth="$opth"
        !           461:   gnuplot_libs=
        !           462:   case $gnuplot in
        !           463:     /*|[c-z]:/*)
        !           464:         addgnuplot=gnuplot
        !           465:        for lib in vga vesa jmgraph linuxvga gd png z
        !           466:        do
        !           467:            . ./locatelib
        !           468:            eval "elib=\$$lib"
        !           469:            case $elib in
        !           470:              /*|[c-z]:/*) gnuplot_libs="$gnuplot_libs -l$lib";;
        !           471:            esac
        !           472:        done
        !           473:        if test "$which_graphic_lib" = gnuplot; then
        !           474:            if test -z "$gnuplot_libs"; then
        !           475:                echo "...I expect that no libraries are needed for gnuplot"
        !           476:            else
        !           477:                echo "...I expect that libraries $gnuplot_libs are needed for gnuplot"
        !           478:            fi
        !           479:        fi
        !           480:        ;;
        !           481:     *)
        !           482:        if test "$which_graphic_lib" = gnuplot; then
        !           483:            echo "###"
        !           484:            echo "### Could not find gnuplot library in:"
        !           485:            echo "###   ./gnuplot-$osname-$arch ./gnuplot"
        !           486:            echo "###   ../gnuplot-$osname-$arch ../gnuplot"
        !           487:            echo "###   ../../gnuplot-$osname-$arch ../../gnuplot"
        !           488:            echo "###   $pth"
        !           489:            echo "###"
        !           490:            case "$osname" in
        !           491:                os2) tlib=gnuplot.a ;;
        !           492:                *)   tlib=libgnuplot.a ;;
        !           493:            esac
        !           494:            echo "### You may need to execute"
        !           495:            echo "###   ar cr $tlib version.o util.o term.o bitmap.o stdfn.o"
        !           496:            echo "### In the build directory of gnuplot-3.7, and move"
        !           497:            echo "### $tlib to ./gnuplot-$osname-$arch or ./gnuplot subdirs"
        !           498:            echo "### or to similarly-named directories up the directory tree."
        !           499:            echo "###"
        !           500:        fi
        !           501:        ;;
        !           502:   esac
        !           503:
        !           504: #   LIB: GNU ReadLine
        !           505:   readline_add="$GP_READLINE $TOP/readline-$osname-$arch $TOP/readline"
        !           506:   pth="$readline_add $pth"
        !           507:   lib=readline; . ./locatelib
        !           508:   rl_fullname=$try
        !           509:
        !           510:   if test -n "$readline"; then
        !           511: # Readline -- TermCap
        !           512:     lib=$rl_fullname; sym=tgetent; . ./locatesymbol
        !           513:     if test -n "$try"; then # tgetent needed
        !           514:       lib=ncurses; . ./locatelib
        !           515:       if test -n "$try"; then # ncurses found. Does it contain tgetent ?
        !           516:         lib=$try; . ./locatesymbol
        !           517:       fi
        !           518:       if test -n "$try"; then
        !           519:         rl_ncurses=$ncurses
        !           520:       else
        !           521:         lib=termcap; . ./locatelib
        !           522:         rl_termcap=$termcap
        !           523:       fi
        !           524:     fi
        !           525: # Readline -- Allocation
        !           526:     lib=$rl_fullname; sym=alloca; . ./locatesymbol
        !           527:     if test -n "$try"; then # alloca needed
        !           528:       lib=iberty; . ./locatelib
        !           529:       rl_liberty="$try"
        !           530:     fi
        !           531: # Readline -- Headers
        !           532:     case "$osname" in
        !           533:       os2) incpth=`echo $C_INCLUDE_PATH | sed -e 's/\([^;]\)$/\1;/g' -e 's%;%/readline %g' -e 's,\\\\,/,g'` ;;
        !           534:       cygwin*) incpth="\
        !           535:        $cygtop/usr/local/include/readline\
        !           536:        $cygtop/usr/local/include\
        !           537:        $cygtop/usr/include/readline\
        !           538:        $cygtop/usr/include\
        !           539:        $cygtop/H-${arch}-cygwin32/${arch}-cygwin32/include\
        !           540:      ";;
        !           541:       *) incpth="\
        !           542:       /usr/local/include/readline\
        !           543:       /usr/include/readline\
        !           544:       /opt/include/readline\
        !           545:       /opt/local/include/readline\
        !           546:       /opt/gnu/include/readline\
        !           547:       /usr/unsupported/include/readline\
        !           548:       /usr/local/include\
        !           549:       /usr/include\
        !           550:       /opt/include\
        !           551:       /opt/local/include\
        !           552:       /opt/gnu/include\
        !           553:     ";;
        !           554:     esac
        !           555:     pth="$readline_add $incpth"
        !           556:     x=`./locate 'readline.h' '' $pth`
        !           557:     CPPF_defined=
        !           558:     case $x in
        !           559:      ?:/*|/*) rl_include=`echo $x | sed 's,/readline.h,,'`
        !           560:          if (grep CPPFunction $x > /dev/null 2>&1); then CPPF_defined=yes; fi
        !           561:          if (grep rl_message  $x > /dev/null 2>&1); then rl_message=yes; fi
        !           562:          if (grep rl_completion_matches $x > /dev/null 2>&1); then
        !           563:            rl_completion_matches=yes;
        !           564:          fi
        !           565:          if (grep rl_completion_func_t $x > /dev/null 2>&1); then
        !           566:            rl_completion_func_t=yes;
        !           567:          fi
        !           568:          if (grep "rl_refresh_line *()" $x > /dev/null 2>&1); then
        !           569:            rl_refresh_line_oldproto=yes
        !           570:          fi
        !           571:          if (grep rl_completion_append_character $x > /dev/null 2>&1); then
        !           572:            rl_appendchar=yes
        !           573:          fi
        !           574:          if (grep rl_generic_bind $x > /dev/null 2>&1); then
        !           575:            rl_genericbind=yes
        !           576:          fi
        !           577:          if (grep rl_save_prompt $x > /dev/null 2>&1); then
        !           578:            rl_save_prompt=yes;
        !           579:          else
        !           580:           lib=$rl_fullname; sym=rl_save_prompt; . ./locatesymbol
        !           581:           _rl_save_prompt=$try
        !           582:          fi;;
        !           583:       *) echo ..."But no header file has been found"
        !           584:          readline=;;
        !           585:     esac
        !           586:   fi
        !           587:
        !           588:   if test -n "$readline"; then
        !           589:     echo ..."Found GNU readline header in $rl_include"
        !           590:     if (echo $rl_include | grep "readline$" > /dev/null); then
        !           591:       rl_include=`echo $rl_include | sed 's,/readline$,,'`
        !           592:       RLINCLUDE="-I$rl_include"
        !           593:     else
        !           594: # in case headers are not installed correctly
        !           595:       RLINCLUDE="-I$rl_include -DREADLINE_LIBRARY"
        !           596:     fi
        !           597:     RLLIBS="-L$readline -lreadline"
        !           598:     if test -n "$rl_ncurses"; then
        !           599:       echo ..."Library ncurses needed by readline"
        !           600:       RLLIBS="$RLLIBS -lncurses"
        !           601:     fi
        !           602:     if test -n "$rl_termcap"; then
        !           603:       echo ..."Library termcap needed by readline"
        !           604:       RLLIBS="$RLLIBS -ltermcap"
        !           605:     fi
        !           606:     if test -n "$rl_liberty"; then
        !           607:       echo ..."Library liberty needed by readline"
        !           608:       RLLIBS="$RLLIBS -liberty"
        !           609:     fi
        !           610:     if test -z "$rl_appendchar"; then
        !           611:       echo ..."Library readline does not have completion_append_char"
        !           612:     fi
        !           613:     if test -z "$rl_genericbind"; then
        !           614:       echo ..."Library readline does not have rl_generic_bind"
        !           615:     fi
        !           616:     if test -z "$rl_save_prompt"; then
        !           617:       echo ..."Library readline does not have rl_save_prompt"
        !           618:       if test -n "$_rl_save_prompt"; then
        !           619:         echo ......"but it has _rl_save_prompt"
        !           620:       fi
        !           621:     fi
        !           622:
        !           623:     if test "$fastread" != yes; then
        !           624:       cat << EOM
        !           625: ==========================================================================
        !           626: EOM
        !           627:       echo $n "Do you want to use GNU readline library within GP ? $c"
        !           628:       rep='y n'; dflt=y; . ./myread
        !           629:       case $ans in
        !           630:         n) readline=;;
        !           631:       esac
        !           632:     fi
        !           633:   fi
        !           634:
        !           635:   if test -n "$readline"; then readline_enabledp="t"; fi
        !           636:
        !           637: #  Graphic libs now.
        !           638: #
        !           639:   if test "$fastread" != yes; then
        !           640:     if test -n "$X11"; then addX11=X11; fi
        !           641:     cat << EOT
        !           642: ==========================================================================
        !           643: GP contains high resolution plotting functions. Choose among
        !           644:        none       $addX11         $addgnuplot
        !           645: EOT
        !           646:     echo $n ..."Use which graphic library (\"none\" means no hi-res plot) ? $c"
        !           647:     rep="none $addX11 $addgnuplot";
        !           648:     dflt=$which_graphic_lib; . ./myread
        !           649:     which_graphic_lib=$ans
        !           650:
        !           651:   case "$which_graphic_lib" in
        !           652:     X11)
        !           653:       gnuplot=;
        !           654:       # If xmkmf did not give the right answer
        !           655:       # X11 -- Headers
        !           656:       if test ! -f $Xincroot/X11/Xos.h; then
        !           657:         x11pth="\
        !           658:           /usr/openwin/share/lib\
        !           659:           /usr/openwin/lib\
        !           660:           /usr/X11R6/lib\
        !           661:           /usr/X11R5/lib\
        !           662:           /usr/X11R4/lib\
        !           663:           /usr/lib/X11R6\
        !           664:           /usr/lib/X11R5\
        !           665:           /usr/lib/X11R4\
        !           666:           /usr/local/X11R6/lib\
        !           667:           /usr/local/X11R5/lib\
        !           668:           /usr/local/X11R4/lib\
        !           669:           /usr/local/lib/X11R6\
        !           670:           /usr/local/lib/X11R5\
        !           671:           /usr/local/lib/X11R4\
        !           672:           /usr/X11/lib\
        !           673:           /usr/lib/X11\
        !           674:           /usr/local/X11/lib\
        !           675:           /usr/local/lib/X11\
        !           676:           /usr/X386/lib\
        !           677:           /usr/x386/lib\
        !           678:           /usr/XFree86/lib/X11\
        !           679:           /usr/lib\
        !           680:           /usr/local/lib\
        !           681:           /usr/unsupported/lib\
        !           682:           /usr/athena/lib\
        !           683:           /usr/local/x11r5/lib\
        !           684:           /usr/lpp/Xamples/lib\
        !           685:         ";
        !           686:         pth=`echo $x11pth | s,/lib,/include,g`
        !           687:         x=`./locate X11/Xos.h '' $pth`
        !           688:         case $x in
        !           689:          /*) Xincroot=`echo $x | sed 's,/X11/Xos.h,,'`;;
        !           690:          *)  Xincroot=;;
        !           691:         esac
        !           692:         if test -n "$Xincroot"; then
        !           693:           echo ..."Found X11 header files in $Xincroot/X11"
        !           694:         fi
        !           695:       fi
        !           696:       # X11 -- Lib
        !           697:       if test -f $Xincroot/X11/Xos.h -a -z "$X11"; then
        !           698:         pth=$x11pth;
        !           699:         lib=X11; . ./locatelib
        !           700:       fi ;;
        !           701:     gnuplot);;
        !           702:     *)gnuplot=;;
        !           703:   esac
        !           704:   else # fastread = yes
        !           705:     if test "$which_graphic_lib" = none -a -z "$graph_cmd" -a -n "$gnuplot"; then
        !           706:       which_graphic_lib=gnuplot
        !           707:     fi
        !           708:     if test -z "$X11" -a -z "$gnuplot" -a -z "$readline"; then
        !           709:       echo ...none
        !           710:     fi
        !           711:   fi
        !           712: fi
        !           713:
        !           714: ####################### CONFIGURE - COMPILATION #############################
        !           715: #
        !           716: # Which optimization ?
        !           717: #
        !           718: if test "$fastread" != yes; then
        !           719:   cat << EOT
        !           720: ==========================================================================
        !           721: The default is to fully optimize the compilation. You may choose to build
        !           722:   an executable for debugging or profiling instead. Choose among :
        !           723:        full       debugging       profiling
        !           724: EOT
        !           725:   echo $n ..."Which optimization do you prefer ? $c"
        !           726:   dflt=$optimization; rep='full debugging profiling'; . ./myread
        !           727:   optimization=$ans
        !           728: fi
        !           729:
        !           730: #
        !           731: # Which Compiler ?
        !           732: #
        !           733: if test -z "$CC"; then
        !           734:   echo Looking for the compilers ...
        !           735:   # Native Compilers
        !           736:   cc=`./locate cc '' $pathspace`
        !           737:   case "$osname" in
        !           738:     hpux) if test "$cc" = /usr/ccs/bin/cc -a -f /opt/ansic/bin/cc; then
        !           739:             cc=/opt/ansic/bin/cc; fi ;;  # This is a better compiler
        !           740:   esac
        !           741:   case "$cc" in ?:/*|/*) echo ..."cc is $cc";;
        !           742:       *) echo ..."I could not find cc.";; esac
        !           743:   # GNU Compilers
        !           744:   gcc=`./locate gcc '' $pathspace`
        !           745:   if test -z "$gcc"; then
        !           746:     exe=$osname-$arch-gnu$$
        !           747:     $cc $extraflag -o $exe gnu.c
        !           748:     if $exe; then gcc=$cc; fi; rm -f $exe
        !           749:   fi
        !           750:   case "$gcc" in
        !           751: ?:/*|/*) echo ..."gcc is $gcc";;
        !           752:       *) echo ..."I could not find gcc."; gcc=;;
        !           753:   esac
        !           754:   if test -n "$gcc"; then
        !           755:     __gnuc__=`$gcc -v 2>&1 | sed -n 's/.*version //p'`
        !           756:     if test -z "$__gnuc__"; then __gnuc__=unknown; fi
        !           757:     echo GNU compiler version $__gnuc__
        !           758:   fi
        !           759:   case "$osname" in
        !           760:     aix)   __gnuc__=;; # Native compilers are faster
        !           761:     hpux)  __gnuc__=;; # versions older than 2.7 cannot build PIC code
        !           762:                             # gp built with recent versions has bugs
        !           763:     concentrix) case "$__gnuc__" in 2.[78].*);; *)
        !           764:               __gnuc__=;; esac;;
        !           765:   esac
        !           766:   # Choosing the compiler
        !           767:   if test -n "$__gnuc__"; then CC=$gcc; else CC=$cc; fi
        !           768: fi
        !           769:
        !           770: if test "$which_graphic_lib" = gnuplot -a -z "$gcc"; then
        !           771:     lib=$gnuplot_fullpath; sym=_eprintf; . ./locatesymbol
        !           772:     if test -n "$try"; then
        !           773:        echo "...Looks like gcc-compiled gnuplot.  I add -lgcc to graphic libraries"
        !           774:        _ogcc="$gcc"
        !           775:        opth="$pth"
        !           776:        pth="$pth /opt/local/gnu/lib /usr/local/gnu/lib"
        !           777:        gcclibspec="`gcc -v 2>&1 | grep specs | sed 's/.*specs from //'`"
        !           778:        if test -n "$gcclibspec"; then
        !           779:            pth="`dirname $gcclibspec` $pth"
        !           780:        fi
        !           781:        lib=gcc; . ./locatelib
        !           782:        if test -n "$gcc"; then
        !           783:            gnuplot_libs="$gnuplot_libs -L$gcc"
        !           784:        else
        !           785:            echo "...### I did not find -lgcc library in $pth."
        !           786:            echo "...### You may need to manually add something like -L/opt/gnu/lib to the "
        !           787:            echo "...###   PLOTLIBS = ..."
        !           788:            echo "...### line in your architecture-Makefile."
        !           789:        fi
        !           790:        pth="$opth"
        !           791:        gcc="$_ogcc"
        !           792:        gnuplot_libs="$gnuplot_libs -lgcc"
        !           793:     fi
        !           794: fi
        !           795:
        !           796:
        !           797: if test "$fastread" != yes; then
        !           798:   cat << EOT
        !           799: ==========================================================================
        !           800: Only ANSI C and C++ compilers are supported. Choosing the GNU compiler
        !           801: gcc/g++ enables the inlining of kernel routines (about 20% speedup; if you
        !           802: use a recent g++, it is a good idea to include the -fpermissive flag).
        !           803: If you choose not to use gcc, the C++ version of Pari will be a little
        !           804: faster because of general inlining, but can be used in library mode only
        !           805: with C++ programs (we **really** recommand using gcc all the way through).
        !           806: EOT
        !           807:   echo $n ..."Which C compiler shall I use ? $c"
        !           808:   dflt=$CC; rep=; . ./myread
        !           809:   CC=$ans
        !           810: fi
        !           811:
        !           812: #
        !           813: # Which Flags for Compiler ?
        !           814: #
        !           815: if test "$CC" != "$gcc"; then __gnuc__=; fi
        !           816: if test -z "$__gnuc__"; then
        !           817:   exe=$osname-$arch-gnu$$
        !           818:   $CC $extraflag -o $exe gnu.c
        !           819:   if $exe; then __gnuc__=yes; fi
        !           820:   rm -f $exe
        !           821: fi
        !           822:
        !           823: if test -n "$__gnuc__"; then
        !           824:   __GNUC__="-D__GNUC__"
        !           825:   warn="-Wall -Wno-implicit"
        !           826:   OPTFLAGS="-O3 -DGCC_INLINE $warn"
        !           827:   DBGFLAGS="-g $warn"
        !           828:   # Some architectures need -fPIC for building dynamic lib
        !           829:   case "$osname-$arch" in hpux-*) DLCFLAGS=-fPIC;; esac
        !           830:   # Specific optimisations for some architectures
        !           831:   case "$osname-$arch" in
        !           832:     linux-i?86|cygwin*) OPTFLAGS="$OPTFLAGS \
        !           833:       -malign-loops=2 -malign-jumps=2 -malign-functions=2";;
        !           834:     os2-*) cflags=-Zmt;;
        !           835:     *-sparcv8*) cflags=-mv8;;
        !           836:   esac
        !           837:   # omit-frame-pointer incompatible with -pg
        !           838:   PRFFLAGS="-pg $OPTFLAGS"
        !           839:   case "$optimization" in
        !           840:     full) OPTFLAGS="$OPTFLAGS -fomit-frame-pointer";;
        !           841:   esac
        !           842: else
        !           843:   cflags=
        !           844:   DBGFLAGS="-g"
        !           845:   PRFFLAGS="-pg"
        !           846:   case "$osname-$arch" in
        !           847:     hpux-*) # -Aa is for ANSI C, +z for PIC code (for commercial HPUX compilers)
        !           848:                   OPTFLAGS=-O; cflags=-Aa; DLCFLAGS=+z;;
        !           849:     # best tuning option, even for PPC604:
        !           850:     aix-*)        OPTFLAGS=-O2; cflags='-qlanglvl=ansi -qtune=601';;
        !           851:     cygwin*|linux-i?86|freebsd-i?86)
        !           852:                   OPTFLAGS=-O2; cflags=-m486;;
        !           853:     osf1-*)       OPTFLAGS='-O4 -migrate -ifo -Olimit 9999';;
        !           854:     sunos-*)      OPTFLAGS=-fast; PRFFLAGS='-pg -Bstatic';;
        !           855:     solaris-*)    OPTFLAGS=-fast; PRFFLAGS=-xpg;;
        !           856:     concentrix-*) OPTFLAGS=-Ogi;;
        !           857:     *)            OPTFLAGS=-O;;
        !           858:   esac
        !           859:   PRFFLAGS="$PRFFLAGS $OPTFLAGS"
        !           860: fi
        !           861: cflags="$cflags $DLCFLAGS"
        !           862:
        !           863: case "$osname" in
        !           864:   nextstep)  cflags="-traditional-cpp $cflags";;
        !           865: esac
        !           866:
        !           867: case "$optimization" in
        !           868:   full)      suffix=; cflags="$OPTFLAGS $cflags";;
        !           869:   profiling) suffix=.prf; cflags="$PRFFLAGS $cflags";;
        !           870:   debugging) suffix=.dbg; cflags="-DMEMSTEP=1048576 $DBGFLAGS $cflags";;
        !           871: esac
        !           872:
        !           873: if test "$fastread" != yes; then
        !           874:   echo $n ..."With which flags ? $c"
        !           875:   dflt=${CFLAGS:-cflags}; rep=; . ./myread
        !           876:   cflags=$ans
        !           877: fi
        !           878:
        !           879: # Here we should check it is an ANSI compiler...
        !           880: echo "C compiler is          $CC  $cflags"
        !           881:
        !           882: #
        !           883: # Which Assembler ?
        !           884: #
        !           885: if test -z "$AS"; then
        !           886:   echo Looking for an assembler ...
        !           887:   if test "$osname" = hpux
        !           888:   then AS=`./locate as '' /usr/ccs/bin /bin`   # We don't want GNU as
        !           889:   else AS=`./locate as '' $pathspace`
        !           890:   fi
        !           891:   case "$AS" in ?:/*|/*) echo ..."as is $AS";;
        !           892:       *) echo ..."I could not find as." ;; esac
        !           893: fi
        !           894: gnuas=no
        !           895: if (echo | $AS --version 2>&1 | grep GNU > /dev/null); then
        !           896:   gnuas=yes
        !           897: else
        !           898:   if (echo | $AS -v 2>&1 | grep GNU > /dev/null); then
        !           899:     gnuas=yes
        !           900:   fi
        !           901: fi
        !           902: if test "$gnuas" = yes; then
        !           903:   echo "...Hum, this looks like GNU as"
        !           904:   case "$osname-$asmarch" in
        !           905:     solaris-sparc*) KERNELCPPFLAGS="-DNO_UNDERSCORE $__GNUC__";;
        !           906:   esac
        !           907: else
        !           908:   case "$osname-$asmarch" in
        !           909:     osf1-alpha)     ASFLAGS="-O1";;
        !           910:     sunos-sparc*)   ASFLAGS="-P -I. $__GNUC__";;
        !           911:     solaris-sparc*) ASFLAGS="-P -I. $__GNUC__ -T";;
        !           912:     hpux-hppa)      ASFLAGS="+DA1.1";;
        !           913:     *)              ASFLAGS=;;
        !           914:   esac
        !           915: fi
        !           916: echo "Assembler is           $AS  $ASFLAGS"
        !           917:
        !           918: #
        !           919: # Which C PreProcessor ?
        !           920: #
        !           921: case "$osname" in
        !           922:   nextstep) cppfl="-traditional-cpp" ;;
        !           923:   freebsd)
        !           924:     if test $PORTOBJFORMAT = "elf"; then
        !           925:       cppfl="-DUSE_ELF"
        !           926:       FREEBSD_ELF=1
        !           927:     else
        !           928:       FREEBSD_ELF=0
        !           929:     fi ;;
        !           930: esac
        !           931: CPP="$CC $cppfl -E -I."
        !           932:
        !           933: echo "C PreProcessor is      $CPP"
        !           934:
        !           935: #
        !           936: # Which Executable Linker ?
        !           937: #
        !           938: LIBS=-lm
        !           939: case "$osname" in
        !           940:   darwin) LIBS= ;;
        !           941: esac
        !           942: case "$osname-$arch" in
        !           943:   linux-*|cygwin*)
        !           944:       LD=$CC; LDFLAGS="$cflags -Xlinker -export-dynamic"
        !           945:       runpathprefix='-Xlinker -rpath -Xlinker ';;
        !           946:   osf1-alpha)
        !           947:       LD=$ld; LIBS="$LIBS -lots -lc"; runpathprefix='-rpath '
        !           948:       LDFLAGS='-std0 -call_shared /usr/lib/cmplrs/cc/crt0.o'
        !           949:       case "$optimization" in
        !           950:        full|profiling) LDFLAGS="-g0 -O4 $LDFLAGS";;
        !           951:       esac;;
        !           952:   solaris-*) LD=$CC; LDFLAGS=$cflags; runpathprefix=-R ;;
        !           953:   os2-*)     LD=$CC; LDFLAGS="$cflags -Zexe"
        !           954:       case "$optimization" in
        !           955:        full) LDFLAGS="$LDFLAGS -s";;
        !           956:       esac;;
        !           957:   *)         LD=$CC; LDFLAGS=$cflags ;;
        !           958: esac
        !           959:
        !           960: if test "$fastread" != yes; then
        !           961:   echo $n ..."Which linker for building executables ? $c"
        !           962:   dflt=$LD; rep=; . ./myread
        !           963:   LD=$ans
        !           964: fi
        !           965:
        !           966: #
        !           967: # Which Flags for Executable Linker?
        !           968: #
        !           969: if test "$fastread" != yes; then
        !           970:   echo $n ..."With which flags ? $c"
        !           971:   dflt=$LDFLAGS; rep=; . ./myread
        !           972:   LDFLAGS=$ans
        !           973: fi
        !           974:
        !           975: echo "Executable linker is   $LD  $LDFLAGS"
        !           976:
        !           977: if test "$optimization" = profiling; then DLLD=; else
        !           978:   DLLD=${DLLD-ld}
        !           979:   DLSUFFIX=so
        !           980: # Which suffix for Dynamic Lib?
        !           981: # Some linkers (SunOS 4) need minor and major lib version numbers.
        !           982: # Some others (SunOS 5) need a link from a .so
        !           983: # Some others (HPUX 09) do not want version numbers.
        !           984: #
        !           985:   soname=$soname_num
        !           986:   case "$osname-$arch" in
        !           987: #    aix-*)  DLSUFFIX=a  ;; dynamic linking does not work!
        !           988:     sunos-*) sodest=$VersionMajor$VersionMinor.$patch
        !           989:              soname=$sodest;;
        !           990:     *-alpha|solaris-*|linux-*|freebsd-*)
        !           991:       case $libpari_base in
        !           992:         pari) sodest=$version.$patch;; # released versions
        !           993:         *) sodest=$patch.0.0;; # unstable versions
        !           994:       esac ;;
        !           995:     cygwin*) soname= ; sodest= ; DLSUFFIX=dll;;
        !           996:     hpux-*)  soname= ; sodest= ; DLSUFFIX=sl;;
        !           997:     irix-*)  soname= ; sodest= ;;
        !           998:     *) DLLD=;;
        !           999:   esac
        !          1000: fi
        !          1001:
        !          1002: if test -n "$DLLD"; then
        !          1003: # Which Dynamic Lib Linker?
        !          1004: #
        !          1005:   if test $DLLD = ld -a -n "$ld"; then
        !          1006:     DLLD=$ld;
        !          1007:   fi
        !          1008:   if test "$fastread" != yes; then
        !          1009:     echo $n ..."Which linker for building dynamic libs? $c"
        !          1010:     dflt=$DLLD; rep=; . ./myread
        !          1011:     DLLD=$ans
        !          1012:   fi
        !          1013:
        !          1014: # Which Flags for Dynamic Lib Linker ?
        !          1015: #
        !          1016:   if ($DLLD -v 2>&1 | grep GNU > /dev/null); then
        !          1017:     echo "...Hum, this looks like GNU ld"
        !          1018:     DLLDFLAGS="-shared -soname \$(LIBPARI_SONAME)"
        !          1019:   else
        !          1020:     # not GNU ld
        !          1021:     case "$osname-$arch" in
        !          1022:       aix-*)      DLLDFLAGS="-r" ;;
        !          1023:       hpux-*)     DLLDFLAGS="-b -E" ;;
        !          1024:       freebsd-*)  DLLDFLAGS="-Bshareable -x" ;;
        !          1025:       linux-*)    DLLDFLAGS="-shared -soname \$(LIBPARI_SONAME)" ;;
        !          1026:       irix-*)     DLLDFLAGS="-shared -elf -no_unresolved -all" ;;
        !          1027:       *-alpha)    DLLDFLAGS="-shared"; EXTRADLLDFLAGS='${LIBS}'
        !          1028:          case "$optimization" in
        !          1029:            full) DLLDFLAGS="$DLLDFLAGS -O3" ;;
        !          1030:          esac;;
        !          1031:       sunos-*)    DLLDFLAGS="-assert nodefinitions" ;;
        !          1032:       solaris-*)  DLLDFLAGS="-G -h \$(LIBPARI_SONAME)" ;;
        !          1033:       *)          DLLD=;;
        !          1034:     esac
        !          1035:   fi
        !          1036:
        !          1037:   if test "$fastread" != yes; then
        !          1038:     echo $n ..."Which flags for linker? $c"
        !          1039:     dflt=$DLLDFLAGS; rep=; . ./myread
        !          1040:     DLLDFLAGS=$ans
        !          1041:   fi
        !          1042: fi
        !          1043:
        !          1044: if test -z "$DLLD"; then
        !          1045:   echo "No Dynamic Lib"
        !          1046:   static=y
        !          1047: else
        !          1048:   echo "Dynamic Lib linker is  $DLLD  $DLLDFLAGS"
        !          1049:   static=${static-n}
        !          1050: fi
        !          1051:
        !          1052: if test "$fastread" != yes; then
        !          1053:   cat << EOT
        !          1054: ==========================================================================
        !          1055: Should you change your mind, you only need to modify the lines
        !          1056:     CC="$CC"
        !          1057:     CFLAGS="$cflags"
        !          1058:     LD="$LD"
        !          1059:     LDFLAGS="$LDFLAGS"
        !          1060:     DLLD="$DLLD"
        !          1061:     DLLDFLAGS="$DLLDFLAGS"
        !          1062: in the Makefile
        !          1063: ==========================================================================
        !          1064: EOT
        !          1065: fi
        !          1066:
        !          1067: ####################### CONFIGURE - READLINE VERSION ########################
        !          1068: if test -n "$readline"; then
        !          1069:   exe=$osname-$arch-rlv$$
        !          1070:   $CC $extraflag $RLINCLUDE -o $exe rl_version.c $RLLIBS 2>/dev/null
        !          1071:   if test -r $exe; then readline=`$exe`; else readline=1.0; fi
        !          1072:   rm -f $exe $exe$exe_suff
        !          1073: fi
        !          1074:
        !          1075: ####################### CONFIGURE - LIBC ####################################
        !          1076: #
        !          1077: #  Long integer ?
        !          1078: #
        !          1079: endian=4321;
        !          1080: exe=$osname-$arch-endian$$
        !          1081: if ($CC $extraflag endian.c -o $exe 2>/dev/null); then
        !          1082:   endian=`$exe`;
        !          1083: fi
        !          1084: rm -f $exe $exe$exe_suff
        !          1085:
        !          1086: if test "$fastread" != yes; then
        !          1087: cat << EOT
        !          1088: Determining sizeof(long) and endianness. If your hardware supports different
        !          1089: size of longs (e.g SGI/MIPS), you can decide to use a particular word size
        !          1090: by specifying endianness (e.g answer 4321 instead of the proposed 87654321).
        !          1091: You'll probably have to specify some exotic compilation flag (e.g -o32,-n32)
        !          1092: ============================================================================
        !          1093: EOT
        !          1094:   echo $n "What is the internal byte representation of long integer ? $c"
        !          1095:   dflt=$endian; rep='12345678 87654321 1234 4321'; . ./myread
        !          1096:   endian=$ans
        !          1097: fi
        !          1098: echo "The internal byte representation of your long integers is $endian."
        !          1099:
        !          1100: case $endian in
        !          1101:   *8|8*) sizeof_long=8; pretty="$pretty 64-bit version";;
        !          1102:   *)     sizeof_long=4; pretty="$pretty 32-bit version";;
        !          1103: esac
        !          1104:
        !          1105:
        !          1106: #
        !          1107: # Looking in C lib for some functions.
        !          1108: #
        !          1109: exe=$osname-$arch-tmp$$
        !          1110: echo Checking some common types...
        !          1111: list=ulong; . ./look
        !          1112: echo Looking in C lib for some symbols...
        !          1113: extra_flags=
        !          1114: list=exp2; . ./look
        !          1115: list=strftime; . ./look
        !          1116: case "$arch" in
        !          1117:   alpha) list='times ftime';; # gp-dyn has problems with getrusage
        !          1118:   *) case "$osname" in
        !          1119:     *cygwin*) list='times ftime';; # getrusage based timer always returns 0
        !          1120:     *) list='getrusage times ftime';;
        !          1121:     esac;;
        !          1122: esac; . ./look
        !          1123: list='sigrelse sigsetmask'; . ./look
        !          1124: list=TIOCGWINSZ; . ./look
        !          1125: list=getrlimit; . ./look
        !          1126: list=opendir; . ./look
        !          1127:
        !          1128: # For install(). Do we need libdl.so?
        !          1129: # on irix and osf1 -ldl not needed
        !          1130: extra_flags=
        !          1131: list=dlopen; . ./look
        !          1132: if test "$has_dlopen" = no; then
        !          1133:   echo "Try again, with -ldl this time..."
        !          1134:   extra_flags=-ldl; . ./look
        !          1135:   if test "$has_dlopen" = yes; then
        !          1136:     LIBS="-ldl $LIBS"
        !          1137:   fi
        !          1138: fi
        !          1139:
        !          1140: ####################### CONFIGURE - MAKE ####################################
        !          1141: dflt=$prefix; rep=
        !          1142: test "$fastread" = yes || cat <<EOT
        !          1143: ==========================================================================
        !          1144: By default, gp will be installed in $dflt/bin, manual pages under
        !          1145:   $dflt/man, etc..., with $dflt as prefix for all installation directories.
        !          1146:   If you wish to have binaries under /bin but manual pages under
        !          1147:   /usr/local/man, that's ok: you will be prompted separately for each of the
        !          1148:   installation directories, the prefix being only used to set the defaults.
        !          1149:   (You will be prompted before the actual installation is done.)
        !          1150: The names of executables and libraries contain their version number $version.
        !          1151:   A symbolic link to gp or libpari.[a/so] will point to the most recent
        !          1152:   installation of GP/PARI.
        !          1153: EOT
        !          1154: echo $n "Installation prefix ? $c"
        !          1155: . ./myread; prefix=$ans
        !          1156:
        !          1157: echo $n "...for architecture-independant files (share-prefix) ? $c"
        !          1158: dflt=$share_prefix; . ./myread; share_prefix=$ans
        !          1159:
        !          1160: if test -z "$share_prefix"; then
        !          1161:   dfltman=$prefix/man/man1
        !          1162:   dfltall=$prefix/lib/pari
        !          1163: else
        !          1164:   dfltman=$share_prefix/man/man1
        !          1165:   dfltall=$share_prefix/doc/pari
        !          1166: fi
        !          1167:
        !          1168: echo $n ..."\"gp\" executable ? $c"
        !          1169: dflt=${dfltbindir:-$prefix/bin}; . ./myread; bindir=$ans
        !          1170:
        !          1171: echo $n ..."\"pari\" library ? $c"
        !          1172: dflt=${dfltlibdir:-$prefix/lib}; . ./myread; libdir=$ans
        !          1173:
        !          1174: echo $n ..."include files ? $c"
        !          1175: dflt=${dlftincludedir:-$prefix/include/pari}; . ./myread; includedir=$ans
        !          1176:
        !          1177: echo $n ..."manual pages ? $c"
        !          1178: dflt=${dfltmandir:-$dfltman}; . ./myread; mandir=$ans
        !          1179:
        !          1180: echo $n ..."documentation, examples, and emacs macros ? $c"
        !          1181: dflt=${dfltmiscdir:-$dfltall}; . ./myread; miscdir=$ans
        !          1182:
        !          1183: if test -z "$share_prefix"; then
        !          1184:   dfltdat=$miscdir/galdata
        !          1185: else
        !          1186:   dfltdat=$share_prefix/pari/galdata
        !          1187: fi
        !          1188:
        !          1189: echo $n ..."miscellaneous data (galois resolvents) ? $c"
        !          1190: dflt=${dfltdatadir:-$dfltdat}; . ./myread; datadir=$ans
        !          1191:
        !          1192: if test "$optimization" = debugging; then static=y; fi
        !          1193: if test "$fastread" != yes; then
        !          1194:   if test -z "$DLLD"; then
        !          1195:     cat <<EOT
        !          1196: ==========================================================================
        !          1197: We cannot build a dynamic executable. We will build the static version.
        !          1198: EOT
        !          1199:   else
        !          1200:     cat <<EOT
        !          1201: ==========================================================================
        !          1202: By default, we will try to build the shared library and gp will be an
        !          1203:   executable dynamically linked with it. Do you prefer to have the static
        !          1204:   archive libpari.a and a statically linked executable (which is a bit
        !          1205:   faster, but takes more disk place) ?
        !          1206: You can always type "make all" in case you want both later.
        !          1207: EOT
        !          1208:   echo $n "Do you want static executable and library ? $c"
        !          1209:   dflt=$static; rep='y n'; . ./myread; static=$ans
        !          1210:   fi
        !          1211: fi
        !          1212: case "$static" in
        !          1213:   y) echo "Default is static executable and archive library, graphic=$which_graphic_lib" ;;
        !          1214:   n) echo "Default is dynamic executable and shared library, graphic=$which_graphic_lib" ;;
        !          1215: esac
        !          1216:
        !          1217: #
        !          1218: # Target directory
        !          1219: #
        !          1220: pre=O
        !          1221: case "$optimization" in
        !          1222:   full)      objdir=$pre$osname-$arch ;;
        !          1223:   debugging) objdir=$pre$osname-$arch.dbg ;;
        !          1224:   profiling) objdir=$pre$osname-$arch.prf ;;
        !          1225: esac
        !          1226: if test "$fastread" != yes; then
        !          1227:   cat << EOT
        !          1228: ==========================================================================
        !          1229: This is the name of the directory where all the object files will be :
        !          1230: EOT
        !          1231:   echo $n ..."Enter dir name : $c"
        !          1232:   dflt=$objdir; rep=; . ./myread
        !          1233:   objdir=$ans
        !          1234: fi
        !          1235:
        !          1236: #
        !          1237: # For dynamic linking, before and after installing
        !          1238: #
        !          1239: case "$osname" in
        !          1240:   *cygwin*) LDDYN="-L$libdir -lpari_dll" ; runpath="$libdir" ;
        !          1241:            DYNLIBS=-lpari_dll ; DYNFLAGS=-Dlibpari_USE_DLL ;;
        !          1242:   *)        LDDYN="-L$libdir -l$libpari_base" ; runpath="$libdir" ;;
        !          1243: esac
        !          1244:
        !          1245: cat << EOT
        !          1246: ==========================================================================
        !          1247: EOT
        !          1248:
        !          1249: ####################### CONFIGURE - SPIT ####################################
        !          1250: #
        !          1251: #  Now spit out the results
        !          1252: #
        !          1253: cd $TOP
        !          1254: if test ! -d $objdir; then mkdir -p $objdir; fi
        !          1255: dflt_conf_file=$objdir/$dflt_conf_file
        !          1256:
        !          1257: cat > $dflt_conf_file << EOT
        !          1258: # Config file for Pari $release -- $pretty
        !          1259:
        !          1260: EOT
        !          1261: case "$osname" in
        !          1262:   os2) shell_q='"'; echo "shell_q='\"'" >> $dflt_conf_file;;
        !          1263:     *) shell_q="'"; echo "shell_q=\"'\"" >> $dflt_conf_file;;
        !          1264: esac
        !          1265:
        !          1266: for variable in\
        !          1267:   libpari_base version TOP config_dir src_dir emacs_dir doc_dir\
        !          1268:   bindir includedir mandir miscdir libdir datadir\
        !          1269:   optimization objdir static suffix\
        !          1270:   arch asmarch osname pretty prefix share_prefix\
        !          1271:   __gnuc__ gnuas CPP AS ASFLAGS CC cflags DBGFLAGS OPTFLAGS LD LDFLAGS\
        !          1272:   DLLD DLSUFFIX soname sodest KERNELCPPFLAGS DLLDFLAGS EXTRADLLDFLAGS\
        !          1273:   runpath runpathprefix LDDYN LIBS DYNLIBS DYNFLAGS DYNRELOC\
        !          1274:   ranlib gzip zcat emacs perl ln_s make_sh exe_suff\
        !          1275:   readline readline_enabledp CPPF_defined rl_refresh_line_oldproto\
        !          1276:   rl_appendchar rl_genericbind rl_save_prompt _rl_save_prompt rl_message\
        !          1277:   rl_completion_matches rl_completion_func_t\
        !          1278:   RLINCLUDE RLLIBS\
        !          1279:   sizeof_long endian has_exp2\
        !          1280:   has_getrusage has_times has_ulong has_ftime has_strftime has_opendir\
        !          1281:   has_sigrelse has_sigsetmask has_dlopen has_TIOCGWINSZ has_getrlimit\
        !          1282:   gnuplot extralib X11 Xincroot which_graphic_lib gnuplot_libs\
        !          1283:   ; do
        !          1284:   eval "echo $variable=\'"'$'"$variable\'" \>\> $dflt_conf_file
        !          1285: done
        !          1286:
        !          1287: . $config_dir/extract_files
        !          1288:
        !          1289: #
        !          1290: #  Building...
        !          1291: #
        !          1292: cat << EOT
        !          1293: ==========================================================================
        !          1294: EOT
        !          1295:
        !          1296: echo $n "Shall we try to build pari $version.$patch ($status) now (y/n)? $c"
        !          1297: dflt=n; rep='y n'; . $config_dir/myread
        !          1298:
        !          1299: case $ans in
        !          1300: y) if (make gp); then
        !          1301:      echo $n "Shall we install the files where they belong (y/n)? $c"
        !          1302:      dflt=n; rep='y n'; . $config_dir/myread
        !          1303:      case $ans in
        !          1304:        y) make install;;
        !          1305:        n) echo "Ok. Type \"make install\" when you are ready";;
        !          1306:      esac
        !          1307:    fi;;
        !          1308: n) echo "Ok. Type \"make install\" when you are ready";;
        !          1309: esac
        !          1310: echo 'Bye !'

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>