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