See ChangeLog: Mon Jul 17 16:35:47 CEST 2000 Werner Koch
[gnupg.git] / mpi / config.links
1 # sourced by ../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 mpi_sflags=
8
9 test -d ./mpi || mkdir ./mpi
10
11 echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
12
13 if test "$try_asm_modules" = "yes" ; then
14 case "${target}" in
15     i[34]86*-*-freebsd*-elf  | \
16     i[34]86*-*-freebsd[3-9]* | \
17     i[34]86*-*-freebsdelf*   | \
18     i[34]86*-*-netbsd* )
19        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
20        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
21        path="i386"
22        ;;
23     i[56]86*-*-freebsd*-elf  | \
24     i[56]86*-*-freebsd[3-9]* | \
25     i[56]86*-*-freebsdelf*   | \
26     i[56]86*-*-netbsd*       | \
27     pentium-*-netbsd*        | \
28     pentiumpro-*-netbsd*)
29        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
30        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
31        path="i586 i386"
32        ;;
33     i[34]86*-*-bsdi4*)
34        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
35        cat  $srcdir/mpi/i386/syntax.h    >>./mpi/asm-syntax.h
36        path="i386"
37        ;;
38     i[34]86*-*-linuxaout*  | \
39     i[34]86*-*-linuxoldld* | \
40     i[34]86*-*-*bsd*)
41         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
42         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
43         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
44         path="i386"
45         ;;
46     i[56]86*-*-linuxaout*  | \
47     i[56]86*-*-linuxoldld* | \
48     i[56]86*-*-*bsd*)
49         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
50         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
51         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
52         path="i586 i386"
53         ;;
54     i[34]86*-msdosdjgpp*)
55         echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
56         cat  $srcdir/mpi/i386/syntax.h   >>./mpi/asm-syntax.h
57         path="i386"
58         ;;
59     i[56]86*-msdosdjgpp*)
60         echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
61         cat  $srcdir/mpi/i386/syntax.h   >>./mpi/asm-syntax.h
62         path="i586 i386"
63         ;;
64     i[34]86*-*-*)
65         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
66         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
67         path="i386"
68         ;;
69     i[56]86*-*-*  | \
70     pentium-*-*   | \
71     pentiumpro-*-*)
72         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
73         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
74         path="i586 i386"
75         ;;
76     alpha*-*-*)
77         echo '/* configured for alpha */' >>./mpi/asm-syntax.h
78         path="alpha"
79         mpi_extra_modules="udiv-qrnnd"
80         ;;
81     hppa7000*-*-*)
82         echo '/* configured for HPPA (pa7000) */' >>./mpi/asm-syntax.h
83         path="hppa1.1 hppa"
84         mpi_extra_modules="udiv-qrnnd"
85         ;;
86     hppa1.0*-*-*)
87         echo '/* configured for HPPA 1.0 */' >>./mpi/asm-syntax.h
88         path="hppa"
89         mpi_extra_modules="udiv-qrnnd"
90         ;;
91     hppa*-*-*)  # assume pa7100
92         echo '/* configured for HPPA (pa7100) */' >>./mpi/asm-syntax.h
93         path="pa7100 hppa1.1 hppa"
94         mpi_extra_modules="udiv-qrnnd"
95         ;;
96     sparc64-*-linux-gnu)
97         # An extra rule because we have an report for this one only.
98         # Should be compared against the next GMP version
99         echo '/* configured for sparc64-*-linux-gnu */' >>./mpi/asm-syntax.h
100         path="sparc32v8 sparc32"
101         mpi_extra_modules="udiv"
102         ;;
103     sparc9*-*-*     | \
104     sparc64*-*-*    | \
105     ultrasparc*-*-* )
106         echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
107         path="sparc32v8 sparc32"
108         ;;
109     sparc8*-*-*     | \
110     microsparc*-*-*)
111         echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
112         path="sparc32v8 sparc32"
113         ;;
114     supersparc*-*-*)
115         echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
116         path="supersparc sparc32v8 sparc32"
117         mpi_extra_modules="udiv"
118         ;;
119     sparc*-*-*)
120         echo '/* configured for sparc */' >>./mpi/asm-syntax.h
121         path="sparc32"
122         mpi_extra_modules="udiv"
123         ;;
124     mips[34]*-*-* | \
125     mips*-*-irix6*)
126        echo '/* configured for MIPS3 */' >>./mpi/asm-syntax.h
127        path="mips3"
128        ;;
129     mips*-*-*)
130        echo '/* configured for MIPS2 */' >>./mpi/asm-syntax.h
131        path="mips2"
132        ;;
133
134     # Motorola 68k configurations.  Let m68k mean 68020-68040.
135     # mc68000 or mc68060 configurations need to be specified explicitly
136     m680[234]0*-*-linuxaout* | \
137     m68k*-*-linuxaout*)
138         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
139         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
140         path="m68k/mc68020 m68k"
141         ;;
142     m68060*-*-linuxaout*)
143         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
144         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
145         path="m68k"
146         ;;
147     m680[234]0*-*-linux* | \
148     m68k*-*-linux*)
149         echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
150         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
151         ;;
152     m68060*-*-linux*)
153         echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
154         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
155         path="m68k"
156         ;;
157     m68k-atari-mint)
158         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
159         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
160         path="m68k/mc68020 m68k"
161         ;;
162     m68000*-*-* | \
163     m68060*-*-*)
164         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
165         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
166         path="m68k/mc68000"
167         ;;
168     m680[234]0*-*-* | \
169     m68k*-*-*)
170         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
171         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
172         path="m68k/mc68020 m68k"
173         ;;
174
175     powerpc*-*-linux*)
176         echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
177         echo '#define ELF_SYNTAX'               >>./mpi/asm-syntax.h
178         cat   $srcdir/mpi/powerpc32/syntax.h    >>./mpi/asm-syntax.h
179         path="powerpc32"
180         ;;
181     rs6000-*-aix[456789]*    | \
182     rs6000-*-aix3.2.[456789])
183         mpi_sflags="-Wa,-mpwr"
184         path="power"
185         mpi_extra_modules="udiv-w-sdiv"
186         ;;
187     rs6000-*-* | \
188     power-*-*  | \
189     power2-*-*)
190         mpi_sflags="-Wa,-mppc"
191         path="power"
192         mpi_extra_modules="udiv-w-sdiv"
193         ;;
194     powerpc-ibm-aix4.2.* )
195         # I am not sure about this one but a machine identified by
196         # powerpc-ibm-aix4.2.1.0 cannot use the powerpc32 code.
197         mpi_sflags="-Wa,-mpwr"
198         path="power"
199         mpi_extra_modules="udiv-w-sdiv"
200         ;;
201     ppc601-*-*)
202         mpi_sflags="-Wa,-mppc"
203         path="power powerpc32"
204         ;;
205     ppc60[234]*-*-* | \
206     powerpc*-*-*)
207         mpi_sflags="-Wa,-mppc"
208         path="powerpc32"
209         ;;
210     ppc620-*-*      | \
211     powerpc64*-*-*)
212         mpi_sflags="-Wa,-mppc"
213         path="powerpc64"
214         ;;
215
216     *)
217         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
218         path=""
219         ;;
220 esac
221 else
222     echo '/* Assembler modules disabled on request */' >>./mpi/asm-syntax.h
223     path=""
224 fi
225
226
227 # Make sysdep.h
228 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
229 if test x$ac_cv_sys_symbol_underscore = xyes; then
230     cat <<EOF >>./mpi/sysdep.h
231 #if __STDC__
232 #define C_SYMBOL_NAME(name) _##name
233 #else
234 #define C_SYMBOL_NAME(name) _/**/name
235 #endif
236 EOF
237 else
238     cat <<EOF >>./mpi/sysdep.h
239 #define C_SYMBOL_NAME(name) name
240 EOF
241 fi
242
243
244 # fixme: grep these modules from Makefile.in
245 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
246                  mpih-lshift mpih-rshift mpih-sub1"
247
248 mpi_ln_objects=
249 mpi_ln_src=
250 mpi_ln_dst=
251
252 # try to get file to link from the assembler subdirectory and
253 # if this fails get it from the generic subdirectory.
254 path="$path generic"
255 for fn in $mpi_ln_modules ; do
256     mpi_ln_objects="$mpi_ln_objects $fn.o"
257     for dir in $path ; do
258         rm -f $srcdir/mpi/$fn.[Sc]
259         if test -f $srcdir/mpi/$dir/$fn.S ; then
260             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
261             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
262             break;
263         elif test -f $srcdir/mpi/$dir/$fn.c ; then
264             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
265             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
266             break;
267         fi
268     done
269 done
270