See ChangeLog: Tue Jul 25 17:44:15 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
182     powerpc*-*-netbsd*)
183        echo '/* configured NetBSD on powerpc */' >>./mpi/asm-syntax.h
184        echo '#define ELF_SYNTAX'                 >>./mpi/asm-syntax.h
185        cat   $srcdir/mpi/powerpc32/syntax.h      >>./mpi/asm-syntax.h
186        mpi_sflags="-Wa,-mppc"
187        path="powerpc32"
188        ;;
189
190
191     rs6000-*-aix[456789]*    | \
192     rs6000-*-aix3.2.[456789])
193         mpi_sflags="-Wa,-mpwr"
194         path="power"
195         mpi_extra_modules="udiv-w-sdiv"
196         ;;
197     rs6000-*-* | \
198     power-*-*  | \
199     power2-*-*)
200         mpi_sflags="-Wa,-mppc"
201         path="power"
202         mpi_extra_modules="udiv-w-sdiv"
203         ;;
204     powerpc-ibm-aix4.2.* )
205         # I am not sure about this one but a machine identified by
206         # powerpc-ibm-aix4.2.1.0 cannot use the powerpc32 code.
207         mpi_sflags="-Wa,-mpwr"
208         path="power"
209         mpi_extra_modules="udiv-w-sdiv"
210         ;;
211     ppc601-*-*)
212         mpi_sflags="-Wa,-mppc"
213         path="power powerpc32"
214         ;;
215     ppc60[234]*-*-* | \
216     powerpc*-*-*)
217         mpi_sflags="-Wa,-mppc"
218         path="powerpc32"
219         ;;
220     ppc620-*-*      | \
221     powerpc64*-*-*)
222         mpi_sflags="-Wa,-mppc"
223         path="powerpc64"
224         ;;
225
226     *)
227         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
228         path=""
229         ;;
230 esac
231 else
232     echo '/* Assembler modules disabled on request */' >>./mpi/asm-syntax.h
233     path=""
234 fi
235
236
237 # Make sysdep.h
238 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
239 if test x$ac_cv_sys_symbol_underscore = xyes; then
240     cat <<EOF >>./mpi/sysdep.h
241 #if __STDC__
242 #define C_SYMBOL_NAME(name) _##name
243 #else
244 #define C_SYMBOL_NAME(name) _/**/name
245 #endif
246 EOF
247 else
248     cat <<EOF >>./mpi/sysdep.h
249 #define C_SYMBOL_NAME(name) name
250 EOF
251 fi
252
253
254 # fixme: grep these modules from Makefile.in
255 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
256                  mpih-lshift mpih-rshift mpih-sub1"
257
258 mpi_ln_objects=
259 mpi_ln_src=
260 mpi_ln_dst=
261
262 # try to get file to link from the assembler subdirectory and
263 # if this fails get it from the generic subdirectory.
264 path="$path generic"
265 for fn in $mpi_ln_modules ; do
266     mpi_ln_objects="$mpi_ln_objects $fn.o"
267     for dir in $path ; do
268         rm -f $srcdir/mpi/$fn.[Sc]
269         if test -f $srcdir/mpi/$dir/$fn.S ; then
270             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
271             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
272             break;
273         elif test -f $srcdir/mpi/$dir/$fn.c ; then
274             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
275             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
276             break;
277         fi
278     done
279 done
280