• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/libgcrypt-1.5.1/mpi/
1# config.links - helper for ../configure             -*- mode: sh -*-
2# Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3#
4# This file is part of Libgcrypt.
5#
6# Libgcrypt is free software; you can redistribute it and/or modify
7# it under the terms of the GNU Lesser General Public License as
8# published by the Free Software Foundation; either version 2.1 of
9# the License, or (at your option) any later version.
10#
11# Libgcrypt is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU Lesser General Public License for more details.
15#
16# You should have received a copy of the GNU Lesser General Public
17# License along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19#
20# sourced by ../configure to get the list of files to link
21# this should set $mpi_ln_list.
22# Note: this is called from the above directory.
23
24mpi_sflags=
25mpi_extra_modules=
26
27test -d ./mpi || mkdir ./mpi
28
29# We grep the list of modules from the Makefile so that
30# we don't need to maintain them here.
31mpi_standard_modules=`$AWK '/^#BEGIN_ASM_LIST/,/^#END_ASM_LIST/ {
32                 if( $3 != "O" ) print $2 }'  $srcdir/mpi/Makefile.am`
33mpi_optional_modules=`$AWK '/^#BEGIN_ASM_LIST/,/^#END_ASM_LIST/ {
34                 if( $3 == "O" ) print $2 }' $srcdir/mpi/Makefile.am`
35
36
37echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
38echo "/* Host: ${host} */" >>./mpi/asm-syntax.h
39
40if test "$try_asm_modules" = "yes" ; then
41case "${host}" in
42    powerpc-apple-darwin*          | \
43    i[34567]86*-*-openbsd[12]*     | \
44    i[34567]86*-*-openbsd3.[0123]*)
45       echo '/* No working assembler modules available */' >>./mpi/asm-syntax.h
46       path=""
47       ;;
48    i[3467]86*-*-openbsd*      | \
49    i[3467]86*-*-freebsd*-elf  | \
50    i[3467]86*-*-freebsd[3-9]* | \
51    i[3467]86*-*-freebsdelf*   | \
52    i[3467]86*-*-netbsd*       | \
53    i[3467]86*-*-k*bsd*)
54       echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
55       cat  $srcdir/mpi/i386/syntax.h	   >>./mpi/asm-syntax.h
56       path="i386"
57       ;;
58    i586*-*-openbsd*         | \
59    i586*-*-freebsd*-elf     | \
60    i586*-*-freebsd[3-9]*    | \
61    i586*-*-freebsdelf*      | \
62    i586*-*-netbsd*	     | \
63    i586*-*-k*bsd*	     | \
64    pentium-*-netbsd*	     | \
65    pentiumpro-*-netbsd*)
66       echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
67       cat  $srcdir/mpi/i386/syntax.h	   >>./mpi/asm-syntax.h
68       path="i586 i386"
69       ;;
70    i[34]86*-*-bsdi4*)
71       echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
72       cat  $srcdir/mpi/i386/syntax.h	 >>./mpi/asm-syntax.h
73       path="i386"
74       ;;
75    i[3467]86*-*-linuxaout*  | \
76    i[3467]86*-*-linuxoldld* | \
77    i[3467]86*-*-*bsd*)
78	echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
79	echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
80	cat  $srcdir/mpi/i386/syntax.h	    >>./mpi/asm-syntax.h
81	path="i386"
82	;;
83    i586*-*-linuxaout*  | \
84    i586*-*-linuxoldld* | \
85    i586*-*-*bsd*)
86	echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
87	echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
88	cat  $srcdir/mpi/i386/syntax.h	    >>./mpi/asm-syntax.h
89	path="i586 i386"
90	;;
91    i[3467]86*-msdosdjgpp* | \
92    i[34]86*-apple-darwin*)
93	echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
94	cat  $srcdir/mpi/i386/syntax.h	 >>./mpi/asm-syntax.h
95	path="i386"
96	;;
97    i586*-msdosdjgpp* | \
98    i[567]86*-apple-darwin*)
99	echo '#define BSD_SYNTAX'        >>./mpi/asm-syntax.h
100	cat  $srcdir/mpi/i386/syntax.h	 >>./mpi/asm-syntax.h
101	path="i586 i386"
102	;;
103    i[3467]86*-*-*)
104	echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
105	cat  $srcdir/mpi/i386/syntax.h	    >>./mpi/asm-syntax.h
106	path="i386"
107	;;
108    i586*-*-*  | \
109    pentium-*-*   | \
110    pentiumpro-*-*)
111	echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
112	cat  $srcdir/mpi/i386/syntax.h	    >>./mpi/asm-syntax.h
113	path="i586 i386"
114	;;
115    x86_64-*-*)
116	echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
117	cat  $srcdir/mpi/i386/syntax.h	    >>./mpi/asm-syntax.h
118	path="amd64"
119	;;
120    alpha*-*-*)
121	echo '/* configured for alpha */' >>./mpi/asm-syntax.h
122	path="alpha"
123	mpi_extra_modules="udiv-qrnnd"
124	;;
125    hppa7000*-*-*)
126	echo '/* configured for HPPA (pa7000) */' >>./mpi/asm-syntax.h
127	path="hppa1.1 hppa"
128	mpi_extra_modules="udiv-qrnnd"
129	;;
130    hppa1.0*-*-*)
131	echo '/* configured for HPPA 1.0 */' >>./mpi/asm-syntax.h
132	path="hppa"
133	mpi_extra_modules="udiv-qrnnd"
134	;;
135    hppa*-*-*)	# assume pa7100
136	echo '/* configured for HPPA (pa7100) */' >>./mpi/asm-syntax.h
137	path="pa7100 hppa1.1 hppa"
138	mpi_extra_modules="udiv-qrnnd"
139	;;
140    sparc64-*-linux-gnu)
141        echo '/* No working assembler modules available */' >>./mpi/asm-syntax.h
142	path=""
143	;;
144    sparc64-sun-solaris2*)
145        echo '/* No working assembler modules available */' >>./mpi/asm-syntax.h
146	path=""
147        ;;
148    sparc64-*-netbsd* | sparc64-*-freebsd* | sparc64-*-openbsd*)
149       # There are no sparc64 assembler modules that work on the
150       # *BSDs, so use the generic C functions.
151       echo '/* No working assembler modules available */' >>./mpi/asm-syntax.h
152       path=""
153       ;;
154    sparc64*-*-*)
155       echo '/* No working assembler modules available */' >>./mpi/asm-syntax.h
156       path=""
157       ;;
158    sparc9*-*-*     | \
159    ultrasparc*-*-* )
160	echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
161	path="sparc32v8 sparc32"
162	;;
163    sparc8*-*-*     | \
164    microsparc*-*-*)
165	echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
166	path="sparc32v8 sparc32"
167	;;
168    supersparc*-*-*)
169	echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
170	path="supersparc sparc32v8 sparc32"
171	mpi_extra_modules="udiv"
172	;;
173    sparc*-*-*)
174	echo '/* configured for sparc */' >>./mpi/asm-syntax.h
175	path="sparc32"
176	mpi_extra_modules="udiv"
177	;;
178    mips[34]*-*-* | \
179    mips*-*-irix6*)
180       echo '/* configured for MIPS3 */' >>./mpi/asm-syntax.h
181       path="mips3"
182       ;;
183    mips*-*-*)
184       echo '/* configured for MIPS2 */' >>./mpi/asm-syntax.h
185       path="mips2"
186       ;;
187
188    # Motorola 68k configurations.  Let m68k mean 68020-68040.
189    # mc68000 or mc68060 configurations need to be specified explicitly
190    m680[234]0*-*-linuxaout* | \
191    m68k*-*-linuxaout*)
192	echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
193	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
194	path="m68k/mc68020 m68k"
195	;;
196    m68060*-*-linuxaout*)
197	echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
198	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
199	path="m68k"
200	;;
201    m680[234]0*-*-linux* | \
202    m68k*-*-linux*)
203	echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
204	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
205	;;
206    m68060*-*-linux*)
207	echo '#define ELF_SYNTAX'           >>./mpi/asm-syntax.h
208	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
209	path="m68k"
210	;;
211    m68k-atari-mint)
212	echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
213	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
214	path="m68k/mc68020 m68k"
215	;;
216    m68000*-*-* | \
217    m68060*-*-*)
218	echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
219	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
220	path="m68k/mc68000"
221	;;
222    m680[234]0*-*-* | \
223    m68k*-*-*)
224	echo '#define MIT_SYNTAX'           >>./mpi/asm-syntax.h
225	cat  $srcdir/mpi/m68k/syntax.h	    >>./mpi/asm-syntax.h
226	path="m68k/mc68020 m68k"
227	;;
228
229    powerpc*-*-netbsd* | powerpc*-*-openbsd*)
230       echo '/* configured {Open,Net}BSD on powerpc */' >>./mpi/asm-syntax.h
231       echo '#define ELF_SYNTAX'                 >>./mpi/asm-syntax.h
232       cat   $srcdir/mpi/powerpc32/syntax.h	 >>./mpi/asm-syntax.h
233       mpi_sflags="-Wa,-mppc"
234       path="powerpc32"
235       ;;
236
237    ppc620-*-*	    | \
238    powerpc64*-*-*)
239	mpi_sflags="-Wa,-mppc"
240	path="powerpc64"
241	;;
242    powerpc*-*-linux*)
243	echo '/* configured for powerpc/ELF */' >>./mpi/asm-syntax.h
244	echo '#define ELF_SYNTAX'               >>./mpi/asm-syntax.h
245	cat   $srcdir/mpi/powerpc32/syntax.h	>>./mpi/asm-syntax.h
246	path="powerpc32"
247	;;
248
249    rs6000-*-aix[456789]*    | \
250    rs6000-*-aix3.2.[456789])
251	mpi_sflags="-Wa,-mpwr"
252	path="power"
253	mpi_extra_modules="udiv-w-sdiv"
254	;;
255    rs6000-*-* | \
256    power-*-*  | \
257    power2-*-*)
258	mpi_sflags="-Wa,-mppc"
259	path="power"
260	mpi_extra_modules="udiv-w-sdiv"
261	;;
262    powerpc-ibm-aix4.2.* )
263	# I am not sure about this one but a machine identified by
264	# powerpc-ibm-aix4.2.1.0 cannot use the powerpc32 code.
265	mpi_sflags="-Wa,-mpwr"
266	path="power"
267	mpi_extra_modules="udiv-w-sdiv"
268	;;
269    ppc601-*-*)
270	mpi_sflags="-Wa,-mppc"
271	path="power powerpc32"
272	;;
273    ppc60[234]*-*-*)
274	mpi_sflags="-Wa,-mppc"
275	path="powerpc32"
276	;;
277    powerpc*-*-*)
278	mpi_sflags="-Wa,-mppc"
279	path="powerpc32"
280	;;
281    *)
282	echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h
283	path=""
284	;;
285esac
286else
287    echo '/* Assembler modules disabled on request */' >>./mpi/asm-syntax.h
288    path=""
289fi
290
291
292# Make sysdep.h
293echo '/* created by config.links - do not edit */' >./mpi/sysdep.h
294if test x$ac_cv_sys_symbol_underscore = xyes; then
295    cat <<EOF >>./mpi/sysdep.h
296#if __STDC__
297#define C_SYMBOL_NAME(name) _##name
298#else
299#define C_SYMBOL_NAME(name) _/**/name
300#endif
301EOF
302else
303    cat <<EOF >>./mpi/sysdep.h
304#define C_SYMBOL_NAME(name) name
305EOF
306fi
307
308
309# Figure the required modules out
310mpi_required_modules=$mpi_standard_modules
311if test "$mpi_extra_modules" != ""; then
312  for fn in $mpi_extra_modules; do
313      for i in $mpi_optional_modules; do
314          if test "$fn" = "$i" ; then
315             mpi_required_modules="$mpi_required_modules $fn"
316          fi
317      done
318  done
319fi
320
321# Try to get file to link from the assembler subdirectory and
322# if this fails get it from the generic subdirectory.
323mpi_ln_list=
324mpi_mod_list=
325path=`echo "$mpi_extra_path $path generic" | tr ':' ' '`
326echo '/* Created by config.links - do not edit */' >./mpi/mod-source-info.h
327echo "/* Host: ${host} */" >>./mpi/mod-source-info.h
328echo "static char mod_source_info[] =" >>./mpi/mod-source-info.h
329for fn in $mpi_required_modules ; do
330    fnu=`echo $fn | sed 's/-/_/g'`
331    eval mpi_mod_c_${fnu}=no
332    eval mpi_mod_asm_${fnu}=no
333    for dir in $path ; do
334	rm -f $srcdir/mpi/$fn.[Sc]
335	if test -f $srcdir/mpi/$dir/$fn.S ; then
336            echo "  \":$dir/$fn.S\"" >>./mpi/mod-source-info.h
337            mpi_ln_list="$mpi_ln_list mpi/$fn-asm.S:mpi/$dir/$fn.S"
338            eval mpi_mod_asm_${fnu}=yes
339            mpi_mod_list="$mpi_mod_list $fn"
340	    break;
341	elif test -f $srcdir/mpi/$dir/$fn.c ; then
342            echo "  \":$dir/$fn.c\"" >>./mpi/mod-source-info.h
343            mpi_ln_list="$mpi_ln_list mpi/$fn.c:mpi/$dir/$fn.c"
344            eval mpi_mod_c_${fnu}=yes
345            mpi_mod_list="$mpi_mod_list $fn"
346	    break;
347	fi
348    done
349done
350echo "  ;" >>./mpi/mod-source-info.h
351
352# Same thing for the file which defines the limb size
353path=`echo "$path generic" | tr ':' ' '`
354for dir in $path ; do
355    rm -f $srcdir/mpi/mpi-asm-defs.h
356    if test -f $srcdir/mpi/$dir/mpi-asm-defs.h ; then
357        mpi_ln_list="$mpi_ln_list mpi/mpi-asm-defs.h:mpi/$dir/mpi-asm-defs.h"
358        break;
359    fi
360done
361