release 0.2.9
[gnupg.git] / mpi / config.links
1 # sourced my ../configure to get the list of files to link
2 # this should set $mpi_ln_src and mpi_ln_dst.
3 # Note: this is called from the above directory.
4
5
6 mpi_extra_modules=
7
8 test -d ./mpi || mkdir ./mpi
9
10 echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
11
12 case "${target}" in
13     i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | i[34]86*-*-*bsd*)
14         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
15         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
16         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
17         path="i386"
18         ;;
19     i[56]86*-*-linuxaout* | i[56]86*-*-linuxoldld* | i[56]86*-*-*bsd*)
20         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
21         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
22         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
23         path="i586 i386"
24         ;;
25     i[34]86*-*-*)
26         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
27         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
28         path="i386"
29         ;;
30     i[56]86*-*-* | pentium-*-* | pentiumpro-*-*)
31         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
32         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
33         path="i586 i386"
34         ;;
35     alpha*-*-*)
36         echo '/* configured for alpha */' >>./mpi/asm-syntax.h
37         path="alpha"
38         mpi_extra_modules="udiv-qrnnd"
39         ;;
40     hppa7000*-*-*)
41         echo '/* configured for HPPA (pa7000) */' >>./mpi/asm-syntax.h
42         path="hppa1.1 hppa"
43         mpi_extra_modules="udiv-qrnnd"
44         ;;
45     hppa1.0*-*-*)
46         echo '/* configured for HPPA 1.0 */' >>./mpi/asm-syntax.h
47         path="hppa"
48         mpi_extra_modules="udiv-qrnnd"
49         ;;
50     hppa*-*-*)  # assume pa7100
51         echo '/* configured for HPPA (pa7100) */' >>./mpi/asm-syntax.h
52         path="pa7100 hppa1.1 hppa"
53         mpi_extra_modules="udiv-qrnnd"
54         ;;
55     sparc9*-*-* | sparc64*-*-* | ultrasparc*-*-*)
56         echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
57         path="sparc32v8 sparc32"
58         ;;
59     sparc8*-*-* | microsparc*-*-*)
60         echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
61         path="sparc32v8"
62         ;;
63     supersparc*-*-*)
64         echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
65         path="supersparc sparc32v8 sparc32"
66         mpi_extra_modules="udiv"
67         ;;
68     sparc*-*-*)
69         echo '/* configured for sparc */' >>./mpi/asm-syntax.h
70         path="sparc32"
71         mpi_extra_modules="udiv"
72         ;;
73
74     # Motorola 68k configurations.  Let m68k mean 68020-68040.
75     # mc68000 or mc68060 configurations need to be specified explicitly
76     m680[234]0*-*-linuxaout* | m68k*-*-linuxaout*)
77         echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
78         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
79         path="m68k/mc68020 m68k"
80         ;;
81     m68060*-*-linuxaout*)
82         echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
83         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
84         path="m68k"
85         ;;
86     m680[234]0*-*-linux* | m68k*-*-linux*)
87         echo '#define ELF_SYNTAX'            >./mpi/asm-syntax.h
88         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
89         path="m68k/mc68020 m68k"
90         ;;
91     m68060*-*-linux*)
92         echo '#define ELF_SYNTAX'            >./mpi/asm-syntax.h
93         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
94         path="m68k"
95         ;;
96     m68000*-*-* | m68060*-*-*)
97         echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
98         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
99         path="m68k/mc68000"
100         ;;
101     m680[234]0*-*-* | m68k*-*-*)
102         echo '#define MIT_SYNTAX'            >./mpi/asm-syntax.h
103         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
104         path="m68k/mc68020 m68k"
105         ;;
106     *)
107         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
108         path=""
109         ;;
110 esac
111
112
113 case "${target}" in
114     *-*-linuxaout* | *-*-linuxoldld*)
115         needs_underscore="y"
116         ;;
117     *-*-linux* | *-sysv* | *-solaris* | *-gnu*)
118         needs_underscore="n"
119         ;;
120     *)
121         needs_underscore="y"
122         ;;
123 esac
124
125
126 # Make sysdep.h
127 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
128 if test "$needs_underscore" = "y" ; then
129     cat <<EOF >>./mpi/sysdep.h
130 #if __STDC__
131 #define C_SYMBOL_NAME(name) _##name
132 #else
133 #define C_SYMBOL_NAME(name) _/**/name
134 #endif
135 EOF
136 else
137     cat <<EOF >>./mpi/sysdep.h
138 #define C_SYMBOL_NAME(name) name
139 EOF
140 fi
141
142
143 # fixme: grep these modules from Makefile.in
144 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
145                  mpih-shift mpih-sub1"
146
147 mpi_ln_objects=
148 mpi_ln_src=
149 mpi_ln_dst=
150
151 # try to get file to link from the assembler subdirectory and
152 # if this fails get it from the generic subdirectory.
153 path="$path generic"
154 for fn in $mpi_ln_modules ; do
155     mpi_ln_objects="$mpi_ln_objects $fn.o"
156     for dir in $path ; do
157         rm -f $srcdir/mpi/$fn.[Sc]
158         if test -f $srcdir/mpi/$dir/$fn.S ; then
159             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
160             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
161             break;
162         elif test -f $srcdir/mpi/$dir/$fn.c ; then
163             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
164             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
165             break;
166         fi
167     done
168 done
169