See ChangeLog: Tue Dec 8 13:15:16 CET 1998 Werner Koch
[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 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 | i[34]86*-*-freebsd3*)
16        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
17        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
18        path="i386"
19        ;;
20     i[56]86*-*-freebsd*-elf | i[56]86*-*-freebsd3*)
21        echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
22        cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
23        path="i586 i386"
24        ;;
25     i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | i[34]86*-*-*bsd*)
26         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
27         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
28         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
29         path="i386"
30         ;;
31     i[56]86*-*-linuxaout* | i[56]86*-*-linuxoldld* | i[56]86*-*-*bsd*)
32         echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
33         echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
34         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
35         path="i586 i386"
36         ;;
37     i[34]86*-*-*)
38         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
39         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
40         path="i386"
41         ;;
42     i[56]86*-*-* | pentium-*-* | pentiumpro-*-*)
43         echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
44         cat  $srcdir/mpi/i386/syntax.h      >>./mpi/asm-syntax.h
45         path="i586 i386"
46         ;;
47     alpha*-*-*)
48         echo '/* configured for alpha */' >>./mpi/asm-syntax.h
49         path="alpha"
50         mpi_extra_modules="udiv-qrnnd"
51         ;;
52     hppa7000*-*-*)
53         echo '/* configured for HPPA (pa7000) */' >>./mpi/asm-syntax.h
54         path="hppa1.1 hppa"
55         mpi_extra_modules="udiv-qrnnd"
56         ;;
57     hppa1.0*-*-*)
58         echo '/* configured for HPPA 1.0 */' >>./mpi/asm-syntax.h
59         path="hppa"
60         mpi_extra_modules="udiv-qrnnd"
61         ;;
62     hppa*-*-*)  # assume pa7100
63         echo '/* configured for HPPA (pa7100) */' >>./mpi/asm-syntax.h
64         path="pa7100 hppa1.1 hppa"
65         mpi_extra_modules="udiv-qrnnd"
66         ;;
67     sparc9*-*-* | sparc64*-*-* | ultrasparc*-*-*)
68         echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
69         path="sparc32v8 sparc32"
70         ;;
71     sparc8*-*-* | microsparc*-*-*)
72         echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
73         path="sparc32v8"
74         ;;
75     supersparc*-*-*)
76         echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
77         path="supersparc sparc32v8 sparc32"
78         mpi_extra_modules="udiv"
79         ;;
80     sparc*-*-*)
81         echo '/* configured for sparc */' >>./mpi/asm-syntax.h
82         path="sparc32"
83         mpi_extra_modules="udiv"
84         ;;
85     mips[34]*-*-* | mips*-*-irix6*)
86        echo '/* configured for MIPS3 */' >>./mpi/asm-syntax.h
87        path="mips3"
88        ;;
89     mips*-*-*)
90        echo '/* configured for MIPS2 */' >>./mpi/asm-syntax.h
91        path="mips2"
92        ;;
93
94     # Motorola 68k configurations.  Let m68k mean 68020-68040.
95     # mc68000 or mc68060 configurations need to be specified explicitly
96     m680[234]0*-*-linuxaout* | m68k*-*-linuxaout*)
97         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
98         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
99         path="m68k/mc68020 m68k"
100         ;;
101     m68060*-*-linuxaout*)
102         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
103         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
104         path="m68k"
105         ;;
106     m680[234]0*-*-linux* | m68k*-*-linux*)
107         echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
108         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
109         path="m68k/mc68020 m68k"
110         ;;
111     m68060*-*-linux*)
112         echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
113         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
114         path="m68k"
115         ;;
116     m68000*-*-* | m68060*-*-*)
117         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
118         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
119         path="m68k/mc68000"
120         ;;
121     m680[234]0*-*-* | m68k*-*-*)
122         echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
123         cat  $srcdir/mpi/m68k/syntax.h      >>./mpi/asm-syntax.h
124         path="m68k/mc68020 m68k"
125         ;;
126
127     powerpc*-*-linux*)
128         echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
129         echo '#define ELF_SYNTAX'               >>./mpi/asm-syntax.h
130         cat   $srcdir/mpi/powerpc32/syntax.h    >>./mpi/asm-syntax.h
131         path="powerpc32"
132         ;;
133     rs6000-*-aix[456789]* | rs6000-*-aix3.2.[456789])
134         mpi_sflags="-Wa,-mpwr"
135         path="power"
136         mpi_extra_modules="udiv-w-sdiv"
137         ;;
138     rs6000-*-* | power-*-* | power2-*-*)
139         mpi_sflags="-Wa,-mppc"
140         path="power"
141         mpi_extra_modules="udiv-w-sdiv"
142         ;;
143     ppc601-*-*)
144         mpi_sflags="-Wa,-mppc"
145         path="power powerpc32"
146         ;;
147     ppc60[234]*-*-* | powerpc*-*-*)
148         mpi_sflags="-Wa,-mppc"
149         path="powerpc32"
150         ;;
151     ppc620-*-* | powerpc64*-*-*)
152         mpi_sflags="-Wa,-mppc"
153         path="powerpc64"
154         ;;
155
156     *)
157         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
158         path=""
159         ;;
160 esac
161 else
162     echo '/* Assembler modules disabled on request */' >>./mpi/asm-syntax.h
163     path=""
164 fi
165
166
167 case "${target}" in
168     *-*-linuxaout* | *-*-linuxoldld* | *-*-linux-gnuoldld*)
169         needs_underscore="y"
170         ;;
171     *-*-linux* | *-sysv* | *-solaris* | *-gnu* | *-freebsd*-elf)
172         needs_underscore="n"
173         ;;
174     *)
175         needs_underscore="y"
176         ;;
177 esac
178
179
180 # Make sysdep.h
181 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
182 if test "$needs_underscore" = "y" ; then
183     cat <<EOF >>./mpi/sysdep.h
184 #if __STDC__
185 #define C_SYMBOL_NAME(name) _##name
186 #else
187 #define C_SYMBOL_NAME(name) _/**/name
188 #endif
189 EOF
190 else
191     cat <<EOF >>./mpi/sysdep.h
192 #define C_SYMBOL_NAME(name) name
193 EOF
194 fi
195
196
197 # fixme: grep these modules from Makefile.in
198 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
199                  mpih-lshift mpih-rshift mpih-sub1"
200
201 mpi_ln_objects=
202 mpi_ln_src=
203 mpi_ln_dst=
204
205 # try to get file to link from the assembler subdirectory and
206 # if this fails get it from the generic subdirectory.
207 path="$path generic"
208 for fn in $mpi_ln_modules ; do
209     mpi_ln_objects="$mpi_ln_objects $fn.o"
210     for dir in $path ; do
211         rm -f $srcdir/mpi/$fn.[Sc]
212         if test -f $srcdir/mpi/$dir/$fn.S ; then
213             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
214             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
215             break;
216         elif test -f $srcdir/mpi/$dir/$fn.c ; then
217             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
218             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
219             break;
220         fi
221     done
222 done
223