#! /bin/sh # # This file is part of the PARI/GP package. # # PARI/GP is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation. It is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY WHATSOEVER. # # Check the License for details. You should have received a copy of it, along # with the package; see the file 'COPYING'. If not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Configuration file for GP/PARI. Run Configure --help for Usage. # # Perl's Configure and GNU autoconfig were of much help in writing these files. # $Id: Configure,v 1.151 2006/05/15 11:57:39 kb Exp $ TOP=`pwd` config_dir=config data_dir=data doc_dir=doc emacs_dir=emacs examples_dir=examples misc_dir=misc src_dir=src desc_dir=src/desc extract_dir_list="$doc_dir $emacs_dir $misc_dir" # for extract_files cd $config_dir # Process options, initialize . ./get_head # do we need head -n # or head -# ? . ./get_config_options ####################### CONFIGURE - SHELL ################################### . ./get_nl # how to get echo without \n ? (for config questions) . ./get_PATH # We might need the following : echo Looking for some tools first ... list='ld zcat gzip ranlib perl emacs' pathspace=`echo $PATH | sed -e "s/$dir_sep/ /g" | sed -e 's,\\\\,/,g'` for file in $list; do x=`./locate $file '' $pathspace` eval $file=$x case $x in # support also DOS filesystems (hard drive prepended) ?:/*|/*) echo ..."$file is $x";; *) echo ..."I could not find $file." >&2;; esac done if test -z "$zcat" -a -n "$gzip"; then zcat="$gzip -dc"; fi ####################### CONFIGURE - ARCHITECTURE ############################ . ./get_archos # arch, osname ####################### CONFIGURE - COMPILATION ############################# . ./get_cc # $_cc_list (includes 'optimization'), extraflag . ./get_double_format # doubleformat, sizeof_long . ./get_kernel # asmarch, pretty . ./get_dlcflags # DLCFLAGS, update CFLAGS . ./get_ld # $_ld_list . ./get_dlld # $_dlld_list . ./get_perl # $_perl_list ####################### CONFIGURE - LIBC #################################### . ./get_libc # $_has_list, update LIBS ####################### CONFIGURE - LIBRARIES ############################### # Looking for libraries: gmp, X11, fltk, Qt, readline echo Checking for optional libraries and headers... . ./get_libpth # initialize if test -n "$kernel"; then # kernel explicitly provided case "$kernlvl1" in none) with_gmp=;; gmp) if test -z "$with_gmp"; then with_gmp=yes; fi ;; esac fi if test -n "$with_gmp" -o "$fastread" != yes; then . ./get_gmp # $_gmp_list fi if test "$optimization" != profiling; then . ./get_X11 # X11, X11_INC, X11_LIBS . ./get_graphic_lib # which_graphic_lib . ./get_fltk # FLTKDIR, FLTK_LIBS . ./get_Qt # QTDIR, QTLIB echo "Hi-Res Graphics: $which_graphic_lib" . ./get_readline # $_readline_list (includes 'readline') else which_graphic_lib=none fi ############################################################################# case $kernlvl1 in gmp) libpari_base=pari-gmp;; none) libpari_base=pari;; esac if test `expr $VersionMinor % 2` = 0; then libpari_base=$libpari_base-$version fi ####################### CONFIGURE - MAKE #################################### . ./get_install # $_install_list . ./get_objdir # objdir, cdobjdir . ./get_static # static # For dynamic linking, before and after installing runpath="$libdir" LDDYN="-L$libdir -lpari" # get_modld needs $includedir from get_install, static, and LDDYN . ./get_modld # $_modld_list # Which copy, SHELL ? case "$osname" in os2) ln_s=cp; make_sh=sh;; *) ln_s="ln -s"; make_sh="/bin/sh";; esac ####################### CONFIGURE - CLEANUP ################################# rm -f gmon.out # created by Configure -pg ####################### CONFIGURE - SPIT #################################### . ./get_tests #test_basic, test_extra, top_test_extra, top_dotest_extra # Now spit out the results cat << EOT ========================================================================== EOT cd "$TOP" if test ! -d $objdir; then mkdir -p $objdir; fi dflt_conf_file=$objdir/$dflt_conf_file cat > $dflt_conf_file << EOT # Config file for Pari $release -- $pretty EOT case "$osname" in os2) shell_q='"'; echo "shell_q='\"'" >> $dflt_conf_file;; *) shell_q="'"; echo "shell_q=\"'\"" >> $dflt_conf_file;; esac for variable in\ pari_release pari_release_verbose version libpari_base static TOP objdir\ arch asmarch osname pretty\ kernlvl0 kernlvl1 LIBS\ dir_sep runpath runpathprefix LDDYN\ ranlib gzip zcat emacs perl ln_s make_sh\ sizeof_long doubleformat\ X11 X11_INC X11_LIBS which_graphic_lib\ FLTKDIR FLTK_LIBS QTDIR QTLIB\ $_test_list\ $_install_list\ $_perl_list\ $_cc_list\ $_ld_list\ $_dl_list\ $_dlld_list\ $_modld_list\ $_readline_list\ $_gmp_list\ $_has_list; do eval "echo $variable=\'"'$'"$variable\'" \>\> $dflt_conf_file done . $config_dir/extract_files # Building... cat << EOT ========================================================================== EOT echo $n "Shall we try to build pari $version.$patch ($status) now (y/n)? $c" dflt=n; rep='y n'; . $config_dir/myread mkobjdir=`$config_dir/objdir` cdobjdir= if test "$objdir" != "$mkobjdir"; then cdobjdir="cd $objdir; " fi case $ans in y) if (cd $objdir; make gp); then echo $n "Shall we install the files where they belong (y/n)? $c" dflt=n; rep='y n'; . $config_dir/myread case $ans in y) make install;; n) echo "Ok. Type \"${cdobjdir}make install\" when you are ready";; esac fi;; n) echo "Ok. Type \"${cdobjdir}make install\" when you are ready";; esac echo 'Bye !'