| Bill Allombert on Thu, 20 May 2004 21:57:59 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Splitting get-kernel from get-archos |
On Thu, May 20, 2004 at 04:58:37PM +0200, Bill Allombert wrote: > Hello PARI developers, > > The attached patch fix that. Unfortunately, for obvious reason, in > interactive mode, the order of question is changed. The attached patch was slighly bogus. This one is better. > Once this issue is handled, I plan to commit the x86_64 support. Well, but there is still an issue unresolved: We need to known the sizeof(long) before setting -fPIC on amd64, at least according to our current rules about -fPIC). Cheers, Bill
Index: Configure
===================================================================
RCS file: /home/cvs/pari/Configure,v
retrieving revision 1.131
diff -u -r1.131 Configure
--- Configure 30 Jan 2004 14:43:01 -0000 1.131
+++ Configure 20 May 2004 15:00:45 -0000
@@ -51,15 +51,16 @@
if test -z "$zcat" -a -n "$gzip"; then zcat="$gzip -dc"; fi
####################### CONFIGURE - ARCHITECTURE ############################
-. ./get_archos # arch, osname, asmarch, pretty
+. ./get_archos # arch, osname
####################### CONFIGURE - COMPILATION #############################
. ./get_cc # $_cc_list (includes 'optimization'), extraflag
+. ./get_double_format # doubleformat, sizeof_long
+. ./get_kernel # asmarch, pretty
. ./get_as # AS, ASFLAGS, KERNELCPPFLAGS, gnuas
. ./get_ld # $_ld_list
. ./get_dlld # $_dlld_list, fix libpari_base
. ./get_perl # $_perl_list
####################### CONFIGURE - LIBC ####################################
-. ./get_double_format # doubleformat, sizeof_long, update pretty
. ./get_libc # $_has_list, update LIBS
####################### CONFIGURE - LIBRARIES ###############################
# Looking for libraries: gmp, X11, gnuplot, readline
Index: config/get_archos
===================================================================
RCS file: /home/cvs/pari/config/get_archos,v
retrieving revision 1.14
diff -u -r1.14 get_archos
--- config/get_archos 15 Oct 2003 12:34:30 -0000 1.14
+++ config/get_archos 19 May 2004 22:01:06 -0000
@@ -34,85 +34,3 @@
osname=$ans
fi
-#
-# A pretty name for the architecture
-# The asm file used (if any)
-#
-case "$arch" in
- sparc) asmarch=sparcv8_micro; pretty=Sparc ;;
- sparcv7) asmarch=$arch; pretty=SparcV7 ;;
- sparcv8_micro) asmarch=$arch; pretty=MicroSparc ;;
- sparcv8_super) asmarch=$arch; pretty=SuperSparc ;;
- sparcv9) asmarch=sparcv8_micro; pretty=UltraSparc ;;
- i?86) asmarch=ix86 ; pretty=$arch ;;
- ia64) asmarch=ia64 ; pretty=Itanium ;;
- hppa) asmarch=none ; pretty='HP Precision'
- case "$osname-`uname -r`" in
- hpux-?.10.*) asmarch=$arch ;;
- esac ;;
- alpha) asmarch=$arch; pretty=Alpha ;;
- ppc) asmarch=$arch; pretty='Power PC' ;;
- arm*) asmarch=none; pretty=$arch ;;
- mips) asmarch=none; pretty=MIPS ;;
- sh3) asmarch=none; pretty=SH-3 ;;
- sh5) asmarch=none; pretty=SH-5 ;;
- vax) asmarch=none; pretty=VAX ;;
- fx2800) asmarch=none; pretty='Alliant FX/2800' ;;
- s390) asmarch=none; pretty='S/390' ;;
- none) asmarch=none; pretty=unknown ;;
- *) asmarch=none; pretty=$arch
- echo " Warning ! architecture $arch not tested";;
-esac
-
-#
-# Modifications for pretty name and asm file
-#
-pretty="$pretty running $osname"
-
-tmp_kern=auto-none
-if test -n "$kernel"; then
- tmp_kern=$kernel
-else
- if test "$fastread" != yes; then
- cat << EOM
-==========================================================================
-An optimized Pari kernel is available for these architectures
-("none" means that we will use the portable C version of GP/PARI)
-("-gmp" means we will use the GMP library (that needs to be installed))
-EOM
- rep='none sparcv7 sparcv8_super sparcv8_micro ix86 alpha hppa ppc
- none-gmp sparcv7-gmp sparcv8_super-gmp sparcv8_micro-gmp ix86-gmp alpha-gmp hppa-gmp ppc-gmp'
- . ./display
- echo $n ..."Which of these apply, if any ? $c"
- dflt=$asmarch; . ./myread;
- tmp_kern=$ans
- cat << EOM
-==========================================================================
-EOM
- fi
-fi
-tmp_kern=`./kernel-name $tmp_kern $asmarch none`
-kernlvl0=`echo "$tmp_kern" | sed -e 's/\(.*\)-.*/\1/'`
-kernlvl1=`echo "$tmp_kern" | sed -e 's/.*-\(.*\)/\1/'`
-
-case "$kernlvl0" in
- none) prettyk="portable C";;
- sparcv7) prettyk=SparcV7;;
- sparcv8_super) prettyk=SuperSparc;;
- sparcv8_micro) prettyk=MicroSparc;;
- ix86) prettyk=ix86;;
- ia64) prettyk=ia64;;
- hppa) prettyk=HPPA;;
- alpha) prettyk=Alpha;;
- ppc) prettyk=PPC;;
- *) prettyk="$kernlvl0";;
-esac
-
-case "$kernlvl1" in
- gmp) prettyk="$prettyk/GMP";;
- none) ;;
- *) prettyk="$prettyk/$kernlvl1";;
-esac
-
-pretty="$pretty ($prettyk kernel)"
-echo "Building for architecture: $pretty"
Index: config/get_double_format
===================================================================
RCS file: /home/cvs/pari/config/get_double_format,v
retrieving revision 1.3
diff -u -r1.3 get_double_format
--- config/get_double_format 4 Feb 2003 20:50:07 -0000 1.3
+++ config/get_double_format 20 May 2004 15:22:11 -0000
@@ -11,8 +11,8 @@
echo "***************************************************************"
echo "Your 'double' type does not follow the IEEE754 format. Aborting"
echo "PLEASE REPORT! (dbltor/rtodbl need to be fixed)"; exit 1;;
- -) sizeof_long=8; pretty="$pretty 64-bit version";;
- *) sizeof_long=4; pretty="$pretty 32-bit version";;
+ -) sizeof_long=8;;
+ *) sizeof_long=4;;
esac
echo "Given the previous choices, sizeof(long) is $sizeof_long chars."
--- /dev/null Wed Jul 2 16:24:28 2003
+++ config/get_kernel Thu May 20 17:26:46 2004
@@ -0,0 +1,95 @@
+# Testing Architectures. Try uname to provide a default, then ask user.
+#
+case "$arch" in
+ sparc) asmarch=sparcv8_micro; pretty=Sparc ;;
+ sparcv7) asmarch=$arch; pretty=SparcV7 ;;
+ sparcv8_micro) asmarch=$arch; pretty=MicroSparc ;;
+ sparcv8_super) asmarch=$arch; pretty=SuperSparc ;;
+ sparcv9) case "$sizeof_long" in
+ 4) asmarch=sparcv8_micro;;
+ 8) asmarch=none;;
+ esac; pretty=UltraSparc ;;
+ i?86) asmarch=ix86 ; pretty=$arch ;;
+ x86_64) case "$sizeof_long" in
+ 4) asmarch=ix86;;
+ 8) asmarch=none;;
+ esac; pretty=$arch ;;
+ ia64) asmarch=ia64 ; pretty=Itanium ;;
+ hppa) asmarch=none ; pretty='HP Precision'
+ case "$osname-`uname -r`" in
+ hpux-?.10.*) asmarch=$arch ;;
+ esac ;;
+ alpha) asmarch=$arch; pretty=Alpha ;;
+ ppc) case "$sizeof_long" in
+ 4) asmarch=$arch;;
+ 8) asmarch=none;;
+ esac; pretty='Power PC' ;;
+ arm*) asmarch=none; pretty=$arch ;;
+ mips) asmarch=none; pretty=MIPS ;;
+ sh3) asmarch=none; pretty=SH-3 ;;
+ sh5) asmarch=none; pretty=SH-5 ;;
+ vax) asmarch=none; pretty=VAX ;;
+ fx2800) asmarch=none; pretty='Alliant FX/2800' ;;
+ s390) asmarch=none; pretty='S/390' ;;
+ none) asmarch=none; pretty=unknown ;;
+ *) asmarch=none; pretty=$arch
+ echo " Warning ! architecture $arch not tested";;
+esac
+
+#
+# Modifications for pretty name and asm file
+#
+pretty="$pretty running $osname"
+
+tmp_kern=auto-none
+if test -n "$kernel"; then
+ tmp_kern=$kernel
+else
+ if test "$fastread" != yes; then
+ cat << EOM
+An optimized Pari kernel is available for these architectures
+("none" means that we will use the portable C version of GP/PARI)
+("-gmp" means we will use the GMP library (that needs to be installed))
+EOM
+ rep='none sparcv7 sparcv8_super sparcv8_micro ix86 alpha hppa ppc
+ none-gmp sparcv7-gmp sparcv8_super-gmp sparcv8_micro-gmp ix86-gmp alpha-gmp hppa-gmp ppc-gmp'
+ . ./display
+ echo $n ..."Which of these apply, if any ? $c"
+ dflt=$asmarch; . ./myread;
+ tmp_kern=$ans
+ cat << EOM
+==========================================================================
+EOM
+ fi
+fi
+tmp_kern=`./kernel-name $tmp_kern $asmarch none`
+kernlvl0=`echo "$tmp_kern" | sed -e 's/\(.*\)-.*/\1/'`
+kernlvl1=`echo "$tmp_kern" | sed -e 's/.*-\(.*\)/\1/'`
+
+case "$kernlvl0" in
+ none) prettyk="portable C";;
+ sparcv7) prettyk=SparcV7;;
+ sparcv8_super) prettyk=SuperSparc;;
+ sparcv8_micro) prettyk=MicroSparc;;
+ ix86) prettyk=ix86;;
+ ia64) prettyk=ia64;;
+ hppa) prettyk=HPPA;;
+ alpha) prettyk=Alpha;;
+ ppc) prettyk=PPC;;
+ *) prettyk="$kernlvl0";;
+esac
+
+case "$kernlvl1" in
+ gmp) prettyk="$prettyk/GMP";;
+ none) ;;
+ *) prettyk="$prettyk/$kernlvl1";;
+esac
+
+case "$sizeof_long" in
+ 4) pretty="$pretty ($prettyk kernel) 32-bit version";;
+ 8) pretty="$pretty ($prettyk kernel) 64-bit version";;
+esac;
+echo "Building for architecture: $pretty"
+cat << EOM
+==========================================================================
+EOM