Ready for version 0.4.4
[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     rs6000-*-aix[456789]* | rs6000-*-aix3.2.[456789])
128         mpi_sflags="-Wa,-mpwr"
129         path="power"
130         mpi_extra_modules="udiv-w-sdiv"
131         ;;
132     rs6000-*-* | power-*-* | power2-*-*)
133         mpi_sflags="-Wa,-mppc"
134         path="power"
135         mpi_extra_modules="udiv-w-sdiv"
136         ;;
137     ppc601-*-*)
138         mpi_sflags="-Wa,-mppc"
139         path="power powerpc32"
140         ;;
141     ppc60[234]*-*-* | powerpc*-*-*)
142         mpi_sflags="-Wa,-mppc"
143         path="powerpc32"
144         ;;
145     ppc620-*-* | powerpc64*-*-*)
146         mpi_sflags="-Wa,-mppc"
147         path="powerpc64"
148         ;;
149
150     *)
151         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
152         path=""
153         ;;
154 esac
155 else
156     echo '/* Assembler modules disabled on request */' >>./mpi/asm-syntax.h
157     path=""
158 fi
159
160
161 case "${target}" in
162     *-*-linuxaout* | *-*-linuxoldld* | *-*-linux-gnuoldld*)
163         needs_underscore="y"
164         ;;
165     *-*-linux* | *-sysv* | *-solaris* | *-gnu* | *-freebsd*-elf)
166         needs_underscore="n"
167         ;;
168     *)
169         needs_underscore="y"
170         ;;
171 esac
172
173
174 # Make sysdep.h
175 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
176 if test "$needs_underscore" = "y" ; then
177     cat <<EOF >>./mpi/sysdep.h
178 #if __STDC__
179 #define C_SYMBOL_NAME(name) _##name
180 #else
181 #define C_SYMBOL_NAME(name) _/**/name
182 #endif
183 EOF
184 else
185     cat <<EOF >>./mpi/sysdep.h
186 #define C_SYMBOL_NAME(name) name
187 EOF
188 fi
189
190
191 # fixme: grep these modules from Makefile.in
192 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
193                  mpih-lshift mpih-rshift mpih-sub1"
194
195 mpi_ln_objects=
196 mpi_ln_src=
197 mpi_ln_dst=
198
199 # try to get file to link from the assembler subdirectory and
200 # if this fails get it from the generic subdirectory.
201 path="$path generic"
202 for fn in $mpi_ln_modules ; do
203     mpi_ln_objects="$mpi_ln_objects $fn.o"
204     for dir in $path ; do
205         rm -f $srcdir/mpi/$fn.[Sc]
206         if test -f $srcdir/mpi/$dir/$fn.S ; then
207             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
208             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
209             break;
210         elif test -f $srcdir/mpi/$dir/$fn.c ; then
211             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
212             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
213             break;
214         fi
215     done
216 done
217