* configure.ac: Add an --enable-old-tiger, to revert back to the
[gnupg.git] / mpi / config.links
index 6a2cbfb..54caedb 100644 (file)
@@ -1,5 +1,24 @@
+# config.links - helper for ../configure
+# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+#
+# This file is part of GnuPG.
+#
+# GnuPG 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; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# GnuPG is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
 # sourced by ../configure to get the list of files to link
-# this should set $mpi_ln_src and mpi_ln_dst.
+# this should set $mpi_ln_list.
 # Note: this is called from the above directory.
 
 
@@ -12,18 +31,18 @@ echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
 
 if test "$try_asm_modules" = "yes" ; then
 case "${target}" in
-    i[34]86*-*-freebsd*-elf  | \
-    i[34]86*-*-freebsd[3-9]* | \
-    i[34]86*-*-freebsdelf*   | \
-    i[34]86*-*-netbsd* )
+    i[3467]86*-*-freebsd*-elf  | \
+    i[3467]86*-*-freebsd[3-9]* | \
+    i[3467]86*-*-freebsdelf*   | \
+    i[3467]86*-*-netbsd* )
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h     >>./mpi/asm-syntax.h
        path="i386"
        ;;
-    i[56]86*-*-freebsd*-elf  | \
-    i[56]86*-*-freebsd[3-9]* | \
-    i[56]86*-*-freebsdelf*   | \
-    i[56]86*-*-netbsd*      | \
+    i586*-*-freebsd*-elf  | \
+    i586*-*-freebsd[3-9]* | \
+    i586*-*-freebsdelf*   | \
+    i586*-*-netbsd*         | \
     pentium-*-netbsd*       | \
     pentiumpro-*-netbsd*)
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
@@ -35,38 +54,45 @@ case "${target}" in
        cat  $srcdir/mpi/i386/syntax.h   >>./mpi/asm-syntax.h
        path="i386"
        ;;
-    i[34]86*-*-linuxaout*  | \
-    i[34]86*-*-linuxoldld* | \
-    i[34]86*-*-*bsd*)
+# Use old assembler syntax for OpenBSD as their assembler is really old.
+    i[34567]86*-*-openbsd*)
+       echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
+       echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
+       cat  $srcdir/mpi/i386-openbsd/syntax.h      >>./mpi/asm-syntax.h
+       path="i386-openbsd"
+       ;;
+    i[3467]86*-*-linuxaout*  | \
+    i[3467]86*-*-linuxoldld* | \
+    i[3467]86*-*-*bsd*)
        echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
        echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
        path="i386"
        ;;
-    i[56]86*-*-linuxaout*  | \
-    i[56]86*-*-linuxoldld* | \
-    i[56]86*-*-*bsd*)
+    i586*-*-linuxaout*  | \
+    i586*-*-linuxoldld* | \
+    i586*-*-*bsd*)
        echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
        echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
        path="i586 i386"
        ;;
-    i[34]86*-msdosdjgpp*)
+    i[3467]86*-msdosdjgpp*)
        echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h   >>./mpi/asm-syntax.h
        path="i386"
        ;;
-    i[56]86*-msdosdjgpp*)
+    i586*-msdosdjgpp*)
        echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h   >>./mpi/asm-syntax.h
        path="i586 i386"
        ;;
-    i[34]86*-*-*)
+    i[3467]86*-*-*)
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
        path="i386"
        ;;
-    i[56]86*-*-*  | \
+    i586*-*-*  | \
     pentium-*-*   | \
     pentiumpro-*-*)
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
@@ -100,6 +126,18 @@ case "${target}" in
        path="sparc32v8 sparc32"
        mpi_extra_modules="udiv"
        ;;
+    sparc64-sun-solaris2*)
+       # Got a report that udiv is missing, so we try this one
+       echo '/* configured for sparc64-sun-solaris2 */' >>./mpi/asm-syntax.h
+       path="sparc32v8 sparc32"
+       mpi_extra_modules="udiv"
+        ;;
+    sparc64-*-netbsd)
+       # There are no sparc64 assembler modules that work, so
+       # just use generic C functions
+       echo '/* configured for sparc64-*netbsd */' >>./mpi/asm-syntax.h
+       path=""
+       ;;
     sparc9*-*-*     | \
     sparc64*-*-*    | \
     ultrasparc*-*-* )
@@ -178,6 +216,15 @@ case "${target}" in
        cat   $srcdir/mpi/powerpc32/syntax.h    >>./mpi/asm-syntax.h
        path="powerpc32"
        ;;
+
+    powerpc*-*-netbsd* | powerpc*-*-openbsd*)
+       echo '/* configured {Open,Net}BSD on powerpc */' >>./mpi/asm-syntax.h
+       echo '#define ELF_SYNTAX'                 >>./mpi/asm-syntax.h
+       cat   $srcdir/mpi/powerpc32/syntax.h     >>./mpi/asm-syntax.h
+       mpi_sflags="-Wa,-mppc"
+       path="powerpc32"
+       ;;
+
     rs6000-*-aix[456789]*    | \
     rs6000-*-aix3.2.[456789])
        mpi_sflags="-Wa,-mpwr"
@@ -246,8 +293,7 @@ mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
                 mpih-lshift mpih-rshift mpih-sub1"
 
 mpi_ln_objects=
-mpi_ln_src=
-mpi_ln_dst=
+mpi_ln_list=
 
 # try to get file to link from the assembler subdirectory and
 # if this fails get it from the generic subdirectory.
@@ -257,14 +303,21 @@ for fn in $mpi_ln_modules ; do
     for dir in $path ; do
        rm -f $srcdir/mpi/$fn.[Sc]
        if test -f $srcdir/mpi/$dir/$fn.S ; then
-           mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
-           mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
+            mpi_ln_list="$mpi_ln_list mpi/$fn.S:mpi/$dir/$fn.S"
            break;
        elif test -f $srcdir/mpi/$dir/$fn.c ; then
-           mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
-           mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
+            mpi_ln_list="$mpi_ln_list mpi/$fn.c:mpi/$dir/$fn.c"
            break;
        fi
     done
 done
 
+# Same thing for the file which defines the limb size
+path="$path generic"
+for dir in $path ; do
+    rm -f $srcdir/mpi/mpi-asm-defs.h
+    if test -f $srcdir/mpi/$dir/mpi-asm-defs.h ; then
+        mpi_ln_list="$mpi_ln_list mpi/mpi-asm-defs.h:mpi/$dir/mpi-asm-defs.h"
+        break;
+    fi
+done