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