VPATH stuff works
[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[345]86*-*-linuxaout* | i[345]86*-*-linuxoldld* | i[345]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[3456]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/i586/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         echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
73         path=""
74         ;;
75 esac
76
77
78 case "${target}" in
79     *-*-linuxaout* | *-*-linuxoldld*)
80         needs_underscore="y"
81         ;;
82     *-*-linux* | *-sysv* | *-solaris* | *-gnu*)
83         needs_underscore="n"
84         ;;
85     *)
86         needs_underscore="y"
87         ;;
88 esac
89
90
91 # Make sysdep.h
92 echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
93 if test "$needs_underscore" = "y" ; then
94     cat <<EOF >>./mpi/sysdep.h
95 #if __STDC__
96 #define C_SYMBOL_NAME(name) _##name
97 #else
98 #define C_SYMBOL_NAME(name) _/**/name
99 #endif
100 EOF
101 else
102     cat <<EOF >>./mpi/sysdep.h
103 #define C_SYMBOL_NAME(name) name
104 EOF
105 fi
106
107
108 # fixme: grep these modules from Makefile.in
109 mpi_ln_modules="${mpi_extra_modules} mpih-add1 mpih-mul1 mpih-mul2 mpih-mul3 \
110                  mpih-shift mpih-sub1"
111
112 mpi_ln_objects=
113 mpi_ln_src=
114 mpi_ln_dst=
115
116 # try to get file to link from the assembler subdirectory and
117 # if this fails get it from the generic subdirectory.
118 path="$path generic"
119 for fn in $mpi_ln_modules ; do
120     mpi_ln_objects="$mpi_ln_objects $fn.o"
121     for dir in $path ; do
122         rm -f $srcdir/mpi/$fn.[Sc]
123         if test -f $srcdir/mpi/$dir/$fn.S ; then
124             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.S"
125             mpi_ln_dst="$mpi_ln_dst mpi/$fn.S"
126             break;
127         elif test -f $srcdir/mpi/$dir/$fn.c ; then
128             mpi_ln_src="$mpi_ln_src mpi/$dir/$fn.c"
129             mpi_ln_dst="$mpi_ln_dst mpi/$fn.c"
130             break;
131         fi
132     done
133 done
134