[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

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>