Annotation of OpenXM/src/kan96xx/gmp-2.0.2-ssh-2/configure.in, Revision 1.1.1.1
1.1 takayama 1: # THIS IS A MODIFIED VERSION OF GMP-2.0.2. THE MODIFICATIONS WERE MADE
2: # TO INTEGRATE THIS CODE TO THE SSH SOFTWARE PACKAGE. PLEASE CONTACT
3: # ssh-bugs@cs.hut.fi IF MORE INFORMATION IS NEEDED.
4: #
5: # Copyright (C) 1991, 1993, 1994, 1996 Free Software Foundation, Inc.
6:
7: # This file is part of the GNU MP Library.
8:
9: # The GNU MP Library is free software; you can redistribute it and/or modify
10: # it under the terms of the GNU Library General Public License as published by
11: # the Free Software Foundation; either version 2 of the License, or (at your
12: # option) any later version.
13:
14: # The GNU MP Library is distributed in the hope that it will be useful, but
15: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16: # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
17: # License for more details.
18:
19: # You should have received a copy of the GNU Library General Public License
20: # along with the GNU MP Library; see the file COPYING.LIB. If not, write to
21: # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22: # MA 02111-1307, USA.
23:
24: AC_INIT(gmp-impl.h)
25: AC_PREREQ(2.10)
26: AM_INIT_AUTOMAKE(gmp,`grep gmp_version $srcdir/version.c | sed 's/.*"\(.*\)".*/\1/'`)
27:
28: AC_CANONICAL_HOST
29: AC_MSG_CHECKING(cached information)
30: hostcheck="$host"
31: AC_CACHE_VAL(ac_cv_gmp_hostcheck, [ ac_cv_gmp_hostcheck="$hostcheck" ])
32: if test "$ac_cv_gmp_hostcheck" != "$hostcheck"; then
33: AC_MSG_RESULT(changed)
34: AC_MSG_WARN(config.cache exists!)
35: AC_MSG_ERROR(you must do 'make distclean' first to compile for different host or different parameters.)
36: else
37: AC_MSG_RESULT(ok)
38: fi
39:
40: AC_PROG_CC
41: AC_C_CONST
42: AC_C_INLINE
43: AC_HEADER_STDC
44: AC_PROG_LN_S
45: AC_PROG_RANLIB
46: AC_PROG_MAKE_SET
47: AC_PROG_INSTALL
48: AC_REPLACE_FUNCS(random)
49: AC_ARG_PROGRAM
50: AC_CHECK_SIZEOF(int,4)
51: AC_FUNC_ALLOCA
52:
53: # We need to kludge with autoconf quotes to use [...] syntax in regexps.
54: changequote
55: case "$host" in
56: sparc9*-*-* | sparc64*-*-* | ultrasparc*-*-*)
57: #path="sparc64" ;; Don't use this until compilers are ready
58: path="sparc32/v8 sparc"
59: ;;
60: sparc8*-*-* | microsparc*-*-*)
61: path="sparc32/v8 sparc"
62: GCC_CFLAGS="-mv8"
63: ;;
64: supersparc*-*-*)
65: path="sparc32/v8/supersparc sparc32/v8 sparc"
66: extra_functions="udiv"
67: GCC_CFLAGS="-mv8 -DSUPERSPARC"
68: ;;
69: sparc*-*-*)
70: path="sparc32"
71: if test "$with_fp" = "no"
72: then extra_functions="udiv_nfp"
73: else extra_functions="udiv_fp"
74: fi
75: ;;
76: hppa7000*-*-*)
77: path="hppa/hppa1_1 hppa"
78: extra_functions="udiv_qrnnd"
79: changequote([, ])dnl
80: AC_MSG_CHECKING(whether assembler understands +DA1.1 option)
81: OLD_CFLAGS=$CFLAGS
82: CFLAGS="$CFLAGS -Wa,+DA1.1"
83: AC_TRY_LINK(,, [AC_MSG_RESULT(yes)
84: SFLAGS="-Wa,+DA1.1"], AC_MSG_RESULT(no))
85: CFLAGS=$OLD_CFLAGS
86: changequote
87: ;;
88: hppa1.0*-*-*)
89: path="hppa"
90: extra_functions="udiv_qrnnd"
91: ;;
92: hppa*-*-*) # assume pa7100
93: path="hppa/hppa1_1/pa7100 hppa/hppa1_1 hppa"
94: extra_functions="udiv_qrnnd"
95: changequote([, ])dnl
96: AC_MSG_CHECKING(whether assembler understands +DA1.1 option)
97: OLD_CFLAGS=$CFLAGS
98: CFLAGS="$CFLAGS -Wa,+DA1.1"
99: AC_TRY_LINK(,, [AC_MSG_RESULT(yes)
100: SFLAGS="-Wa,+DA1.1"], AC_MSG_RESULT(no))
101: CFLAGS=$OLD_CFLAGS
102: changequote
103: ;;
104: cray2-cray-unicos* | [xy]mp-cray-unicos* | [ctj]90-cray-unicos* | t3e-*-*)
105: path="cray"
106: ;;
107: alphaev5-*-*)
108: path="alpha/ev5 alpha"
109: extra_functions="udiv_qrnnd"
110: ;;
111: alpha*-*-*)
112: path="alpha"
113: extra_functions="udiv_qrnnd"
114: ;;
115: am29000*-*-*)
116: path="am29000"
117: ;;
118: a29k*-*-*)
119: path="am29000"
120: ;;
121: i[3456]86*-*-*elf | pentium-*-*elf) # 386/486 running BSD or Linux with ELF
122: path="x86"
123: syntax_alternatives="$syntax_alternatives ELF_SYNTAX BSD_SYNTAX INTEL_SYNTAX"
124: ;;
125: i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | \
126: i[34]86*-*-*bsd*) # 386/486 running BSD or Linux with a.out
127: path="x86"
128: x86_broken_align=yes
129: syntax_alternatives="$syntax_alternatives BSD_SYNTAX"
130: ;;
131: i[56]86*-*-linuxaout* | pentium-*-linuxaout* | pentiumpro-*-linuxaout* | \
132: i[56]86*-*-linuxoldld* | pentium-*-linuxoldld* | pentiumpro-*-linuxoldld* | \
133: i[56]86*-*-*bsd* | pentium-*-*bsd* | pentiumpro-*-*bsd*)
134: path="x86/pentium x86"
135: x86_broken_align=yes
136: syntax_alternatives="$syntax_alternatives BSD_SYNTAX"
137: ;;
138: i[34]86*-*-*)
139: path="x86"
140: syntax_alternatives="$syntax_alternatives ELF_SYNTAX BSD_SYNTAX INTEL_SYNTAX"
141: ;;
142: i[56]86*-*-* | pentium-*-* | pentiumpro-*-*)
143: path="x86/pentium x86"
144: syntax_alternatives="$syntax_alternatives ELF_SYNTAX BSD_SYNTAX INTEL_SYNTAX"
145: ;;
146:
147: # Motorola 68k configurations. Let m68k mean 68020-68040.
148: # mc68000 or mc68060 configurations need to be specified explicitly
149: m680[234]0*-*-linuxaout* | m68k*-*-linuxaout*)
150: path="m68k/mc68020 m68k"
151: syntax_alternatives="$syntax_alternatives MIT_SYNTAX"
152: ;;
153: m68060*-*-linuxaout*)
154: path="m68k"
155: syntax_alternatives="$syntax_alternatives MIT_SYNTAX"
156: ;;
157: m680[234]0*-*-linux* | m68k*-*-linux*)
158: path="m68k/mc68020 m68k"
159: syntax_alternatives="$syntax_alternatives ELF_SYNTAX"
160: ;;
161: m68060*-*-linux*)
162: path="m68k"
163: syntax_alternatives="$syntax_alternatives ELF_SYNTAX"
164: ;;
165: m68000*-*-* | m68060*-*-*)
166: path="m68k/mc68000"
167: syntax_alternatives="$syntax_alternatives MIT_SYNTAX"
168: ;;
169: m680[234]0*-*-* | m68k*-*-*)
170: path="m68k/mc68020 m68k"
171: syntax_alternatives="$syntax_alternatives MIT_SYNTAX ELF_SYNTAX SONY_SYNTAX MOTOROLA_SYNTAX"
172: ;;
173:
174: i960*-*-*)
175: path="i960"
176: ;;
177: m88k*-*-* | m88k*-*-*)
178: path="m88k"
179: ;;
180: m88110*-*-*)
181: path="m88k/mc88110 m88k"
182: ;;
183: ns32k*-*-*)
184: path="n32k"
185: ;;
186:
187: # Power/PowerPC platforms
188: ppc601-*-aix[456789]* | ppc601-*-aix3.2.[456789])
189: path="power powerpc32"
190: SFLAGS="-Wa,-mppc"
191: ;;
192: ppc601-*-*)
193: path="power powerpc32"
194: ;;
195: ppc620-*-* | powerpc64*-*-*)
196: path="powerpc64"
197: ;;
198: ppc60[234]*-*-aix[456789]* | ppc60[234]*-*-aix3.2.[456789] | \
199: powerpc*-*-aix[456789]* | powerpc*-*-aix3.2.[456789])
200: path="powerpc32"
201: SFLAGS="-Wa,-mppc"
202: ;;
203: ppc60[234]*-*-* | powerpc*-*-*)
204: path="powerpc32"
205: ;;
206: rs6000-*-aix[456789]* | rs6000-*-aix3.2.[456789]*)
207: path="power"
208: extra_functions="udiv_w_sdiv"
209: SFLAGS="-Wa,-mpwr"
210: ;;
211: rs6000-*-* | power-*-* | power2-*-*)
212: path="power"
213: extra_functions="udiv_w_sdiv"
214: ;;
215:
216: pyramid-*-*)
217: path="pyr"
218: ;;
219: sh-*-*)
220: path="sh"
221: ;;
222: sh2-*-*)
223: path="sh/sh2 sh"
224: ;;
225: mips[34]*-*-*)
226: path="mips3"
227: ;;
228: mips*-*-irix6*)
229: path="mips3"
230: ;;
231: mips*-*-*)
232: path="mips2"
233: ;;
234: vax*-*-*)
235: path="vax"
236: extra_functions="udiv_w_sdiv"
237: ;;
238: z8000x*-*-*)
239: path="z8000x"
240: extra_functions="udiv_w_sdiv"
241: ;;
242: z8000*-*-*)
243: path="z8000"
244: extra_functions="udiv_w_sdiv"
245: ;;
246: clipper*-*-*)
247: path="clipper"
248: ;;
249: *-*-*)
250: ;;
251: esac
252:
253: # System specific settings
254:
255: case "$host" in
256: *-*-solaris*)
257: # If not using gcc add -Xs option to cpp so we can process assembler files
258: if test -z "$GCC"; then
259: CPP="$CPP -Xs"
260: fi
261: esac
262: changequote([, ])dnl
263:
264: # Add gcc-specific flags if using gcc
265: if test -n "$GCC"; then
266: CFLAGS="$CFLAGS $GCC_CFLAGS"
267: fi
268:
269: # Check X86_BROKEN_ALIGN
270: if test -n "$x86_broken_align"; then
271: AC_DEFINE(X86_BROKEN_ALIGN)
272: fi
273:
274: # Check whether an underscore gets prepended in names
275: AC_CACHE_CHECK(whether underscore gets prepended in C function names,
276: ac_cv_c_underscore, [
277: cat > conftest.c <<EOF
278: int foobarzappafunction() { return 0; }
279: EOF
280: ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>/dev/null
281: if test -n "`nm conftest.o | grep _foobarzappafunction`" 2>/dev/null; then
282: ac_cv_c_underscore=yes
283: elif test -n "`nm conftest.o | grep foobarzappafunction`" 2>/dev/null; then
284: ac_cv_c_underscore=no
285: else
286: AC_MSG_WARN(CHECK FAILED)
287: path=""
288: fi
289: rm -f conftest.o conftest.c ])
290: if test "$ac_cv_c_underscore" = "yes"; then
291: AC_DEFINE(C_UNDERSCORE)
292: echo "Underscores are prepended in function names." >&5
293: else
294: echo "Underscores are not prepended in function names." >&5
295: fi
296:
297: # Check for asm files
298: functions="${extra_functions} inlines add_n addmul_1 cmp divmod_1
299: divrem divrem_1 dump lshift mod_1 mul mul_1 mul_n random2 rshift sqrtrem
300: sub_n submul_1 get_str set_str scan0 scan1 popcount hamdist gcd_1
301: pre_mod_1 perfsqr bdivmod gcd gcdext"
302: path="$path generic"
303: if test '!' -d mpn; then mkdir mpn; fi
304:
305: AC_MSG_CHECKING(asm code)
306: AC_CACHE_VAL(ac_cv_gmp_asm_status, [
307: asm_status=""
308: asm_files=""
309: asm_links=""
310: asm_objs=""
311: remaining_functions=""
312: for fn in $functions ; do
313: found=no
314: for dir in $path ; do
315: if test -f $srcdir/mpn/$dir/$fn.S ; then
316: if test -f mpn/../$srcdir/mpn/$dir/$fn.S; then
317: asm_files="$asm_files ../$srcdir/mpn/$dir/$fn.S"
318: else
319: asm_files="$asm_files $srcdir/mpn/$dir/$fn.S"
320: fi
321: asm_links="$asm_links $fn.S"
322: asm_objs="$asm_objs $fn.o"
323: found=yes
324: break
325: elif test -f $srcdir/mpn/$dir/$fn.s ; then
326: if test -f mpn/../$srcdir/mpn/$dir/$fn.s; then
327: asm_files="$asm_files ../$srcdir/mpn/$dir/$fn.s"
328: else
329: asm_files="$asm_files $srcdir/mpn/$dir/$fn.s"
330: fi
331: asm_links="$asm_links $fn.s"
332: asm_objs="$asm_objs $fn.o"
333: found=yes
334: break
335: fi
336: done
337: if test "$found" = "no"; then
338: remaining_functions="$remaining_functions $fn"
339: fi
340: done
341:
342: AC_ARG_ENABLE(asm,
343: [ --disable-asm Disable assembly language optimizations. ],
344: [ case "$enableval" in
345: no)
346: AC_DEFINE(NO_ASM)
347: asm_files=""
348: asm_objs=""
349: asm_links=""
350: asm_status="disabled"
351: path="generic"
352: remaining_functions="$functions"
353: ;;
354: esac ])
355:
356: if test -z "$asm_files"; then
357: if test -z "$asm_status"; then
358: asm_status="no"
359: fi
360: else
361: # found asm files; validate them and determine correct syntax
362:
363: syntax_h=""
364: for dir in $path; do
365: if test -f $srcdir/mpn/$dir/syntax.h; then
366: if test -f mpn/../$srcdir/mpn/$dir/syntax.h; then
367: syntax_h="../$srcdir/mpn/$dir/syntax.h"
368: else
369: syntax_h="$srcdir/mpn/$dir/syntax.h"
370: fi
371: break
372: fi
373: done
374:
375: syntax_alternatives="$syntax_alternatives default"
376:
377: echo "asm_files: $asm_files" >&5
378: echo "asm_links: $asm_links" >&5
379: echo "asm_objs: $asm_objs" >&5
380: echo "syntax_alternatives: $syntax_alternatives" >&5
381:
382: (cd mpn; rm -f $asm_links; $LN_S $asm_files .)
383:
384: asm_ok=no
385: for asm_syntax in $syntax_alternatives; do
386: if test "$asm_syntax" = "default"; then
387: rm -f mpn/asm-syntax.h
388: else
389: echo "#define $asm_syntax" >mpn/asm-syntax.h
390: echo "#include \"$syntax_h\"" >>mpn/asm-syntax.h
391: fi
392: echo "testing syntax $asm_syntax" >&5
393:
394: # Check if the found asm files will compile
395: asm_ok=yes
396: for file in $asm_links; do
397: changequote(<<, >>)dnl
398: s=`echo $file | sed 's/[sS]$/s/'`
399: o=`echo $file | sed 's/[sS]$/o/'`
400: changequote([, ])dnl
401: if test -d mpn/../$srcdir/mpn; then
402: mpnincl="../$srcdir/mpn"
403: else
404: mpnincl="$srcdir/mpn"
405: fi
406: if test "$s" = "$file"; then
407: echo "${CC-cc} -c -I$mpnincl -I. -I.. $CFLAGS $SFLAGS $file" >&5
408: (cd mpn; ${CC-cc} -c -I$mpnincl -I. -I.. $CFLAGS $SFLAGS $file >../conftemp.$$ 2>&1 )
409: else
410: echo "$CPP $SFLAGS -I$mpnincl -I. -I.. $CFLAGS $file | grep -v '^#' >tmp-$s; ${CC-cc} -c $CFLAGS $SFLAGS tmp-$s; rm -f tmp-$s; mv tmp-$o $o" >&5
411: (cd mpn; $CPP $SFLAGS -I$mpnincl -I. -I.. $CFLAGS $file | grep -v '^#' >tmp-$s; ${CC-cc} -c $CFLAGS $SFLAGS tmp-$s; rm -f tmp-$s; mv tmp-$o $o >../conftemp.$$ 2>&1)
412: fi
413: if test "$?" != 0 || test -n "`cat conftemp.$$`"; then
414: asm_ok=no
415: fi
416: cat conftemp.$$ >&5
417: done
418:
419: rm -f conftemp.$$ mpn/asm-syntax.h
420: if test "$asm_ok" = "yes"; then
421: asm_status="ok"
422: echo "Chose $asm_syntax." >&5
423: break
424: fi
425: done
426:
427: (cd mpn; rm -f $asm_objs $asm_links)
428: if test "$asm_ok" = "no"; then
429: asm_files=""
430: asm_objs=""
431: asm_links=""
432: asm_status="FAILED"
433: echo "Asm fails to compile; chose no asm." >&5
434: echo "$CC -v" >&5
435: $CC -v >&5 2>&5
436: echo "$CC -V" >&5
437: $CC -V >&5 2>&5
438: remaining_functions="$functions"
439: fi
440: fi
441: ac_cv_gmp_asm_status="$asm_status"
442: ])
443: AC_MSG_RESULT($ac_cv_gmp_asm_status)
444: if test "$ac_cv_gmp_asm_status" = "FAILED"; then
445: AC_MSG_WARN(Assembly language optimizations failed and were disabled.)
446: AC_MSG_WARN(Please mail gmp-2.0.2-ssh-2/config.log to ssh-bugs@cs.hut.fi.)
447: fi
448:
449: AC_MSG_CHECKING(asm links)
450: AC_CACHE_VAL(ac_cv_gmp_asm_links, [ ac_cv_gmp_asm_links="$asm_links" ])
451: AC_MSG_RESULT(done)
452:
453: AC_MSG_CHECKING(asm sources)
454: AC_CACHE_VAL(ac_cv_gmp_asm_files, [ ac_cv_gmp_asm_files="$asm_files" ])
455: AC_MSG_RESULT(done)
456:
457: AC_MSG_CHECKING(asm objects)
458: AC_CACHE_VAL(ac_cv_gmp_asm_objs, [ ac_cv_gmp_asm_objs="$asm_objs" ])
459: AC_MSG_RESULT(done)
460:
461: AC_CACHE_CHECK(asm syntax, ac_cv_gmp_asm_syntax,
462: [ ac_cv_gmp_asm_syntax="$asm_syntax" ])
463: AC_CACHE_CHECK(asm syntax header, ac_cv_gmp_asm_syntax_h,
464: [ ac_cv_gmp_asm_syntax_h="$syntax_h" ])
465:
466: AC_CACHE_CHECK(for gmp-mparam.h, ac_cv_gmp_mparam, [
467: ac_cv_gmp_mparam="NONE"
468: for dir in $path; do
469: if test -f $srcdir/mpn/$dir/gmp-mparam.h; then
470: if test -f mpn/../$srcdir/mpn/$dir/gmp-mparam.h; then
471: ac_cv_gmp_mparam="../$srcdir/mpn/$dir/gmp-mparam.h"
472: else
473: ac_cv_gmp_mparam="$srcdir/mpn/$dir/gmp-mparam.h"
474: fi
475: break
476: fi
477: done
478: if test "$ac_cv_gmp_mparam" = NONE; then
479: AC_ERROR(gmp-mparam.h not found)
480: fi ])
481:
482: AC_MSG_CHECKING(other objs)
483: AC_CACHE_VAL(ac_cv_gmp_other_objs, [
484: other_objs=""
485: other_files=""
486: other_links=""
487: for fn in $remaining_functions; do
488: for dir in $path; do
489: if test -f $srcdir/mpn/$dir/$fn.c; then
490: if test -f mpn/../$srcdir/mpn/$dir/$fn.c; then
491: other_files="$other_files ../$srcdir/mpn/$dir/$fn.c"
492: else
493: other_files="$other_files $srcdir/mpn/$dir/$fn.c"
494: fi
495: other_links="$other_links $fn.c"
496: other_objs="$other_objs $fn.o"
497: break
498: fi
499: done
500: done
501: ac_cv_gmp_other_objs="$other_objs" ])
502: AC_MSG_RESULT(done)
503:
504: AC_MSG_CHECKING(other sources)
505: AC_CACHE_VAL(ac_cv_gmp_other_files, [ ac_cv_gmp_other_files="$other_files" ])
506: AC_MSG_RESULT(done)
507:
508: AC_MSG_CHECKING(other links)
509: AC_CACHE_VAL(ac_cv_gmp_other_links, [ ac_cv_gmp_other_links="$other_links" ])
510: AC_MSG_RESULT(done)
511:
512: MPN_DISTCLEANFILES="$ac_cv_gmp_asm_links $ac_cv_gmp_other_links gmp-mparam.h asm-syntax.h conftest.c"
513: (cd mpn; rm -f $MPN_DISTCLEANFILES)
514: (cd mpn; $LN_S $ac_cv_gmp_asm_files $ac_cv_gmp_other_files .)
515: (cd mpn; $LN_S $ac_cv_gmp_mparam .)
516:
517: if test "$ac_cv_gmp_asm_syntax" != "default"; then
518: echo "#define $ac_cv_gmp_asm_syntax" >mpn/asm-syntax.h
519: echo "#include \"$ac_cv_gmp_asm_syntax_h\"" >>mpn/asm-syntax.h
520: fi
521:
522: MPN_OBJS="$ac_cv_gmp_asm_objs $ac_cv_gmp_other_objs"
523:
524: AC_MSG_CHECKING(links to mpz sources in mpbsd)
525: mpz_files="add.c cmp.c dmincl.c gcd.c mul.c pow_ui.c powm.c sqrtrem.c sub.c"
526: if test '!' -d mpbsd; then mkdir mpbsd; fi
527: for file in $mpz_files; do
528: rm -f mpbsd/$file
529: if test -f mpbsd/../$srcdir/mpz/$file; then
530: (cd mpbsd; $LN_S ../$srcdir/mpz/$file .)
531: else
532: (cd mpbsd; $LN_S $srcdir/mpz/$file .)
533: fi
534: done
535: AC_MSG_RESULT(done)
536:
537: AC_SUBST(PACKAGE)
538: AC_SUBST(VERSION)
539: AC_SUBST(SFLAGS)
540: AC_SUBST(MPN_DISTCLEANFILES)
541: AC_SUBST(MPN_OBJS)
542:
543: AC_OUTPUT(Makefile demos/Makefile mpbsd/Makefile mpf/Makefile mpf/tests/Makefile mpn/Makefile mpn/tests/Makefile mpq/Makefile mpq/tests/Makefile mpz/Makefile mpz/tests/Makefile)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>