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