Rewrote the transform function
[libgcrypt.git] / mpi / config.links
index e48cf7a..6533177 100644 (file)
 # this should set $mpi_ln_src and mpi_ln_dst.
 # Note: this is called from the above directory.
 
-echo '# created by config.links - do not edit' >./mpi/asm-syntax.h
+
+mpi_extra_modules=
+
+test -d ./mpi || mkdir ./mpi
+
+echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
 
 case "${target}" in
-    i[3456]86*-*-*)
+    i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | i[34]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*)
+       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*-*-*)
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
-       echo '#include "./i386/syntax.h"' >>./mpi/asm-syntax.h
+       cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
        path="i386"
        ;;
     i[56]86*-*-* | pentium-*-* | pentiumpro-*-*)
        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
-       echo '#include "./i586/syntax.h"' >>./mpi/asm-syntax.h
-       path="i586"
+       cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
+       path="i586 i386"
+       ;;
+    alpha*-*-*)
+       echo '/* configured for alpha */' >>./mpi/asm-syntax.h
+       path="alpha"
+       mpi_extra_modules="udiv-qrnnd"
+       ;;
+    hppa7000*-*-*)
+       echo '/* configured for HPPA (pa7000) */' >>./mpi/asm-syntax.h
+       path="hppa1.1 hppa"
+       mpi_extra_modules="udiv-qrnnd"
+       ;;
+    hppa1.0*-*-*)
+       echo '/* configured for HPPA 1.0 */' >>./mpi/asm-syntax.h
+       path="hppa"
+       mpi_extra_modules="udiv-qrnnd"
+       ;;
+    hppa*-*-*) # assume pa7100
+       echo '/* configured for HPPA (pa7100) */' >>./mpi/asm-syntax.h
+       path="pa7100 hppa1.1 hppa"
+       mpi_extra_modules="udiv-qrnnd"
+       ;;
+    sparc9*-*-* | sparc64*-*-* | ultrasparc*-*-*)
+       echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
+       path="sparc32v8 sparc32"
+       ;;
+    sparc8*-*-* | microsparc*-*-*)
+       echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
+       path="sparc32v8"
+       ;;
+    supersparc*-*-*)
+       echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
+       path="supersparc sparc32v8 sparc32"
+       mpi_extra_modules="udiv"
+       ;;
+    sparc*-*-*)
+       echo '/* configured for sparc */' >>./mpi/asm-syntax.h
+       path="sparc32"
+       mpi_extra_modules="udiv"
+       ;;
+
+    # Motorola 68k configurations.  Let m68k mean 68020-68040.
+    # mc68000 or mc68060 configurations need to be specified explicitly
+    m680[234]0*-*-linuxaout* | m68k*-*-linuxaout*)
+       echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k/mc68020 m68k"
+       ;;
+    m68060*-*-linuxaout*)
+       echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k"
+       ;;
+    m680[234]0*-*-linux* | m68k*-*-linux*)
+       echo '#define ELF_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k/mc68020 m68k"
+       ;;
+    m68060*-*-linux*)
+       echo '#define ELF_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k"
+       ;;
+    m68000*-*-* | m68060*-*-*)
+       echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k/mc68000"
+       ;;
+    m680[234]0*-*-* | m68k*-*-*)
+       echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
+       cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
+       path="m68k/mc68020 m68k"
        ;;
     *)
        echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
@@ -22,8 +110,38 @@ case "${target}" in
 esac
 
 
+case "${target}" in
+    *-*-linuxaout* | *-*-linuxoldld*)
+       needs_underscore="y"
+       ;;
+    *-*-linux* | *-sysv* | *-solaris* | *-gnu*)
+       needs_underscore="n"
+       ;;
+    *)
+       needs_underscore="y"
+       ;;
+esac
+
+
+# Make sysdep.h
+echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
+if test "$needs_underscore" = "y" ; then
+    cat <<EOF >>./mpi/sysdep.h
+#if __STDC__
+#define C_SYMBOL_NAME(name) _##name
+#else
+#define C_SYMBOL_NAME(name) _/**/name
+#endif
+EOF
+else
+    cat <<EOF >>./mpi/sysdep.h
+#define C_SYMBOL_NAME(name) name
+EOF
+fi
+
+
 # fixme: grep these modules from Makefile.in
-mpi_ln_modules="mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
+mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
                 mpih-shift mpih-sub1"
 
 mpi_ln_objects=
@@ -36,12 +154,12 @@ path="$path generic"
 for fn in $mpi_ln_modules ; do
     mpi_ln_objects="$mpi_ln_objects $fn.o"
     for dir in $path ; do
-       rm -f ./mpi/$fn.[Sc]
-       if test -f ./mpi/$dir/$fn.S ; then
+       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"
            break;
-       elif test -f ./mpi/$dir/$fn.c ; then
+       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"
            break;