Integrated the memory affinity settings into charm++
[charm.git] / src / scripts / configure
1 #! /bin/sh
2 # Guess values for system-dependent variables and create Makefiles.
3 # Generated by GNU Autoconf 2.61.
4 #
5 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
6 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
7 # This configure script is free software; the Free Software Foundation
8 # gives unlimited permission to copy, distribute and modify it.
9 ## --------------------- ##
10 ## M4sh Initialization.  ##
11 ## --------------------- ##
12
13 # Be more Bourne compatible
14 DUALCASE=1; export DUALCASE # for MKS sh
15 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
16   emulate sh
17   NULLCMD=:
18   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
19   # is contrary to our usage.  Disable this feature.
20   alias -g '${1+"$@"}'='"$@"'
21   setopt NO_GLOB_SUBST
22 else
23   case `(set -o) 2>/dev/null` in
24   *posix*) set -o posix ;;
25 esac
26
27 fi
28
29
30
31
32 # PATH needs CR
33 # Avoid depending upon Character Ranges.
34 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
35 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
36 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
37 as_cr_digits='0123456789'
38 as_cr_alnum=$as_cr_Letters$as_cr_digits
39
40 # The user is always right.
41 if test "${PATH_SEPARATOR+set}" != set; then
42   echo "#! /bin/sh" >conf$$.sh
43   echo  "exit 0"   >>conf$$.sh
44   chmod +x conf$$.sh
45   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
46     PATH_SEPARATOR=';'
47   else
48     PATH_SEPARATOR=:
49   fi
50   rm -f conf$$.sh
51 fi
52
53 # Support unset when possible.
54 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
55   as_unset=unset
56 else
57   as_unset=false
58 fi
59
60
61 # IFS
62 # We need space, tab and new line, in precisely that order.  Quoting is
63 # there to prevent editors from complaining about space-tab.
64 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
65 # splitting by setting IFS to empty value.)
66 as_nl='
67 '
68 IFS=" ""        $as_nl"
69
70 # Find who we are.  Look in the path if we contain no directory separator.
71 case $0 in
72   *[\\/]* ) as_myself=$0 ;;
73   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
74 for as_dir in $PATH
75 do
76   IFS=$as_save_IFS
77   test -z "$as_dir" && as_dir=.
78   test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
79 done
80 IFS=$as_save_IFS
81
82      ;;
83 esac
84 # We did not find ourselves, most probably we were run as `sh COMMAND'
85 # in which case we are not to be found in the path.
86 if test "x$as_myself" = x; then
87   as_myself=$0
88 fi
89 if test ! -f "$as_myself"; then
90   echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
91   { (exit 1); exit 1; }
92 fi
93
94 # Work around bugs in pre-3.0 UWIN ksh.
95 for as_var in ENV MAIL MAILPATH
96 do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
97 done
98 PS1='$ '
99 PS2='> '
100 PS4='+ '
101
102 # NLS nuisances.
103 for as_var in \
104   LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
105   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
106   LC_TELEPHONE LC_TIME
107 do
108   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
109     eval $as_var=C; export $as_var
110   else
111     ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
112   fi
113 done
114
115 # Required to use basename.
116 if expr a : '\(a\)' >/dev/null 2>&1 &&
117    test "X`expr 00001 : '.*\(...\)'`" = X001; then
118   as_expr=expr
119 else
120   as_expr=false
121 fi
122
123 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
124   as_basename=basename
125 else
126   as_basename=false
127 fi
128
129
130 # Name of the executable.
131 as_me=`$as_basename -- "$0" ||
132 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
133          X"$0" : 'X\(//\)$' \| \
134          X"$0" : 'X\(/\)' \| . 2>/dev/null ||
135 echo X/"$0" |
136     sed '/^.*\/\([^/][^/]*\)\/*$/{
137             s//\1/
138             q
139           }
140           /^X\/\(\/\/\)$/{
141             s//\1/
142             q
143           }
144           /^X\/\(\/\).*/{
145             s//\1/
146             q
147           }
148           s/.*/./; q'`
149
150 # CDPATH.
151 $as_unset CDPATH
152
153
154 if test "x$CONFIG_SHELL" = x; then
155   if (eval ":") 2>/dev/null; then
156   as_have_required=yes
157 else
158   as_have_required=no
159 fi
160
161   if test $as_have_required = yes &&     (eval ":
162 (as_func_return () {
163   (exit \$1)
164 }
165 as_func_success () {
166   as_func_return 0
167 }
168 as_func_failure () {
169   as_func_return 1
170 }
171 as_func_ret_success () {
172   return 0
173 }
174 as_func_ret_failure () {
175   return 1
176 }
177
178 exitcode=0
179 if as_func_success; then
180   :
181 else
182   exitcode=1
183   echo as_func_success failed.
184 fi
185
186 if as_func_failure; then
187   exitcode=1
188   echo as_func_failure succeeded.
189 fi
190
191 if as_func_ret_success; then
192   :
193 else
194   exitcode=1
195   echo as_func_ret_success failed.
196 fi
197
198 if as_func_ret_failure; then
199   exitcode=1
200   echo as_func_ret_failure succeeded.
201 fi
202
203 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
204   :
205 else
206   exitcode=1
207   echo positional parameters were not saved.
208 fi
209
210 test \$exitcode = 0) || { (exit 1); exit 1; }
211
212 (
213   as_lineno_1=\$LINENO
214   as_lineno_2=\$LINENO
215   test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
216   test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
217 ") 2> /dev/null; then
218   :
219 else
220   as_candidate_shells=
221     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
222 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
223 do
224   IFS=$as_save_IFS
225   test -z "$as_dir" && as_dir=.
226   case $as_dir in
227          /*)
228            for as_base in sh bash ksh sh5; do
229              as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
230            done;;
231        esac
232 done
233 IFS=$as_save_IFS
234
235
236       for as_shell in $as_candidate_shells $SHELL; do
237          # Try only shells that exist, to save several forks.
238          if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
239                 { ("$as_shell") 2> /dev/null <<\_ASEOF
240 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
241   emulate sh
242   NULLCMD=:
243   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
244   # is contrary to our usage.  Disable this feature.
245   alias -g '${1+"$@"}'='"$@"'
246   setopt NO_GLOB_SUBST
247 else
248   case `(set -o) 2>/dev/null` in
249   *posix*) set -o posix ;;
250 esac
251
252 fi
253
254
255 :
256 _ASEOF
257 }; then
258   CONFIG_SHELL=$as_shell
259                as_have_required=yes
260                if { "$as_shell" 2> /dev/null <<\_ASEOF
261 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
262   emulate sh
263   NULLCMD=:
264   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
265   # is contrary to our usage.  Disable this feature.
266   alias -g '${1+"$@"}'='"$@"'
267   setopt NO_GLOB_SUBST
268 else
269   case `(set -o) 2>/dev/null` in
270   *posix*) set -o posix ;;
271 esac
272
273 fi
274
275
276 :
277 (as_func_return () {
278   (exit $1)
279 }
280 as_func_success () {
281   as_func_return 0
282 }
283 as_func_failure () {
284   as_func_return 1
285 }
286 as_func_ret_success () {
287   return 0
288 }
289 as_func_ret_failure () {
290   return 1
291 }
292
293 exitcode=0
294 if as_func_success; then
295   :
296 else
297   exitcode=1
298   echo as_func_success failed.
299 fi
300
301 if as_func_failure; then
302   exitcode=1
303   echo as_func_failure succeeded.
304 fi
305
306 if as_func_ret_success; then
307   :
308 else
309   exitcode=1
310   echo as_func_ret_success failed.
311 fi
312
313 if as_func_ret_failure; then
314   exitcode=1
315   echo as_func_ret_failure succeeded.
316 fi
317
318 if ( set x; as_func_ret_success y && test x = "$1" ); then
319   :
320 else
321   exitcode=1
322   echo positional parameters were not saved.
323 fi
324
325 test $exitcode = 0) || { (exit 1); exit 1; }
326
327 (
328   as_lineno_1=$LINENO
329   as_lineno_2=$LINENO
330   test "x$as_lineno_1" != "x$as_lineno_2" &&
331   test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
332
333 _ASEOF
334 }; then
335   break
336 fi
337
338 fi
339
340       done
341
342       if test "x$CONFIG_SHELL" != x; then
343   for as_var in BASH_ENV ENV
344         do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
345         done
346         export CONFIG_SHELL
347         exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
348 fi
349
350
351     if test $as_have_required = no; then
352   echo This script requires a shell more modern than all the
353       echo shells that I found on your system.  Please install a
354       echo modern shell, or manually run the script under such a
355       echo shell if you do have one.
356       { (exit 1); exit 1; }
357 fi
358
359
360 fi
361
362 fi
363
364
365
366 (eval "as_func_return () {
367   (exit \$1)
368 }
369 as_func_success () {
370   as_func_return 0
371 }
372 as_func_failure () {
373   as_func_return 1
374 }
375 as_func_ret_success () {
376   return 0
377 }
378 as_func_ret_failure () {
379   return 1
380 }
381
382 exitcode=0
383 if as_func_success; then
384   :
385 else
386   exitcode=1
387   echo as_func_success failed.
388 fi
389
390 if as_func_failure; then
391   exitcode=1
392   echo as_func_failure succeeded.
393 fi
394
395 if as_func_ret_success; then
396   :
397 else
398   exitcode=1
399   echo as_func_ret_success failed.
400 fi
401
402 if as_func_ret_failure; then
403   exitcode=1
404   echo as_func_ret_failure succeeded.
405 fi
406
407 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
408   :
409 else
410   exitcode=1
411   echo positional parameters were not saved.
412 fi
413
414 test \$exitcode = 0") || {
415   echo No shell found that supports shell functions.
416   echo Please tell autoconf@gnu.org about your system,
417   echo including any error possibly output before this
418   echo message
419 }
420
421
422
423   as_lineno_1=$LINENO
424   as_lineno_2=$LINENO
425   test "x$as_lineno_1" != "x$as_lineno_2" &&
426   test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
427
428   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
429   # uniformly replaced by the line number.  The first 'sed' inserts a
430   # line-number line after each line using $LINENO; the second 'sed'
431   # does the real work.  The second script uses 'N' to pair each
432   # line-number line with the line containing $LINENO, and appends
433   # trailing '-' during substitution so that $LINENO is not a special
434   # case at line end.
435   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
436   # scripts with optimization help from Paolo Bonzini.  Blame Lee
437   # E. McMahon (1931-1989) for sed's syntax.  :-)
438   sed -n '
439     p
440     /[$]LINENO/=
441   ' <$as_myself |
442     sed '
443       s/[$]LINENO.*/&-/
444       t lineno
445       b
446       :lineno
447       N
448       :loop
449       s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
450       t loop
451       s/-\n.*//
452     ' >$as_me.lineno &&
453   chmod +x "$as_me.lineno" ||
454     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
455    { (exit 1); exit 1; }; }
456
457   # Don't try to exec as it changes $[0], causing all sort of problems
458   # (the dirname of $[0] is not the place where we might find the
459   # original and so on.  Autoconf is especially sensitive to this).
460   . "./$as_me.lineno"
461   # Exit status is that of the last command.
462   exit
463 }
464
465
466 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
467   as_dirname=dirname
468 else
469   as_dirname=false
470 fi
471
472 ECHO_C= ECHO_N= ECHO_T=
473 case `echo -n x` in
474 -n*)
475   case `echo 'x\c'` in
476   *c*) ECHO_T=' ';;     # ECHO_T is single tab character.
477   *)   ECHO_C='\c';;
478   esac;;
479 *)
480   ECHO_N='-n';;
481 esac
482
483 if expr a : '\(a\)' >/dev/null 2>&1 &&
484    test "X`expr 00001 : '.*\(...\)'`" = X001; then
485   as_expr=expr
486 else
487   as_expr=false
488 fi
489
490 rm -f conf$$ conf$$.exe conf$$.file
491 if test -d conf$$.dir; then
492   rm -f conf$$.dir/conf$$.file
493 else
494   rm -f conf$$.dir
495   mkdir conf$$.dir
496 fi
497 echo >conf$$.file
498 if ln -s conf$$.file conf$$ 2>/dev/null; then
499   as_ln_s='ln -s'
500   # ... but there are two gotchas:
501   # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
502   # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
503   # In both cases, we have to default to `cp -p'.
504   ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
505     as_ln_s='cp -p'
506 elif ln conf$$.file conf$$ 2>/dev/null; then
507   as_ln_s=ln
508 else
509   as_ln_s='cp -p'
510 fi
511 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
512 rmdir conf$$.dir 2>/dev/null
513
514 if mkdir -p . 2>/dev/null; then
515   as_mkdir_p=:
516 else
517   test -d ./-p && rmdir ./-p
518   as_mkdir_p=false
519 fi
520
521 if test -x / >/dev/null 2>&1; then
522   as_test_x='test -x'
523 else
524   if ls -dL / >/dev/null 2>&1; then
525     as_ls_L_option=L
526   else
527     as_ls_L_option=
528   fi
529   as_test_x='
530     eval sh -c '\''
531       if test -d "$1"; then
532         test -d "$1/.";
533       else
534         case $1 in
535         -*)set "./$1";;
536         esac;
537         case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
538         ???[sx]*):;;*)false;;esac;fi
539     '\'' sh
540   '
541 fi
542 as_executable_p=$as_test_x
543
544 # Sed expression to map a string onto a valid CPP name.
545 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
546
547 # Sed expression to map a string onto a valid variable name.
548 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
549
550
551
552 exec 7<&0 </dev/null 6>&1
553
554 # Name of the host.
555 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
556 # so uname gets run too.
557 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
558
559 #
560 # Initializations.
561 #
562 ac_default_prefix=/usr/local
563 ac_clean_files=
564 ac_config_libobj_dir=.
565 LIBOBJS=
566 cross_compiling=no
567 subdirs=
568 MFLAGS=
569 MAKEFLAGS=
570 SHELL=${CONFIG_SHELL-/bin/sh}
571
572 # Identity of this package.
573 PACKAGE_NAME=
574 PACKAGE_TARNAME=
575 PACKAGE_VERSION=
576 PACKAGE_STRING=
577 PACKAGE_BUGREPORT=
578
579 ac_unique_file="./Makefile"
580 ac_subst_vars='SHELL
581 PATH_SEPARATOR
582 PACKAGE_NAME
583 PACKAGE_TARNAME
584 PACKAGE_VERSION
585 PACKAGE_STRING
586 PACKAGE_BUGREPORT
587 exec_prefix
588 prefix
589 program_transform_name
590 bindir
591 sbindir
592 libexecdir
593 datarootdir
594 datadir
595 sysconfdir
596 sharedstatedir
597 localstatedir
598 includedir
599 oldincludedir
600 docdir
601 infodir
602 htmldir
603 dvidir
604 pdfdir
605 psdir
606 libdir
607 localedir
608 mandir
609 DEFS
610 ECHO_C
611 ECHO_N
612 ECHO_T
613 LIBS
614 build_alias
615 host_alias
616 target_alias
617 base_version
618 SYNC
619 LIBOBJS
620 LTLIBOBJS'
621 ac_subst_files=''
622       ac_precious_vars='build_alias
623 host_alias
624 target_alias'
625
626
627 # Initialize some variables set by options.
628 ac_init_help=
629 ac_init_version=false
630 # The variables have the same names as the options, with
631 # dashes changed to underlines.
632 cache_file=/dev/null
633 exec_prefix=NONE
634 no_create=
635 no_recursion=
636 prefix=NONE
637 program_prefix=NONE
638 program_suffix=NONE
639 program_transform_name=s,x,x,
640 silent=
641 site=
642 srcdir=
643 verbose=
644 x_includes=NONE
645 x_libraries=NONE
646
647 # Installation directory options.
648 # These are left unexpanded so users can "make install exec_prefix=/foo"
649 # and all the variables that are supposed to be based on exec_prefix
650 # by default will actually change.
651 # Use braces instead of parens because sh, perl, etc. also accept them.
652 # (The list follows the same order as the GNU Coding Standards.)
653 bindir='${exec_prefix}/bin'
654 sbindir='${exec_prefix}/sbin'
655 libexecdir='${exec_prefix}/libexec'
656 datarootdir='${prefix}/share'
657 datadir='${datarootdir}'
658 sysconfdir='${prefix}/etc'
659 sharedstatedir='${prefix}/com'
660 localstatedir='${prefix}/var'
661 includedir='${prefix}/include'
662 oldincludedir='/usr/include'
663 docdir='${datarootdir}/doc/${PACKAGE}'
664 infodir='${datarootdir}/info'
665 htmldir='${docdir}'
666 dvidir='${docdir}'
667 pdfdir='${docdir}'
668 psdir='${docdir}'
669 libdir='${exec_prefix}/lib'
670 localedir='${datarootdir}/locale'
671 mandir='${datarootdir}/man'
672
673 ac_prev=
674 ac_dashdash=
675 for ac_option
676 do
677   # If the previous option needs an argument, assign it.
678   if test -n "$ac_prev"; then
679     eval $ac_prev=\$ac_option
680     ac_prev=
681     continue
682   fi
683
684   case $ac_option in
685   *=*)  ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
686   *)    ac_optarg=yes ;;
687   esac
688
689   # Accept the important Cygnus configure options, so we can diagnose typos.
690
691   case $ac_dashdash$ac_option in
692   --)
693     ac_dashdash=yes ;;
694
695   -bindir | --bindir | --bindi | --bind | --bin | --bi)
696     ac_prev=bindir ;;
697   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
698     bindir=$ac_optarg ;;
699
700   -build | --build | --buil | --bui | --bu)
701     ac_prev=build_alias ;;
702   -build=* | --build=* | --buil=* | --bui=* | --bu=*)
703     build_alias=$ac_optarg ;;
704
705   -cache-file | --cache-file | --cache-fil | --cache-fi \
706   | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
707     ac_prev=cache_file ;;
708   -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
709   | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
710     cache_file=$ac_optarg ;;
711
712   --config-cache | -C)
713     cache_file=config.cache ;;
714
715   -datadir | --datadir | --datadi | --datad)
716     ac_prev=datadir ;;
717   -datadir=* | --datadir=* | --datadi=* | --datad=*)
718     datadir=$ac_optarg ;;
719
720   -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
721   | --dataroo | --dataro | --datar)
722     ac_prev=datarootdir ;;
723   -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
724   | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
725     datarootdir=$ac_optarg ;;
726
727   -disable-* | --disable-*)
728     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
729     # Reject names that are not valid shell variable names.
730     expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
731       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
732    { (exit 1); exit 1; }; }
733     ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
734     eval enable_$ac_feature=no ;;
735
736   -docdir | --docdir | --docdi | --doc | --do)
737     ac_prev=docdir ;;
738   -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
739     docdir=$ac_optarg ;;
740
741   -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
742     ac_prev=dvidir ;;
743   -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
744     dvidir=$ac_optarg ;;
745
746   -enable-* | --enable-*)
747     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
748     # Reject names that are not valid shell variable names.
749     expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
750       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
751    { (exit 1); exit 1; }; }
752     ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
753     eval enable_$ac_feature=\$ac_optarg ;;
754
755   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
756   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
757   | --exec | --exe | --ex)
758     ac_prev=exec_prefix ;;
759   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
760   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
761   | --exec=* | --exe=* | --ex=*)
762     exec_prefix=$ac_optarg ;;
763
764   -gas | --gas | --ga | --g)
765     # Obsolete; use --with-gas.
766     with_gas=yes ;;
767
768   -help | --help | --hel | --he | -h)
769     ac_init_help=long ;;
770   -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
771     ac_init_help=recursive ;;
772   -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
773     ac_init_help=short ;;
774
775   -host | --host | --hos | --ho)
776     ac_prev=host_alias ;;
777   -host=* | --host=* | --hos=* | --ho=*)
778     host_alias=$ac_optarg ;;
779
780   -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
781     ac_prev=htmldir ;;
782   -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
783   | --ht=*)
784     htmldir=$ac_optarg ;;
785
786   -includedir | --includedir | --includedi | --included | --include \
787   | --includ | --inclu | --incl | --inc)
788     ac_prev=includedir ;;
789   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
790   | --includ=* | --inclu=* | --incl=* | --inc=*)
791     includedir=$ac_optarg ;;
792
793   -infodir | --infodir | --infodi | --infod | --info | --inf)
794     ac_prev=infodir ;;
795   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
796     infodir=$ac_optarg ;;
797
798   -libdir | --libdir | --libdi | --libd)
799     ac_prev=libdir ;;
800   -libdir=* | --libdir=* | --libdi=* | --libd=*)
801     libdir=$ac_optarg ;;
802
803   -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
804   | --libexe | --libex | --libe)
805     ac_prev=libexecdir ;;
806   -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
807   | --libexe=* | --libex=* | --libe=*)
808     libexecdir=$ac_optarg ;;
809
810   -localedir | --localedir | --localedi | --localed | --locale)
811     ac_prev=localedir ;;
812   -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
813     localedir=$ac_optarg ;;
814
815   -localstatedir | --localstatedir | --localstatedi | --localstated \
816   | --localstate | --localstat | --localsta | --localst | --locals)
817     ac_prev=localstatedir ;;
818   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
819   | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
820     localstatedir=$ac_optarg ;;
821
822   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
823     ac_prev=mandir ;;
824   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
825     mandir=$ac_optarg ;;
826
827   -nfp | --nfp | --nf)
828     # Obsolete; use --without-fp.
829     with_fp=no ;;
830
831   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
832   | --no-cr | --no-c | -n)
833     no_create=yes ;;
834
835   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
836   | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
837     no_recursion=yes ;;
838
839   -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
840   | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
841   | --oldin | --oldi | --old | --ol | --o)
842     ac_prev=oldincludedir ;;
843   -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
844   | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
845   | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
846     oldincludedir=$ac_optarg ;;
847
848   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
849     ac_prev=prefix ;;
850   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
851     prefix=$ac_optarg ;;
852
853   -program-prefix | --program-prefix | --program-prefi | --program-pref \
854   | --program-pre | --program-pr | --program-p)
855     ac_prev=program_prefix ;;
856   -program-prefix=* | --program-prefix=* | --program-prefi=* \
857   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
858     program_prefix=$ac_optarg ;;
859
860   -program-suffix | --program-suffix | --program-suffi | --program-suff \
861   | --program-suf | --program-su | --program-s)
862     ac_prev=program_suffix ;;
863   -program-suffix=* | --program-suffix=* | --program-suffi=* \
864   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
865     program_suffix=$ac_optarg ;;
866
867   -program-transform-name | --program-transform-name \
868   | --program-transform-nam | --program-transform-na \
869   | --program-transform-n | --program-transform- \
870   | --program-transform | --program-transfor \
871   | --program-transfo | --program-transf \
872   | --program-trans | --program-tran \
873   | --progr-tra | --program-tr | --program-t)
874     ac_prev=program_transform_name ;;
875   -program-transform-name=* | --program-transform-name=* \
876   | --program-transform-nam=* | --program-transform-na=* \
877   | --program-transform-n=* | --program-transform-=* \
878   | --program-transform=* | --program-transfor=* \
879   | --program-transfo=* | --program-transf=* \
880   | --program-trans=* | --program-tran=* \
881   | --progr-tra=* | --program-tr=* | --program-t=*)
882     program_transform_name=$ac_optarg ;;
883
884   -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
885     ac_prev=pdfdir ;;
886   -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
887     pdfdir=$ac_optarg ;;
888
889   -psdir | --psdir | --psdi | --psd | --ps)
890     ac_prev=psdir ;;
891   -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
892     psdir=$ac_optarg ;;
893
894   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
895   | -silent | --silent | --silen | --sile | --sil)
896     silent=yes ;;
897
898   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
899     ac_prev=sbindir ;;
900   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
901   | --sbi=* | --sb=*)
902     sbindir=$ac_optarg ;;
903
904   -sharedstatedir | --sharedstatedir | --sharedstatedi \
905   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
906   | --sharedst | --shareds | --shared | --share | --shar \
907   | --sha | --sh)
908     ac_prev=sharedstatedir ;;
909   -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
910   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
911   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
912   | --sha=* | --sh=*)
913     sharedstatedir=$ac_optarg ;;
914
915   -site | --site | --sit)
916     ac_prev=site ;;
917   -site=* | --site=* | --sit=*)
918     site=$ac_optarg ;;
919
920   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
921     ac_prev=srcdir ;;
922   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
923     srcdir=$ac_optarg ;;
924
925   -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
926   | --syscon | --sysco | --sysc | --sys | --sy)
927     ac_prev=sysconfdir ;;
928   -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
929   | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
930     sysconfdir=$ac_optarg ;;
931
932   -target | --target | --targe | --targ | --tar | --ta | --t)
933     ac_prev=target_alias ;;
934   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
935     target_alias=$ac_optarg ;;
936
937   -v | -verbose | --verbose | --verbos | --verbo | --verb)
938     verbose=yes ;;
939
940   -version | --version | --versio | --versi | --vers | -V)
941     ac_init_version=: ;;
942
943   -with-* | --with-*)
944     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
945     # Reject names that are not valid shell variable names.
946     expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
947       { echo "$as_me: error: invalid package name: $ac_package" >&2
948    { (exit 1); exit 1; }; }
949     ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
950     eval with_$ac_package=\$ac_optarg ;;
951
952   -without-* | --without-*)
953     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
954     # Reject names that are not valid shell variable names.
955     expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
956       { echo "$as_me: error: invalid package name: $ac_package" >&2
957    { (exit 1); exit 1; }; }
958     ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
959     eval with_$ac_package=no ;;
960
961   --x)
962     # Obsolete; use --with-x.
963     with_x=yes ;;
964
965   -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
966   | --x-incl | --x-inc | --x-in | --x-i)
967     ac_prev=x_includes ;;
968   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
969   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
970     x_includes=$ac_optarg ;;
971
972   -x-libraries | --x-libraries | --x-librarie | --x-librari \
973   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
974     ac_prev=x_libraries ;;
975   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
976   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
977     x_libraries=$ac_optarg ;;
978
979   -*) { echo "$as_me: error: unrecognized option: $ac_option
980 Try \`$0 --help' for more information." >&2
981    { (exit 1); exit 1; }; }
982     ;;
983
984   *=*)
985     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
986     # Reject names that are not valid shell variable names.
987     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
988       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
989    { (exit 1); exit 1; }; }
990     eval $ac_envvar=\$ac_optarg
991     export $ac_envvar ;;
992
993   *)
994     # FIXME: should be removed in autoconf 3.0.
995     echo "$as_me: WARNING: you should use --build, --host, --target" >&2
996     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
997       echo "$as_me: WARNING: invalid host type: $ac_option" >&2
998     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
999     ;;
1000
1001   esac
1002 done
1003
1004 if test -n "$ac_prev"; then
1005   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1006   { echo "$as_me: error: missing argument to $ac_option" >&2
1007    { (exit 1); exit 1; }; }
1008 fi
1009
1010 # Be sure to have absolute directory names.
1011 for ac_var in   exec_prefix prefix bindir sbindir libexecdir datarootdir \
1012                 datadir sysconfdir sharedstatedir localstatedir includedir \
1013                 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1014                 libdir localedir mandir
1015 do
1016   eval ac_val=\$$ac_var
1017   case $ac_val in
1018     [\\/$]* | ?:[\\/]* )  continue;;
1019     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1020   esac
1021   { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
1022    { (exit 1); exit 1; }; }
1023 done
1024
1025 # There might be people who depend on the old broken behavior: `$host'
1026 # used to hold the argument of --host etc.
1027 # FIXME: To remove some day.
1028 build=$build_alias
1029 host=$host_alias
1030 target=$target_alias
1031
1032 # FIXME: To remove some day.
1033 if test "x$host_alias" != x; then
1034   if test "x$build_alias" = x; then
1035     cross_compiling=maybe
1036     echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
1037     If a cross compiler is detected then cross compile mode will be used." >&2
1038   elif test "x$build_alias" != "x$host_alias"; then
1039     cross_compiling=yes
1040   fi
1041 fi
1042
1043 ac_tool_prefix=
1044 test -n "$host_alias" && ac_tool_prefix=$host_alias-
1045
1046 test "$silent" = yes && exec 6>/dev/null
1047
1048
1049 ac_pwd=`pwd` && test -n "$ac_pwd" &&
1050 ac_ls_di=`ls -di .` &&
1051 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1052   { echo "$as_me: error: Working directory cannot be determined" >&2
1053    { (exit 1); exit 1; }; }
1054 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1055   { echo "$as_me: error: pwd does not report name of working directory" >&2
1056    { (exit 1); exit 1; }; }
1057
1058
1059 # Find the source files, if location was not specified.
1060 if test -z "$srcdir"; then
1061   ac_srcdir_defaulted=yes
1062   # Try the directory containing this script, then the parent directory.
1063   ac_confdir=`$as_dirname -- "$0" ||
1064 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1065          X"$0" : 'X\(//\)[^/]' \| \
1066          X"$0" : 'X\(//\)$' \| \
1067          X"$0" : 'X\(/\)' \| . 2>/dev/null ||
1068 echo X"$0" |
1069     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1070             s//\1/
1071             q
1072           }
1073           /^X\(\/\/\)[^/].*/{
1074             s//\1/
1075             q
1076           }
1077           /^X\(\/\/\)$/{
1078             s//\1/
1079             q
1080           }
1081           /^X\(\/\).*/{
1082             s//\1/
1083             q
1084           }
1085           s/.*/./; q'`
1086   srcdir=$ac_confdir
1087   if test ! -r "$srcdir/$ac_unique_file"; then
1088     srcdir=..
1089   fi
1090 else
1091   ac_srcdir_defaulted=no
1092 fi
1093 if test ! -r "$srcdir/$ac_unique_file"; then
1094   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1095   { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
1096    { (exit 1); exit 1; }; }
1097 fi
1098 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1099 ac_abs_confdir=`(
1100         cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
1101    { (exit 1); exit 1; }; }
1102         pwd)`
1103 # When building in place, set srcdir=.
1104 if test "$ac_abs_confdir" = "$ac_pwd"; then
1105   srcdir=.
1106 fi
1107 # Remove unnecessary trailing slashes from srcdir.
1108 # Double slashes in file names in object file debugging info
1109 # mess up M-x gdb in Emacs.
1110 case $srcdir in
1111 */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1112 esac
1113 for ac_var in $ac_precious_vars; do
1114   eval ac_env_${ac_var}_set=\${${ac_var}+set}
1115   eval ac_env_${ac_var}_value=\$${ac_var}
1116   eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1117   eval ac_cv_env_${ac_var}_value=\$${ac_var}
1118 done
1119
1120 #
1121 # Report the --help message.
1122 #
1123 if test "$ac_init_help" = "long"; then
1124   # Omit some internal or obsolete options to make the list less imposing.
1125   # This message is too long to be a string in the A/UX 3.1 sh.
1126   cat <<_ACEOF
1127 \`configure' configures this package to adapt to many kinds of systems.
1128
1129 Usage: $0 [OPTION]... [VAR=VALUE]...
1130
1131 To assign environment variables (e.g., CC, CFLAGS...), specify them as
1132 VAR=VALUE.  See below for descriptions of some of the useful variables.
1133
1134 Defaults for the options are specified in brackets.
1135
1136 Configuration:
1137   -h, --help              display this help and exit
1138       --help=short        display options specific to this package
1139       --help=recursive    display the short help of all the included packages
1140   -V, --version           display version information and exit
1141   -q, --quiet, --silent   do not print \`checking...' messages
1142       --cache-file=FILE   cache test results in FILE [disabled]
1143   -C, --config-cache      alias for \`--cache-file=config.cache'
1144   -n, --no-create         do not create output files
1145       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
1146
1147 Installation directories:
1148   --prefix=PREFIX         install architecture-independent files in PREFIX
1149                           [$ac_default_prefix]
1150   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
1151                           [PREFIX]
1152
1153 By default, \`make install' will install all the files in
1154 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
1155 an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1156 for instance \`--prefix=\$HOME'.
1157
1158 For better control, use the options below.
1159
1160 Fine tuning of the installation directories:
1161   --bindir=DIR           user executables [EPREFIX/bin]
1162   --sbindir=DIR          system admin executables [EPREFIX/sbin]
1163   --libexecdir=DIR       program executables [EPREFIX/libexec]
1164   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
1165   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
1166   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
1167   --libdir=DIR           object code libraries [EPREFIX/lib]
1168   --includedir=DIR       C header files [PREFIX/include]
1169   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
1170   --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
1171   --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
1172   --infodir=DIR          info documentation [DATAROOTDIR/info]
1173   --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
1174   --mandir=DIR           man documentation [DATAROOTDIR/man]
1175   --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
1176   --htmldir=DIR          html documentation [DOCDIR]
1177   --dvidir=DIR           dvi documentation [DOCDIR]
1178   --pdfdir=DIR           pdf documentation [DOCDIR]
1179   --psdir=DIR            ps documentation [DOCDIR]
1180 _ACEOF
1181
1182   cat <<\_ACEOF
1183 _ACEOF
1184 fi
1185
1186 if test -n "$ac_init_help"; then
1187
1188   cat <<\_ACEOF
1189
1190 Optional Features:
1191   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
1192   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
1193   --enable-error-checking enable error checking
1194   --enable-tracing        enable tracing modules
1195   --enable-charmdebug     enable charmDebug
1196   --enable-replay         enable record/replay
1197
1198 Optional Packages:
1199   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
1200   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
1201   --with-numa             support memory affinity with NUMA
1202
1203 _ACEOF
1204 ac_status=$?
1205 fi
1206
1207 if test "$ac_init_help" = "recursive"; then
1208   # If there are subdirs, report their specific --help.
1209   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1210     test -d "$ac_dir" || continue
1211     ac_builddir=.
1212
1213 case "$ac_dir" in
1214 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1215 *)
1216   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
1217   # A ".." for each directory in $ac_dir_suffix.
1218   ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
1219   case $ac_top_builddir_sub in
1220   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1221   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1222   esac ;;
1223 esac
1224 ac_abs_top_builddir=$ac_pwd
1225 ac_abs_builddir=$ac_pwd$ac_dir_suffix
1226 # for backward compatibility:
1227 ac_top_builddir=$ac_top_build_prefix
1228
1229 case $srcdir in
1230   .)  # We are building in place.
1231     ac_srcdir=.
1232     ac_top_srcdir=$ac_top_builddir_sub
1233     ac_abs_top_srcdir=$ac_pwd ;;
1234   [\\/]* | ?:[\\/]* )  # Absolute name.
1235     ac_srcdir=$srcdir$ac_dir_suffix;
1236     ac_top_srcdir=$srcdir
1237     ac_abs_top_srcdir=$srcdir ;;
1238   *) # Relative name.
1239     ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1240     ac_top_srcdir=$ac_top_build_prefix$srcdir
1241     ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1242 esac
1243 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1244
1245     cd "$ac_dir" || { ac_status=$?; continue; }
1246     # Check for guested configure.
1247     if test -f "$ac_srcdir/configure.gnu"; then
1248       echo &&
1249       $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1250     elif test -f "$ac_srcdir/configure"; then
1251       echo &&
1252       $SHELL "$ac_srcdir/configure" --help=recursive
1253     else
1254       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1255     fi || ac_status=$?
1256     cd "$ac_pwd" || { ac_status=$?; break; }
1257   done
1258 fi
1259
1260 test -n "$ac_init_help" && exit $ac_status
1261 if $ac_init_version; then
1262   cat <<\_ACEOF
1263 configure
1264 generated by GNU Autoconf 2.61
1265
1266 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
1267 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
1268 This configure script is free software; the Free Software Foundation
1269 gives unlimited permission to copy, distribute and modify it.
1270 _ACEOF
1271   exit
1272 fi
1273 cat >config.log <<_ACEOF
1274 This file contains any messages produced by compilers while
1275 running configure, to aid debugging if configure makes a mistake.
1276
1277 It was created by $as_me, which was
1278 generated by GNU Autoconf 2.61.  Invocation command line was
1279
1280   $ $0 $@
1281
1282 _ACEOF
1283 exec 5>>config.log
1284 {
1285 cat <<_ASUNAME
1286 ## --------- ##
1287 ## Platform. ##
1288 ## --------- ##
1289
1290 hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
1291 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1292 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1293 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1294 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1295
1296 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
1297 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
1298
1299 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
1300 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
1301 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
1302 /usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
1303 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
1304 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
1305 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
1306
1307 _ASUNAME
1308
1309 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1310 for as_dir in $PATH
1311 do
1312   IFS=$as_save_IFS
1313   test -z "$as_dir" && as_dir=.
1314   echo "PATH: $as_dir"
1315 done
1316 IFS=$as_save_IFS
1317
1318 } >&5
1319
1320 cat >&5 <<_ACEOF
1321
1322
1323 ## ----------- ##
1324 ## Core tests. ##
1325 ## ----------- ##
1326
1327 _ACEOF
1328
1329
1330 # Keep a trace of the command line.
1331 # Strip out --no-create and --no-recursion so they do not pile up.
1332 # Strip out --silent because we don't want to record it for future runs.
1333 # Also quote any args containing shell meta-characters.
1334 # Make two passes to allow for proper duplicate-argument suppression.
1335 ac_configure_args=
1336 ac_configure_args0=
1337 ac_configure_args1=
1338 ac_must_keep_next=false
1339 for ac_pass in 1 2
1340 do
1341   for ac_arg
1342   do
1343     case $ac_arg in
1344     -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
1345     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1346     | -silent | --silent | --silen | --sile | --sil)
1347       continue ;;
1348     *\'*)
1349       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
1350     esac
1351     case $ac_pass in
1352     1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
1353     2)
1354       ac_configure_args1="$ac_configure_args1 '$ac_arg'"
1355       if test $ac_must_keep_next = true; then
1356         ac_must_keep_next=false # Got value, back to normal.
1357       else
1358         case $ac_arg in
1359           *=* | --config-cache | -C | -disable-* | --disable-* \
1360           | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
1361           | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
1362           | -with-* | --with-* | -without-* | --without-* | --x)
1363             case "$ac_configure_args0 " in
1364               "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
1365             esac
1366             ;;
1367           -* ) ac_must_keep_next=true ;;
1368         esac
1369       fi
1370       ac_configure_args="$ac_configure_args '$ac_arg'"
1371       ;;
1372     esac
1373   done
1374 done
1375 $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
1376 $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
1377
1378 # When interrupted or exit'd, cleanup temporary files, and complete
1379 # config.log.  We remove comments because anyway the quotes in there
1380 # would cause problems or look ugly.
1381 # WARNING: Use '\'' to represent an apostrophe within the trap.
1382 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
1383 trap 'exit_status=$?
1384   # Save into config.log some information that might help in debugging.
1385   {
1386     echo
1387
1388     cat <<\_ASBOX
1389 ## ---------------- ##
1390 ## Cache variables. ##
1391 ## ---------------- ##
1392 _ASBOX
1393     echo
1394     # The following way of writing the cache mishandles newlines in values,
1395 (
1396   for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
1397     eval ac_val=\$$ac_var
1398     case $ac_val in #(
1399     *${as_nl}*)
1400       case $ac_var in #(
1401       *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
1402 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
1403       esac
1404       case $ac_var in #(
1405       _ | IFS | as_nl) ;; #(
1406       *) $as_unset $ac_var ;;
1407       esac ;;
1408     esac
1409   done
1410   (set) 2>&1 |
1411     case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
1412     *${as_nl}ac_space=\ *)
1413       sed -n \
1414         "s/'\''/'\''\\\\'\'''\''/g;
1415           s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
1416       ;; #(
1417     *)
1418       sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
1419       ;;
1420     esac |
1421     sort
1422 )
1423     echo
1424
1425     cat <<\_ASBOX
1426 ## ----------------- ##
1427 ## Output variables. ##
1428 ## ----------------- ##
1429 _ASBOX
1430     echo
1431     for ac_var in $ac_subst_vars
1432     do
1433       eval ac_val=\$$ac_var
1434       case $ac_val in
1435       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
1436       esac
1437       echo "$ac_var='\''$ac_val'\''"
1438     done | sort
1439     echo
1440
1441     if test -n "$ac_subst_files"; then
1442       cat <<\_ASBOX
1443 ## ------------------- ##
1444 ## File substitutions. ##
1445 ## ------------------- ##
1446 _ASBOX
1447       echo
1448       for ac_var in $ac_subst_files
1449       do
1450         eval ac_val=\$$ac_var
1451         case $ac_val in
1452         *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
1453         esac
1454         echo "$ac_var='\''$ac_val'\''"
1455       done | sort
1456       echo
1457     fi
1458
1459     if test -s confdefs.h; then
1460       cat <<\_ASBOX
1461 ## ----------- ##
1462 ## confdefs.h. ##
1463 ## ----------- ##
1464 _ASBOX
1465       echo
1466       cat confdefs.h
1467       echo
1468     fi
1469     test "$ac_signal" != 0 &&
1470       echo "$as_me: caught signal $ac_signal"
1471     echo "$as_me: exit $exit_status"
1472   } >&5
1473   rm -f core *.core core.conftest.* &&
1474     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
1475     exit $exit_status
1476 ' 0
1477 for ac_signal in 1 2 13 15; do
1478   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
1479 done
1480 ac_signal=0
1481
1482 # confdefs.h avoids OS command line length limits that DEFS can exceed.
1483 rm -f -r conftest* confdefs.h
1484
1485 # Predefined preprocessor variables.
1486
1487 cat >>confdefs.h <<_ACEOF
1488 #define PACKAGE_NAME "$PACKAGE_NAME"
1489 _ACEOF
1490
1491
1492 cat >>confdefs.h <<_ACEOF
1493 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
1494 _ACEOF
1495
1496
1497 cat >>confdefs.h <<_ACEOF
1498 #define PACKAGE_VERSION "$PACKAGE_VERSION"
1499 _ACEOF
1500
1501
1502 cat >>confdefs.h <<_ACEOF
1503 #define PACKAGE_STRING "$PACKAGE_STRING"
1504 _ACEOF
1505
1506
1507 cat >>confdefs.h <<_ACEOF
1508 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
1509 _ACEOF
1510
1511
1512 # Let the site file select an alternate cache file if it wants to.
1513 # Prefer explicitly selected file to automatically selected ones.
1514 if test -n "$CONFIG_SITE"; then
1515   set x "$CONFIG_SITE"
1516 elif test "x$prefix" != xNONE; then
1517   set x "$prefix/share/config.site" "$prefix/etc/config.site"
1518 else
1519   set x "$ac_default_prefix/share/config.site" \
1520         "$ac_default_prefix/etc/config.site"
1521 fi
1522 shift
1523 for ac_site_file
1524 do
1525   if test -r "$ac_site_file"; then
1526     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
1527 echo "$as_me: loading site script $ac_site_file" >&6;}
1528     sed 's/^/| /' "$ac_site_file" >&5
1529     . "$ac_site_file"
1530   fi
1531 done
1532
1533 if test -r "$cache_file"; then
1534   # Some versions of bash will fail to source /dev/null (special
1535   # files actually), so we avoid doing that.
1536   if test -f "$cache_file"; then
1537     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
1538 echo "$as_me: loading cache $cache_file" >&6;}
1539     case $cache_file in
1540       [\\/]* | ?:[\\/]* ) . "$cache_file";;
1541       *)                      . "./$cache_file";;
1542     esac
1543   fi
1544 else
1545   { echo "$as_me:$LINENO: creating cache $cache_file" >&5
1546 echo "$as_me: creating cache $cache_file" >&6;}
1547   >$cache_file
1548 fi
1549
1550 # Check that the precious variables saved in the cache have kept the same
1551 # value.
1552 ac_cache_corrupted=false
1553 for ac_var in $ac_precious_vars; do
1554   eval ac_old_set=\$ac_cv_env_${ac_var}_set
1555   eval ac_new_set=\$ac_env_${ac_var}_set
1556   eval ac_old_val=\$ac_cv_env_${ac_var}_value
1557   eval ac_new_val=\$ac_env_${ac_var}_value
1558   case $ac_old_set,$ac_new_set in
1559     set,)
1560       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
1561 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
1562       ac_cache_corrupted=: ;;
1563     ,set)
1564       { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
1565 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
1566       ac_cache_corrupted=: ;;
1567     ,);;
1568     *)
1569       if test "x$ac_old_val" != "x$ac_new_val"; then
1570         { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
1571 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
1572         { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
1573 echo "$as_me:   former value:  $ac_old_val" >&2;}
1574         { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
1575 echo "$as_me:   current value: $ac_new_val" >&2;}
1576         ac_cache_corrupted=:
1577       fi;;
1578   esac
1579   # Pass precious variables to config.status.
1580   if test "$ac_new_set" = set; then
1581     case $ac_new_val in
1582     *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
1583     *) ac_arg=$ac_var=$ac_new_val ;;
1584     esac
1585     case " $ac_configure_args " in
1586       *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
1587       *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
1588     esac
1589   fi
1590 done
1591 if $ac_cache_corrupted; then
1592   { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
1593 echo "$as_me: error: changes in the environment can compromise the build" >&2;}
1594   { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
1595 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
1596    { (exit 1); exit 1; }; }
1597 fi
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615 ac_ext=c
1616 ac_cpp='$CPP $CPPFLAGS'
1617 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
1618 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
1619 ac_compiler_gnu=$ac_cv_c_compiler_gnu
1620
1621
1622
1623 ac_config_headers="$ac_config_headers conv-autoconfig.h"
1624
1625
1626 CHARMINC="."
1627 test -r ./conv-config.sh && . ./conv-config.sh
1628
1629 #keep it a decimal
1630 VERSION=60301
1631 echo $VERSION > ../include/VERSION
1632
1633 cat >>confdefs.h <<_ACEOF
1634 #define CHARM_VERSION $VERSION
1635 _ACEOF
1636
1637
1638 charmout="charmconfig.out"
1639 /bin/rm -rf $charmout
1640
1641 Echo() {
1642         echo $*
1643         echo $* >> $charmout
1644 }
1645
1646 # enable/disable error checking
1647 # Check whether --enable-error-checking was given.
1648 if test "${enable_error_checking+set}" = set; then
1649   enableval=$enable_error_checking;
1650 else
1651   enable_error_checking=yes
1652 fi
1653
1654
1655 if test "$enable_error_checking" = "no"
1656 then
1657   Echo "Error checking is disabled"
1658
1659 cat >>confdefs.h <<_ACEOF
1660 #define CMK_ERROR_CHECKING 0
1661 _ACEOF
1662
1663 else
1664
1665 cat >>confdefs.h <<_ACEOF
1666 #define CMK_ERROR_CHECKING 1
1667 _ACEOF
1668
1669 fi
1670
1671 # check enable/disable
1672 # Check whether --enable-tracing was given.
1673 if test "${enable_tracing+set}" = set; then
1674   enableval=$enable_tracing;
1675 else
1676   enable_tracing=yes
1677 fi
1678
1679
1680 if test "$enable_tracing" = "no"
1681 then
1682   Echo "Charm tracing is disabled"
1683
1684 cat >>confdefs.h <<_ACEOF
1685 #define CMK_TRACE_ENABLED 0
1686 _ACEOF
1687
1688 else
1689
1690 cat >>confdefs.h <<_ACEOF
1691 #define CMK_TRACE_ENABLED 1
1692 _ACEOF
1693
1694 fi
1695
1696 # Check whether --enable-charmdebug was given.
1697 if test "${enable_charmdebug+set}" = set; then
1698   enableval=$enable_charmdebug;
1699 else
1700   enable_charmdebug=yes
1701 fi
1702
1703
1704 if test "$enable_charmdebug" = "no"
1705 then
1706   Echo "CharmDebug is disabled"
1707
1708 cat >>confdefs.h <<_ACEOF
1709 #define CMK_CHARMDEBUG 0
1710 _ACEOF
1711
1712 else
1713
1714 cat >>confdefs.h <<_ACEOF
1715 #define CMK_CHARMDEBUG 1
1716 _ACEOF
1717
1718 fi
1719
1720 # Check whether --enable-replay was given.
1721 if test "${enable_replay+set}" = set; then
1722   enableval=$enable_replay; enable_replay=$enableval
1723 else
1724   enable_replay=yes
1725 fi
1726
1727
1728 if test "$enable_replay" = "no"
1729 then
1730   Echo "Charm record/replay is disabled"
1731
1732 cat >>confdefs.h <<_ACEOF
1733 #define CMK_REPLAYSYSTEM 0
1734 _ACEOF
1735
1736 fi
1737
1738
1739 # Check whether --with-numa was given.
1740 if test "${with_numa+set}" = set; then
1741   withval=$with_numa;
1742 else
1743   with_numa=no
1744 fi
1745
1746
1747 WITH_NUMA=no
1748 if test "$with_numa" = "yes"
1749 then
1750   Echo "Charm NUMA support is builtin"
1751   WITH_NUMA=yes
1752 fi
1753
1754
1755 #
1756 { echo "$as_me:$LINENO: checking machine name" >&5
1757 echo $ECHO_N "checking machine name... $ECHO_C" >&6; }
1758 version=`pwd | awk -F/ '{print $(NF-1)}'`
1759 base_version=`cat .vdir`
1760
1761 cat >>confdefs.h <<_ACEOF
1762 #define CMK_MACHINE_NAME "$version"
1763 _ACEOF
1764
1765 { echo "$as_me:$LINENO: result: $version" >&5
1766 echo "${ECHO_T}$version" >&6; }
1767
1768
1769 t="test.cpp"
1770 tc="test.c"
1771
1772 # test result passed in $1
1773 # If the test suceeded, print $3 and set "pass"/clear "fail"
1774 # If the test failed, print $2 and clear "pass"/set "fail"
1775 test_result() {
1776         if test $1 -eq 0
1777         then
1778                 { echo "$as_me:$LINENO: result: \"$3\"" >&5
1779 echo "${ECHO_T}\"$3\"" >&6; }
1780                 pass="1"
1781                 fail="0"
1782         else
1783                 { echo "$as_me:$LINENO: result: \"$4\"" >&5
1784 echo "${ECHO_T}\"$4\"" >&6; }
1785                 pass="0"
1786                 fail="1"
1787 # For debugging the configure script, just "export autoconf_debug=1"
1788 #  to get this verbose data on any failed tests:
1789                 if test ! -z "$autoconf_debug"
1790                 then
1791                         echo "------- test script for $2 failed:"
1792                         cat out
1793                         echo "------- the test program was:"
1794                         cat $t
1795                         echo "-------"
1796                 fi
1797         fi
1798 }
1799
1800 # Test: tries to compile C file $t (described by $1).
1801 #  If successful, prints $2 and sets $pass/clears $fail
1802 #  If failure, prints $3 and sets $pass/clears $fail
1803 #  additional arguments to c++ compiler are passed as $4
1804 test_cc() {
1805         { echo "$as_me:$LINENO: checking \"$1\"" >&5
1806 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6; }
1807         echo "### $1" >> $charmout
1808         cat $tc >> $charmout
1809         echo $CMK_CC -I../include -I. $CMK_LIBDIR $CMK_INCDIR $OPTS_CC $OPTS_LD -c $tc -o test.o $4 >> $charmout
1810         $CMK_CC -I../include -I. $CMK_LIBDIR $CMK_INCDIR $OPTS_CC $OPTS_LD -c $tc -o test.o $4 > out 2>&1
1811         test_result $? "$1" "$2" "$3"
1812         strictpass=$pass
1813         strictfail=$fail
1814         if test $pass -eq 1
1815         then
1816           if cat out | grep -i "warn" > /dev/null 2>&1
1817           then
1818             strictpass="0" && strictfail="1"
1819           fi
1820         fi
1821         cat out >> $charmout
1822         /bin/rm -f out
1823 }
1824
1825 # Test: tries to compile C++ file $t (described by $1).
1826 #  If successful, prints $2 and sets $pass/clears $fail
1827 #  If failure, prints $3 and sets $pass/clears $fail
1828 #  additional arguments to c++ compiler are passed as $4
1829 test_cxx() {
1830         { echo "$as_me:$LINENO: checking \"$1\"" >&5
1831 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6; }
1832         echo "### $1" >> $charmout
1833         cat $t >> $charmout
1834         echo $CMK_CXX -I../include -I. $CMK_LIBDIR $CMK_INCDIR $OPTS_CXX $OPTS_LD -c $t -o test.o $4 >> $charmout
1835         $CMK_CXX -I../include -I. $CMK_LIBDIR $CMK_INCDIR $OPTS_CXX $OPTS_LD -c $t -o test.o $4 > out 2>&1
1836         test_result $? "$1" "$2" "$3"
1837         strictpass=$pass
1838         strictfail=$fail
1839         if test $pass -eq 1
1840         then
1841           if cat out | grep -i "warn" > /dev/null 2>&1
1842           then
1843             strictpass="0" && strictfail="1"
1844           fi
1845         fi
1846         cat out >> $charmout
1847         /bin/rm -f out
1848 }
1849
1850 # Testlink: tries to compile and link a C++ file $t (described by $1).
1851 #  If successful, prints $2 and sets $pass/clears $fail
1852 #  If failure, prints $3 and sets $pass/clears $fail
1853 #  additional arguments to c++ compiler are passed as $4
1854 test_link() {
1855         { echo "$as_me:$LINENO: checking \"$1\"" >&5
1856 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6; }
1857         echo "### $1" >> $charmout
1858         cat $t >> $charmout
1859         echo $CMK_CXX -I../include -I. $CMK_INCDIR $OPTS_CXX -c $t -o test.o $4 >> $charmout
1860         $CMK_CXX -I../include -I. $CMK_INCDIR $OPTS_CXX -c $t -o test.o $4 > out 2>&1
1861         if test $? -ne 0
1862         then
1863           test_result 1 "$1" "$2" "$3"
1864         else
1865           echo $CMK_LDXX -o testlink test.o $CMK_LIBDIR $OPTS_LD $CMK_SYSLIBS $4 >> $charmout
1866           $CMK_LDXX -o testlink test.o $CMK_LIBDIR $OPTS_LD $CMK_SYSLIBS $4 >> out 2>&1
1867           ret=$?
1868           test ! -x testlink && ret=1
1869           test_result $ret "$1" "$2" "$3"
1870         fi
1871         strictpass=$pass
1872         strictfail=$fail
1873         if test $pass -eq 1
1874         then
1875           if cat out | grep -i "warn" > /dev/null 2>&1
1876           then
1877             strictpass="0" && strictfail="1"
1878           fi
1879         fi
1880         cat out >> $charmout
1881         /bin/rm -f out
1882 }
1883
1884 # Testlinkc: tries to compile and link a C file $t (described by $1).
1885 #  If successful, prints $2 and sets $pass/clears $fail
1886 #  If failure, prints $3 and sets $pass/clears $fail
1887 #  additional arguments to c++ compiler are passed as $4
1888 test_linkc() {
1889         { echo "$as_me:$LINENO: checking \"$1\"" >&5
1890 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6; }
1891         echo "### $1" >> $charmout
1892         cat $tc >> $charmout
1893         echo $CMK_CC -I../include -I. $CMK_INCDIR $OPTS_CC -c $tc -o test.o $4 >> $charmout
1894         $CMK_CC -I../include -I. $CMK_INCDIR $OPTS_CC -c $tc -o test.o $4 > out 2>&1
1895         if test $? -ne 0
1896         then
1897           test_result 1 "$1" "$2" "$3"
1898         else
1899           echo $CMK_LD -o testlink test.o $CMK_LIBDIR $OPTS_LD $CMK_SYSLIBS $4 >> $charmout
1900           $CMK_LD -o testlink test.o $CMK_LIBDIR $OPTS_LD $CMK_SYSLIBS $4 >> out 2>&1
1901           test_result $? "$1" "$2" "$3"
1902         fi
1903         strictpass=$pass
1904         strictfail=$fail
1905         if test $pass -eq 1
1906         then
1907           if cat out | grep -i "warn" > /dev/null 2>&1
1908           then
1909             strictpass="0" && strictfail="1"
1910           fi
1911         fi
1912         cat out >> $charmout
1913         /bin/rm -f out
1914 }
1915
1916 # test_linkso $1 $2 $3 $4, where
1917 # $1: debug msg
1918 # $2: yes msg
1919 # $3: no msg
1920 # $4: extra link option
1921 test_linkso() {
1922         { echo "$as_me:$LINENO: checking \"$1\"" >&5
1923 echo $ECHO_N "checking \"$1\"... $ECHO_C" >&6; }
1924         echo $1 >> $charmout
1925         cat $t >> $charmout
1926         echo $CMK_CXX -I../include -I. $CMK_INCDIR $OPTS_CXX -c $t -o test.o $4 >> $charmout
1927         $CMK_CXX -I../include -I. $CMK_INCDIR $OPTS_CXX -c $t -o test.o $4 > out 2>&1
1928         if test $? = 1
1929         then
1930           test_result 1 "$1" "$2" "$3"
1931         else
1932           echo $CMK_LD -I../include -I. $CMK_LIBDIR $OPTS_LD $CMK_LD_SHARED test.o -o testlink.$CMK_SHARED_SUF $4 >> $charmout
1933           $CMK_LD -I../include -I. $CMK_LIBDIR $OPTS_LD $CMK_LD_SHARED test.o -o testlink.$CMK_SHARED_SUF $4 > out 2>&1
1934           test_result $? "$1" "$2" "$3"
1935         fi
1936         cat out >> $charmout
1937         /bin/rm -f out testlink.$CMK_SHARED_SUF
1938 }
1939
1940 # add into conv-mach-opt.sh
1941 # add_flag $1 $2
1942 # $2 is description
1943 add_flag() {
1944         key=`echo $1 | cut -d'=' -f1`
1945         last=`grep $key ../include/conv-mach-opt.sh 2>/dev/null | tail -1`
1946         skip=0
1947         if test -n "$last" -a  "$last" = "$1"
1948         then
1949           skip=1
1950         fi
1951         if test $skip = 0
1952         then
1953           cat >> ../include/conv-mach-opt.sh << EOT
1954
1955 # Option added by configure script's $2 section
1956 $1
1957
1958 EOT
1959         fi
1960 }
1961
1962 test_finish() {
1963         rm -f $t $tc testlink test.o    > /dev/null 2>&1
1964         /bin/rm -f out
1965         exit $1
1966 }
1967
1968 # detect certain architectures
1969 if cat /proc/cpuinfo 2>/dev/null | grep 'POWER7'  > /dev/null
1970 then
1971
1972 cat >>confdefs.h <<_ACEOF
1973 #define CMK_POWER7 1
1974 _ACEOF
1975
1976 fi
1977
1978 # try to decide the version of glibc
1979 get_glibc_version() {
1980 t=test.c
1981 cat > $t <<EOT
1982 #include <stdio.h>
1983 #include <gnu/libc-version.h>
1984 int main (void) { puts (gnu_get_libc_version ()); return 0; }
1985 EOT
1986 gcc -o gver test.c
1987 GLIBCVERSION=`./gver`
1988 /bin/rm -f $t gver
1989 }
1990
1991 cat > $t <<EOT
1992 #include <stdio.h>
1993 void foo(void) {
1994         printf("Hello, world!\n");
1995 }
1996 EOT
1997 #echo "set C++ compiler as: $CMK_CXX $OPTS_CXX $OPTS"
1998 { echo "$as_me:$LINENO: checking \"C++ compiler as\"" >&5
1999 echo $ECHO_N "checking \"C++ compiler as\"... $ECHO_C" >&6; }
2000 { echo "$as_me:$LINENO: result: \"$CMK_CXX $OPTS_CXX $OPTS\"" >&5
2001 echo "${ECHO_T}\"$CMK_CXX $OPTS_CXX $OPTS\"" >&6; }
2002 test_cxx "whether C++ compiler works" "ok" "no" ""
2003 if test $fail -eq 1
2004 then
2005         echo "Cannot compile C++ programs with $CMK_CXX"
2006         echo " (check your charm++ version)"
2007         test_finish 1
2008 fi
2009
2010 cat > $t <<EOT
2011 #include <stdio.h>
2012 int main() {
2013         printf("Hello, world!\n");
2014         return 0;
2015 }
2016 EOT
2017 #echo "set C++ linker as: $CMK_LDXX $OPTS_LDXX"
2018 { echo "$as_me:$LINENO: checking \"C++ linker as\"" >&5
2019 echo $ECHO_N "checking \"C++ linker as\"... $ECHO_C" >&6; }
2020 { echo "$as_me:$LINENO: result: \"$CMK_LDXX $OPTS_LDXX\"" >&5
2021 echo "${ECHO_T}\"$CMK_LDXX $OPTS_LDXX\"" >&6; }
2022 test_link "whether linker works" "ok" "no" ""
2023 if test $fail -eq 1
2024 then
2025         echo "Cannot link C++ programs with $CMK_LDXX"
2026         echo " (check your charm++ version)"
2027         test_finish 1
2028 fi
2029
2030 if test "$base_version" = "net-linux"
2031 then
2032   test_link "whether linker accept --allow-multiple-definition" "ok" "no" "-Wl,--allow-multiple-definition"
2033   if test $pass -eq 1
2034   then
2035         add_flag CMK_LDXX='"$CMK_LDXX -Wl,--allow-multiple-definition"' "net-linux linker"
2036   fi
2037 fi
2038
2039 # Perform the tests
2040
2041 #### Check if compiler if 64 bit ####
2042 cat > $t <<EOT
2043 #include <stdio.h>
2044
2045 int foo()
2046 {
2047 int x[sizeof(void *) - 7]={0};
2048 return x[0];
2049 }
2050 EOT
2051 test_cxx "whether compiler is 64bit" "yes" "no" ""
2052
2053 cat >>confdefs.h <<_ACEOF
2054 #define CMK_SIZET_64BIT $strictpass
2055 _ACEOF
2056
2057
2058
2059 #### check strings.h ####
2060 cat > $t <<EOT
2061 #include <strings.h>
2062 int main() {
2063   char str[8];
2064   bzero(str, 8);
2065   return 0;
2066 }
2067 EOT
2068 test_cxx "whether has strings.h " "yes" "no" ""
2069
2070 cat >>confdefs.h <<_ACEOF
2071 #define CMK_HAS_STRINGS_H $pass
2072 _ACEOF
2073
2074
2075 #### test if has values.h ####
2076 cat > $t <<EOT
2077 #include <values.h>
2078 int main() {
2079   double d = MAXDOUBLE;
2080   return 0;
2081 }
2082 EOT
2083 test_cxx "whether has values.h " "yes" "no" ""
2084
2085 cat >>confdefs.h <<_ACEOF
2086 #define CMK_HAS_VALUES_H $pass
2087 _ACEOF
2088
2089
2090 #### test if has stdint.h ####
2091 cat > $t <<EOT
2092 #include <stdint.h>
2093 int main() {
2094   return 0;
2095 }
2096 EOT
2097 test_cxx "whether has stdint.h " "yes" "no" ""
2098
2099 cat >>confdefs.h <<_ACEOF
2100 #define CMK_HAS_STDINT_H $pass
2101 _ACEOF
2102
2103
2104 #### test if has malloc.h ####
2105 cat > $t <<EOT
2106 #include <malloc.h>
2107 int main() {
2108   return 0;
2109 }
2110 EOT
2111 test_cxx "whether has malloc.h " "yes" "no" ""
2112
2113 cat >>confdefs.h <<_ACEOF
2114 #define CMK_HAS_MALLOC_H $pass
2115 _ACEOF
2116
2117
2118 #### test if has alloca.h ####
2119 cat > $t <<EOT
2120 #include <alloca.h>
2121 int main() {
2122   double *s=(double *)alloca(sizeof(double));
2123   *s=1.0;
2124   return 0;
2125 }
2126 EOT
2127 test_cxx "whether has alloca.h " "yes" "no" ""
2128
2129 cat >>confdefs.h <<_ACEOF
2130 #define CMK_HAS_ALLOCA_H $pass
2131 _ACEOF
2132
2133
2134 #### test if has regex.h ####
2135 cat > $t <<EOT
2136 #include <regex.h>
2137 int main() {
2138   regex_t re;
2139   regcomp(&re, ".*MOD.*", REG_EXTENDED|REG_NOSUB);
2140   return 0;
2141 }
2142 EOT
2143 test_cxx "whether has regex.h " "yes" "no" ""
2144
2145 cat >>confdefs.h <<_ACEOF
2146 #define CMK_HAS_REGEX_H $pass
2147 _ACEOF
2148
2149
2150 #### Check bool ####
2151 cat > $t <<EOT
2152 #include <stdlib.h>
2153 bool foo(void) { return true; }
2154 EOT
2155 test_cxx "whether C++ bool works" "ok" "no" ""
2156
2157 cat >>confdefs.h <<_ACEOF
2158 #define CMK_BOOL_DEFINED $pass
2159 _ACEOF
2160
2161
2162 #### Check long long ####
2163 cat > $t <<EOT
2164 #include <stdlib.h>
2165 long long foo(void) { return 17; }
2166 EOT
2167 test_cxx "whether long long works" "ok" "no" ""
2168
2169 cat >>confdefs.h <<_ACEOF
2170 #define CMK_LONG_LONG_DEFINED $pass
2171 _ACEOF
2172
2173
2174 #### Check __int64 ####
2175 cat > $t <<EOT
2176 #include <stdlib.h>
2177 __int64 foo(void) { return 17; }
2178 EOT
2179 test_cxx "whether __int64 works" "ok" "no" ""
2180
2181 cat >>confdefs.h <<_ACEOF
2182 #define CMK___int64_DEFINED $pass
2183 _ACEOF
2184
2185
2186 #### Check long double ####
2187 cat > $t <<EOT
2188 #include <stdlib.h>
2189 long double foo(void) { return 17.0; }
2190 EOT
2191 test_cxx "whether long double works" "ok" "no" ""
2192
2193 cat >>confdefs.h <<_ACEOF
2194 #define CMK_LONG_DOUBLE_DEFINED $strictpass
2195 _ACEOF
2196
2197
2198 #### Check ucontext and FPU pointer ####
2199 cat > $t <<EOT
2200 #include <ucontext.h>
2201 struct _libc_fpstate   fpstate;
2202 fpregset_t *fp;
2203 EOT
2204 test_cxx "whether ucontext has FPU pointer" "yes" "no" ""
2205
2206 cat >>confdefs.h <<_ACEOF
2207 #define CMK_CONTEXT_FPU_POINTER $pass
2208 _ACEOF
2209
2210
2211 if test $pass -eq 1
2212 then
2213 cat > $t <<EOT
2214 #include <ucontext.h>
2215
2216 int main()
2217 {
2218   ucontext_t context;
2219   context.uc_mcontext.uc_regs = 0;
2220 }
2221 EOT
2222 test_cxx "whether ucontext uses uc_regs" "yes" "no" ""
2223
2224 cat >>confdefs.h <<_ACEOF
2225 #define CMK_CONTEXT_FPU_POINTER_UCREGS $pass
2226 _ACEOF
2227
2228 fi
2229
2230 cat > $t <<EOT
2231 #include <ucontext.h>
2232 vrregset_t *v_regs;
2233 ucontext_t  uc;
2234
2235 void foo()
2236 {
2237   vrregset_t *ptr = uc.uc_mcontext.v_regs;
2238 }
2239 EOT
2240 test_cxx "whether ucontext has pointer (v_regs) of vector type" "yes" "no" ""
2241
2242 cat >>confdefs.h <<_ACEOF
2243 #define CMK_CONTEXT_V_REGS $pass
2244 _ACEOF
2245
2246
2247 ###################### C++ Compiler Features #####################
2248
2249 #### check C inline ####
2250 cat > $tc <<EOT
2251 inline static int foo()
2252 {
2253   return 1;
2254 }
2255 EOT
2256 test_cc "whether inline works in C" "yes" "no" ""
2257
2258 cat >>confdefs.h <<_ACEOF
2259 #define CMK_C_INLINE $strictpass
2260 _ACEOF
2261
2262
2263 #### check explicit ####
2264 cat > $t <<EOT
2265 #include <stdlib.h>
2266 class er {
2267  protected:
2268    explicit er(unsigned int inType) {};
2269 };
2270 EOT
2271 test_cxx "whether C++ class explicit keyword works" "ok" "no" ""
2272
2273 cat >>confdefs.h <<_ACEOF
2274 #define CMK_EXPLICIT $pass
2275 _ACEOF
2276
2277
2278 #### check if signed char is same as char ####
2279 cat > $t <<EOT
2280 #include <stdlib.h>
2281 class er {
2282  protected:
2283    void operator()(char &v,const char *desc=NULL) {};
2284    void operator()(signed char &v,const char *desc=NULL) {};
2285 };
2286 EOT
2287 test_cxx "whether C++ signed char and char differ" "yes" "no" ""
2288
2289 cat >>confdefs.h <<_ACEOF
2290 #define CMK_SIGNEDCHAR_DIFF_CHAR $pass
2291 _ACEOF
2292
2293
2294 #### check if C++ casts work ####
2295 cat > $t <<EOT
2296 int foo(float *t) {return *reinterpret_cast<int *>(t);}
2297 EOT
2298 test_cxx "whether C++ *_casts<> work" "ok" "no" ""
2299
2300 cat >>confdefs.h <<_ACEOF
2301 #define CMK_CPP_CAST_LEGAL $pass
2302 _ACEOF
2303
2304
2305 cat >>confdefs.h <<_ACEOF
2306 #define CMK_CPP_CAST_ILLEGAL $fail
2307 _ACEOF
2308
2309
2310
2311 ### check if varsize array on stack ####
2312 cat > $t <<EOT
2313 #include <stdio.h>
2314 void foo()
2315 {
2316   int size=10;
2317   char arrsize;
2318 }
2319
2320 EOT
2321 test_cxx "whether C++ allows declaration of varsize array" "yes" "no" ""
2322
2323 cat >>confdefs.h <<_ACEOF
2324 #define CMK_DECLARE_VARSIZE_ARRAY $pass
2325 _ACEOF
2326
2327
2328 ##### check if the stl headers use .h #####
2329 cat > $t <<EOT
2330 #include <iostream>
2331 void foo(void) { std::cout<<"Hello, world"<<std::endl; }
2332 EOT
2333 test_cxx "whether including STL <foo> works" "ok" "no" ""
2334
2335 cat >>confdefs.h <<_ACEOF
2336 #define CMK_STL_USE_DOT_H $fail
2337 _ACEOF
2338
2339
2340 cat >>confdefs.h <<_ACEOF
2341 #define CMK_STL_DONT_USE_DOT_H $pass
2342 _ACEOF
2343
2344
2345 #### check if std::vector works ######
2346 cat > $t <<EOT
2347 #include <vector>
2348
2349 int foo(void) {
2350   std::vector<int> v;
2351   v.push_back(2); v.push_back(3);
2352   std::vector<int>::iterator it=v.begin();
2353   it++;
2354   return *it;
2355 }
2356 EOT
2357 test_cxx "whether the std:: names for STL work" "ok" "no" ""
2358
2359 cat >>confdefs.h <<_ACEOF
2360 #define CMK_USE_STL $pass
2361 _ACEOF
2362
2363
2364 #### check if namespaces can be defined #####
2365 cat > $t <<EOT
2366 namespace foo {
2367         int x;
2368 }
2369 EOT
2370 test_cxx "whether namespaces work" "ok" "no" ""
2371
2372 cat >>confdefs.h <<_ACEOF
2373 #define CMK_NAMESPACES_BROKEN $fail
2374 _ACEOF
2375
2376
2377
2378 #### check if typeinfo exists and works #####
2379 cat > $t <<EOT
2380 #include <typeinfo>
2381 const char *foo(void) {
2382         int x;
2383         return typeid(x).name();
2384 }
2385 EOT
2386 test_cxx "whether typeinfo/typeid works" "ok" "no" ""
2387
2388 cat >>confdefs.h <<_ACEOF
2389 #define CMK_HAS_TYPEINFO $pass
2390 _ACEOF
2391
2392
2393 #### check if iterator_traits is defined #####
2394 cat > $t <<EOT
2395 #include <iterator>
2396
2397 template <typename T> // T models Input Iterator
2398 typename std::iterator_traits<T>::value_type accumulate(T first, T last)
2399 {
2400       typename std::iterator_traits<T>::value_type result = 0;
2401       while(first != last)
2402             result += *first++;
2403       return result;
2404 }
2405 EOT
2406 test_cxx "whether std::iterator_traits is defined" "ok" "no" ""
2407
2408 cat >>confdefs.h <<_ACEOF
2409 #define CMK_HAS_ITERATOR_TRAITS $pass
2410 _ACEOF
2411
2412
2413 #### check if std::distance is defined #####
2414 cat > $t <<EOT
2415 #include <vector>
2416 #include <iterator>
2417
2418 int foo()
2419 {
2420   std::vector<int> tree;
2421   return std::distance(tree.begin(), tree.end());
2422 }
2423 EOT
2424 test_cxx "whether std::distance is defined" "ok" "no" ""
2425
2426 cat >>confdefs.h <<_ACEOF
2427 #define CMK_HAS_STD_DISTANCE $pass
2428 _ACEOF
2429
2430
2431
2432 #### test if we can have multiple delete like this ####
2433 cat > $t <<EOT
2434 class foo {
2435 public:
2436   void operator delete(void*p){};
2437   void operator delete(void*p,int*){};
2438 };
2439 EOT
2440 test_cxx "whether operator delete can be overloaded in same class" "ok" "no" ""
2441
2442 cat >>confdefs.h <<_ACEOF
2443 #define CMK_MULTIPLE_DELETE $strictpass
2444 _ACEOF
2445
2446
2447
2448 #### test if we can use gcc x86 assembly like this ####
2449 cat > $t <<EOT
2450 double foo(void)
2451 {
2452   unsigned long long int v;
2453   int *lo=0+(int *)&v;
2454   int *hi=1+(int *)&v;
2455   __asm__ __volatile__(
2456       "rdtsc; movl %%edx,%0; movl %%eax,%1"
2457       : /* output  */ "=m" (*hi), "=m" (*lo)
2458       : /* input */
2459       : /* trashes */ "%edx", "%eax"
2460   );
2461   return v;
2462 }
2463 EOT
2464 test_cxx "whether GCC x86 assembly works" "yes" "no" ""
2465
2466 cat >>confdefs.h <<_ACEOF
2467 #define CMK_GCC_X86_ASM $strictpass
2468 _ACEOF
2469
2470
2471 #### test if we can use gcc x86 assembly like this ####
2472 if test $strictpass = 1
2473 then
2474 cat > $t <<EOT
2475 int foo(void)
2476 {
2477   int x;
2478   asm("lock incl %0" :: "m" (x));
2479   asm("lock decl %0" :: "m" (x));
2480   return x;
2481 }
2482 EOT
2483 test_cxx "whether GCC x86 assembly for atomic increment works" "yes" "no" ""
2484
2485 cat >>confdefs.h <<_ACEOF
2486 #define CMK_GCC_X86_ASM_ATOMICINCREMENT $strictpass
2487 _ACEOF
2488
2489 fi
2490
2491 #### test if we can use gcc IA64 assembly like this ####
2492 cat > $t <<EOT
2493 double foo(void)
2494 {
2495         unsigned long long int x;
2496         __asm__ __volatile__("mov %0=ar.itc" : "=r"(x) :: "memory");
2497         return x;
2498 }
2499 EOT
2500 test_cxx "whether GCC IA64 assembly works" "yes" "no" ""
2501
2502 cat >>confdefs.h <<_ACEOF
2503 #define CMK_GCC_IA64_ASM $strictpass
2504 _ACEOF
2505
2506
2507
2508 #### test if we can use PPC assembly like this ####
2509 cat > $t <<EOT
2510 double foo(void)
2511 {
2512         unsigned long long int x;
2513         asm volatile("eieio" ::: "memory");
2514         return x;
2515 }
2516 EOT
2517 test_cxx "whether PPC assembly works" "yes" "no" ""
2518
2519 cat >>confdefs.h <<_ACEOF
2520 #define CMK_PPC_ASM $strictpass
2521 _ACEOF
2522
2523
2524
2525
2526 #### test if we can use __thread ####
2527 cat > $t <<EOT
2528 __thread unsigned long long int x;
2529 static __thread  int y;
2530 void foo(void)
2531 {
2532         x = 1;
2533         y = 1;
2534 }
2535 EOT
2536 test_cxx "whether __thread (Thread Local Storage) is supported" "yes" "no" ""
2537
2538 cat >>confdefs.h <<_ACEOF
2539 #define CMK_TLS_THREAD $strictpass
2540 _ACEOF
2541
2542
2543 #### test if we can build MPI ####
2544 if test "$CMK_BUILD_MPI" = 1
2545 then
2546
2547 cat > $t <<EOT
2548 #include "mpi.h"
2549 int main(int argc, char **argv)
2550 {
2551   MPI_Init(&argc, &argv);
2552 }
2553 EOT
2554 mv -f ../include/mpi.h ../include/mpi.h.bak 2>/dev/null
2555 test_cxx "whether build on MPI" "yes" "no" ""
2556
2557 cat >>confdefs.h <<_ACEOF
2558 #define CMK_BUILD_ON_MPI $strictpass
2559 _ACEOF
2560
2561 BUILD_MPI=$strictpass
2562
2563 if test $BUILD_MPI -eq 0
2564 then
2565   echo "Error: Can not compile a MPI program"
2566   exit 1
2567 fi
2568
2569 if test $BUILD_MPI -eq 1
2570 then
2571   test_link "whether need to specify MPI library" "no" "yes" ""
2572   if test $pass -ne 1
2573   then
2574     if test -z "$CMK_MPI_LIB"
2575     then
2576       test_link "whether -lmpich" "ok" "no" "-lmpich"
2577       if test $pass -eq 1
2578       then
2579         add_flag CMK_SYSLIBS='"$CMK_SYSLIBS -lmpich"' "mpi lib"
2580       else
2581         test_link "whether -lmpi" "ok" "no" "-lmpi"
2582         if test $pass -eq 1
2583         then
2584                 add_flag CMK_SYSLIBS='"$CMK_SYSLIBS -lmpi"' "mpi lib"
2585         else
2586                 echo "Error: can not find mpi library"
2587                 exit 1
2588         fi
2589       fi
2590     else
2591       add_flag CMK_SYSLIBS='"$CMK_SYSLIBS $CMK_MPI_LIB"' "mpi lib"
2592     fi
2593   fi
2594 fi
2595
2596 if test "$BUILD_MPI" = "1"
2597 then
2598 cat > $t <<EOT
2599 #include "mpi.h"
2600 int main(int argc, char **argv)
2601 {
2602   int thread_level, provided;
2603   thread_level = MPI_THREAD_FUNNELED;
2604   MPI_Init_thread(&argc, &argv, thread_level, &provided);
2605 }
2606 EOT
2607 test_cxx "whether MPI_Init_thread is supported" "yes" "no" ""
2608
2609 cat >>confdefs.h <<_ACEOF
2610 #define CMK_MPI_INIT_THREAD $strictpass
2611 _ACEOF
2612
2613 fi
2614 mv -f ../include/mpi.h.bak ../include/mpi.h 2>/dev/null
2615
2616 fi
2617
2618 ################### Syscalls and Libraries ###################
2619
2620 #### test for log2 ###
2621 cat > $t <<EOT
2622 #include <math.h>
2623 int main() {
2624   int i = log2(10);
2625   return 0;
2626 }
2627 EOT
2628 test_link "whether has log2" "yes" "no" ""
2629
2630 cat >>confdefs.h <<_ACEOF
2631 #define CMK_HAS_LOG2 $pass
2632 _ACEOF
2633
2634
2635 #### test for sqrtf ###
2636 cat > $t <<EOT
2637 #include <math.h>
2638 int main() {
2639   float i = sqrtf((float)10.0);
2640   return 0;
2641 }
2642 EOT
2643 test_link "whether has sqrtf" "yes" "no" ""
2644
2645 cat >>confdefs.h <<_ACEOF
2646 #define CMK_HAS_SQRTF $pass
2647 _ACEOF
2648
2649
2650 #### test for fabsf ###
2651 cat > $t <<EOT
2652 #include <math.h>
2653 int main() {
2654   float i = fabsf((float)10.0);
2655   return 0;
2656 }
2657 EOT
2658 test_link "whether has fabsf" "yes" "no" ""
2659
2660 cat >>confdefs.h <<_ACEOF
2661 #define CMK_HAS_FABSF $pass
2662 _ACEOF
2663
2664
2665 #### test for mkstemp ###
2666 cat > $t <<EOT
2667 #include <stdlib.h>
2668 #include <string.h>
2669 int main() {
2670   char fname[128];
2671   strcpy(fname, "/tmp/fdXXX.XXX");
2672   mkstemp(fname);
2673   return 0;
2674 }
2675 EOT
2676 test_link "whether has mkstemp" "yes" "no" ""
2677
2678 cat >>confdefs.h <<_ACEOF
2679 #define CMK_USE_MKSTEMP $pass
2680 _ACEOF
2681
2682
2683 #### test for system ###
2684 cat > $t <<EOT
2685 #include <stdlib.h>
2686 int main() {
2687   system("/bin/ls");
2688   return 0;
2689 }
2690 EOT
2691 test_link "whether has system" "yes" "no" ""
2692
2693 cat >>confdefs.h <<_ACEOF
2694 #define CMK_HAS_SYSTEM $pass
2695 _ACEOF
2696
2697
2698 #### test for sbrk ###
2699 cat > $t <<EOT
2700 #include <unistd.h>
2701 int main() {
2702   void *ptr  = sbrk(0);
2703 }
2704 EOT
2705 test_link "whether has sbrk" "yes" "no" ""
2706
2707 cat >>confdefs.h <<_ACEOF
2708 #define CMK_HAS_SBRK $pass
2709 _ACEOF
2710
2711
2712 #### test for mstats ###
2713 cat > $t <<EOT
2714 #include <malloc.h>
2715 int main() {
2716   struct mstats ms = mstats();
2717 }
2718 EOT
2719 test_link "whether has mstats" "yes" "no" ""
2720
2721 cat >>confdefs.h <<_ACEOF
2722 #define CMK_HAS_MSTATS $pass
2723 _ACEOF
2724
2725
2726 #### test for mallinfo ###
2727 cat > $t <<EOT
2728 #include <malloc.h>
2729 int main() {
2730   struct mallinfo mi = mallinfo();
2731 }
2732 EOT
2733 test_link "whether has mallinfo" "yes" "no" ""
2734
2735 cat >>confdefs.h <<_ACEOF
2736 #define CMK_HAS_MALLINFO $pass
2737 _ACEOF
2738
2739
2740 #### test for popen ###
2741 cat > $t <<EOT
2742 #include <stdio.h>
2743 int main() {
2744   FILE *p = popen("/bin/ps", "r");
2745   pclose(p);
2746 }
2747 EOT
2748 test_link "whether has popen" "yes" "no" ""
2749
2750 cat >>confdefs.h <<_ACEOF
2751 #define CMK_HAS_POPEN $pass
2752 _ACEOF
2753
2754
2755 #### test for poll ###
2756 cat > $t <<EOT
2757 #include <poll.h>
2758 void foo(void) {
2759   struct pollfd pos[3];
2760   poll(pos, 1, 1);
2761 }
2762 EOT
2763 test_cxx "whether has poll" "yes" "no" ""
2764
2765 cat >>confdefs.h <<_ACEOF
2766 #define CMK_USE_POLL $pass
2767 _ACEOF
2768
2769
2770 #### check if getpagesize exists ####
2771 cat > $tc <<EOT
2772 #include <unistd.h>
2773
2774 int main(int argc, char **argv) {
2775     int s = getpagesize();
2776 }
2777 EOT
2778 test_linkc "whether has getpagesize" "yes" "no" ""
2779
2780 cat >>confdefs.h <<_ACEOF
2781 #define CMK_HAS_GETPAGESIZE $pass
2782 _ACEOF
2783
2784
2785 #### check if getpid exists ####
2786 cat > $tc <<EOT
2787 #include <sys/types.h>
2788 #include <unistd.h>
2789
2790 int main(int argc, char **argv) {
2791     pid_t pid = getpid();
2792 }
2793 EOT
2794 test_linkc "whether has getpid" "yes" "no" ""
2795
2796 cat >>confdefs.h <<_ACEOF
2797 #define CMK_HAS_GETPID $pass
2798 _ACEOF
2799
2800
2801 #### check if kill exists ####
2802 cat > $tc <<EOT
2803 #include <sys/types.h>
2804 #include <unistd.h>
2805 #include <signal.h>
2806
2807 int main(int argc, char**argv)
2808 {
2809     pid_t pid = getpid();
2810     kill(pid, 9);
2811 }
2812 EOT
2813 test_linkc "whether has kill" "yes" "no" ""
2814
2815 cat >>confdefs.h <<_ACEOF
2816 #define CMK_HAS_KILL $pass
2817 _ACEOF
2818
2819
2820 #### test for setpriority ###
2821 cat > $t <<EOT
2822 #include <sys/time.h>
2823 #include <sys/resource.h>
2824 void foo(void) {
2825   setpriority(PRIO_PROCESS, 0, 0);
2826 }
2827 EOT
2828 test_cxx "whether has setpriority" "yes" "no" ""
2829
2830 cat >>confdefs.h <<_ACEOF
2831 #define CMK_HAS_SETPRIORITY $pass
2832 _ACEOF
2833
2834
2835 #### test for system ###
2836 cat > $t <<EOT
2837 #include "ckdll_system.C"
2838 EOT
2839 test_cxx "whether to use signal-safe system() " "yes" "no" ""
2840
2841 cat >>confdefs.h <<_ACEOF
2842 #define CMK_SIGSAFE_SYSTEM $pass
2843 _ACEOF
2844
2845
2846 ### test sched_setaffinity ####
2847 cat > $tc <<EOT
2848 #include <stdlib.h>
2849 #include <stdio.h>
2850 #include <unistd.h>
2851
2852 #define _GNU_SOURCE
2853 #include <sched.h>
2854 long sched_setaffinity(pid_t pid, unsigned int len, unsigned long *user_mask_ptr);
2855 long sched_getaffinity(pid_t pid, unsigned int len, unsigned long *user_mask_ptr);
2856
2857 int main()
2858 {
2859   unsigned long mask = 0xffffffff;
2860   unsigned int len = sizeof(mask);
2861
2862   if (sched_setaffinity(0, len, &mask) < 0) {
2863     return -1;
2864   }
2865   return 0;
2866 }
2867 EOT
2868 test_linkc "whether sched_setaffinity call exists" "yes" "no" ""
2869
2870 cat >>confdefs.h <<_ACEOF
2871 #define CMK_HAS_SETAFFINITY $pass
2872 _ACEOF
2873
2874
2875 ### test pthread_setaffinity_np ####
2876 cat > $tc <<EOT
2877 #include <stdlib.h>
2878 #include <stdio.h>
2879 #include <unistd.h>
2880 #include <pthread.h>
2881
2882 int main()
2883 {
2884   unsigned long mask = 0xffffffff;
2885   unsigned int len = sizeof(mask);
2886
2887   if (pthread_setaffinity_np(pthread_self(), len, &mask) < 0) {
2888     return -1;
2889   }
2890   return 0;
2891 }
2892 EOT
2893 test_linkc "whether pthread_setaffinity_np call exists" "yes" "no" "-lpthread"
2894
2895 cat >>confdefs.h <<_ACEOF
2896 #define CMK_HAS_PTHREAD_SETAFFINITY $pass
2897 _ACEOF
2898
2899
2900
2901 ### check libnuma on Linux ####
2902 if test "$WITH_NUMA" = "yes"
2903 then
2904 cat > $tc <<EOT
2905 #include <stdlib.h>
2906 #include <stdio.h>
2907 #include <linux/mempolicy.h>
2908 #include <numaif.h>
2909 #include <numa.h>
2910
2911 int main()
2912 {
2913   if (get_mempolicy(NULL, NULL, 0, 0, 0) == 0) return 0;
2914   return -1;
2915 }
2916 EOT
2917 test_linkc "whether libnuma exists" "yes" "no" "-lnuma"
2918
2919 cat >>confdefs.h <<_ACEOF
2920 #define CMK_HAS_NUMACTRL $pass
2921 _ACEOF
2922
2923 if test $pass -eq 1
2924 then
2925         add_flag 'CMK_SYSLIBS="$CMK_SYSLIBS -lnuma"' "libnuma"
2926 fi
2927 fi
2928
2929 #### check bindprocessors on AIX ####
2930 cat > $tc <<EOT
2931 #include <stdlib.h>
2932 #include <stdio.h>
2933 #include <unistd.h>
2934
2935 #include <sys/processor.h>
2936
2937 int main()
2938 {
2939   int retValue = 0;
2940   int pid;
2941   pid = getpid();
2942   if (bindprocessor(BINDPROCESS, pid, 0) == -1) return -1;
2943   return 0;
2944 }
2945 EOT
2946 test_linkc "whether bindprocessor call exists" "yes" "no" ""
2947
2948 cat >>confdefs.h <<_ACEOF
2949 #define CMK_HAS_BINDPROCESSOR $pass
2950 _ACEOF
2951
2952
2953
2954 #### check if dlopen works ####
2955 skip_dl=0
2956 # for bproc, ignore -ldl
2957 test -n "$CMK_BPROC" && skip_dl=1
2958 test -n "$CMK_NO_DL" && skip_dl=1
2959 dl_opt='-ldl'
2960 #workaround for pgcc 4.0, -ldl crash linking, so use -Wl,-ldl to skip the prelinker.
2961 case "$CMK_CXX" in
2962 pgCC*) dl_opt='-Wl,-ldl' ;;
2963 esac
2964
2965 if test $skip_dl -eq 0
2966 then
2967
2968 cat > $t <<EOT
2969 #include "ckdll_dlopen.C"
2970 int main() {
2971         CkDll dll("foo.so");
2972         return 0;
2973 }
2974 EOT
2975 test_link "whether dlopen links without $dl_opt" "yes" "no" ""
2976 noldl=$pass
2977 test_link "whether dlopen links with $dl_opt" "yes" "no" "$dl_opt"
2978 if test $pass -eq 1
2979 then
2980 #dlopen requires -ldl: add it to our link line
2981         add_flag CMK_LIBS='"$CMK_LIBS '$dl_opt'"' "dlopen"
2982 fi
2983
2984 if test $pass -eq 1 -o $noldl -eq 1
2985 then
2986 # One version or another of dlopen worked: compile it in
2987
2988 cat >>confdefs.h <<_ACEOF
2989 #define CMK_DLL_USE_DLOPEN 1
2990 _ACEOF
2991
2992 fi
2993
2994 ### test gethostname ####
2995 cat > $tc <<EOT
2996 #ifdef WIN32
2997 #include <Winsock2.h>
2998 #else
2999 #include <stdlib.h>
3000 #include <stdio.h>
3001 #include <unistd.h>
3002 #endif
3003
3004 int main()
3005 {
3006   char hostname[1000];
3007   gethostname(hostname, 999);
3008   return 0;
3009 }
3010 EOT
3011 test_linkc "whether gethostname call exists" "yes" "no" ""
3012
3013 cat >>confdefs.h <<_ACEOF
3014 #define CMK_HAS_GETHOSTNAME $pass
3015 _ACEOF
3016
3017
3018 #### check if getProcAddress works ####
3019 cat > $t <<EOT
3020 #include "ckdll_win32.C"
3021 EOT
3022 test_cxx "whether getProcAddress works" "yes" "no" ""
3023
3024 cat >>confdefs.h <<_ACEOF
3025 #define CMK_DLL_USE_WIN32 $pass
3026 _ACEOF
3027
3028
3029 fi    # end of skip_dl
3030
3031 #### check if socklen_t exists ####
3032 cat > $t <<EOT
3033 #include <sys/types.h>
3034 #include <sys/socket.h>
3035
3036 void foo(void) {
3037         int i;
3038         socklen_t s=sizeof(i);
3039 }
3040 EOT
3041 test_cxx "whether has socklen_t" "yes" "no" ""
3042
3043 cat >>confdefs.h <<_ACEOF
3044 #define CMK_HAS_SOCKLEN $pass
3045 _ACEOF
3046
3047
3048 #### check if mmap exists ####
3049 cat > $t <<EOT
3050 #include <sys/types.h>
3051 #include <sys/mman.h>
3052
3053 void *foo(void *a,int l,int fd) {
3054         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3055                  MAP_FIXED+MAP_PRIVATE,fd,0);
3056 }
3057 EOT
3058 test_cxx "whether the mmap() syscall exists" "yes" "no" ""
3059
3060 cat >>confdefs.h <<_ACEOF
3061 #define CMK_HAS_MMAP $pass
3062 _ACEOF
3063
3064
3065 #### check if mmap accepts MAP_ANON ####
3066 cat > $t <<EOT
3067 #include <sys/types.h>
3068 #include <sys/mman.h>
3069
3070 void *foo(void *a,int l) {
3071         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3072                 MAP_FIXED+MAP_PRIVATE+MAP_ANON,-1,0);
3073 }
3074 EOT
3075 test_cxx "whether mmap() accepts MAP_ANON" "yes" "no" ""
3076
3077 cat >>confdefs.h <<_ACEOF
3078 #define CMK_HAS_MMAP_ANON $pass
3079 _ACEOF
3080
3081
3082 #### check if mmap accepts MAP_NORESERVE ####
3083 cat > $t <<EOT
3084 #include <sys/types.h>
3085 #include <sys/mman.h>
3086
3087 void *foo(void *a,int l) {
3088         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3089                 MAP_FIXED+MAP_PRIVATE+MAP_NORESERVE,-1,0);
3090 }
3091 EOT
3092 test_cxx "whether mmap() accepts MAP_NORESERVE" "yes" "no" ""
3093
3094 cat >>confdefs.h <<_ACEOF
3095 #define CMK_HAS_MMAP_NORESERVE $pass
3096 _ACEOF
3097
3098
3099 #### check if get_myaddress exists ####
3100 cat > $t <<EOT
3101 #include <rpc/rpc.h>
3102
3103 void foo(void *a) {
3104     get_myaddress((struct sockaddr_in*)a);
3105 }
3106 EOT
3107 test_cxx "whether get_myaddress() exists" "yes" "no" ""
3108
3109 cat >>confdefs.h <<_ACEOF
3110 #define CMK_HAS_GET_MYADDRESS $pass
3111 _ACEOF
3112
3113
3114 #### check if glibc backtrace exists ####
3115 cat > $t <<EOT
3116 #include "cmibacktrace.c"
3117
3118 int main() {
3119         int nLevels=1;
3120         void *stack;
3121         CmiBacktraceRecord(&stack,0,&nLevels);
3122         return 0;
3123 }
3124 EOT
3125 TRACE_LINK_FLAG="-rdynamic"
3126 test_link "whether glibc backtrace works" "yes" "no" "-DCMK_USE_BACKTRACE=1 $TRACE_LINK_FLAG"
3127
3128 cat >>confdefs.h <<_ACEOF
3129 #define CMK_USE_BACKTRACE $pass
3130 _ACEOF
3131
3132
3133 if test $strictpass -eq 1
3134 then
3135         add_flag 'CMK_LD="$CMK_LD '$TRACE_LINK_FLAG'"' "backtrace"
3136         add_flag 'CMK_LDXX="$CMK_LDXX '$TRACE_LINK_FLAG'"' "backtrace"
3137 fi
3138
3139 #### test sleep ####
3140 cat > $t <<EOT
3141 #include <unistd.h>
3142 int main() {
3143   sleep(1);
3144   return 0;
3145 }
3146 EOT
3147 test_cxx "whether has sleep " "yes" "no" ""
3148
3149 cat >>confdefs.h <<_ACEOF
3150 #define CMK_HAS_SLEEP $pass
3151 _ACEOF
3152
3153
3154 #### test usleep ####
3155 cat > $t <<EOT
3156 #include <unistd.h>
3157 int main() {
3158   usleep(100);
3159   return 0;
3160 }
3161 EOT
3162 test_cxx "whether has usleep " "yes" "no" ""
3163
3164 cat >>confdefs.h <<_ACEOF
3165 #define CMK_HAS_USLEEP $pass
3166 _ACEOF
3167
3168
3169 #### test personality() and ADDR_NO_RANDOMIZE ####
3170 # Only works on modern Linux systems
3171 cat > $t <<EOT
3172 #include <sys/personality.h>
3173 int main() {
3174     int orig_persona = personality(0xffffffff);
3175     personality(orig_persona | ADDR_NO_RANDOMIZE);
3176     return 0;
3177 }
3178 EOT
3179 test_cxx "whether personality() and ADDR_NO_RANDOMIZE exist" "yes" "no" ""
3180
3181 cat >>confdefs.h <<_ACEOF
3182 #define CMK_HAS_ADDR_NO_RANDOMIZE $pass
3183 _ACEOF
3184
3185
3186
3187 #### test if has zlib ####
3188 # bproc doesnot like -lz in any case
3189 if test -z "$CMK_BPROC"
3190 then
3191
3192 cat > $t <<EOT
3193 #include <zlib.h>
3194 int main() {
3195   gzFile f = gzopen("/tmp/x","r");
3196   gzprintf(f, "test...\n");
3197   gzclose(f);
3198   return 0;
3199 }
3200 EOT
3201 test_link "whether has zlib" "yes" "no" "-lz"
3202
3203 cat >>confdefs.h <<_ACEOF
3204 #define CMK_PROJECTIONS_USE_ZLIB $pass
3205 _ACEOF
3206
3207 if test $pass -eq 1
3208 then
3209         add_flag 'CMK_LIBZ="-lz"' "zlib"
3210 fi
3211
3212 fi
3213
3214 #### test if has elf.h ####
3215 cat > $t <<EOT
3216 #include <elf.h>
3217 typedef Elf32_Addr ELF_TYPE_Addr;
3218 int main() {
3219 }
3220 EOT
3221 test_cxx "whether has elf.h " "yes" "no" ""
3222
3223 cat >>confdefs.h <<_ACEOF
3224 #define CMK_HAS_ELF_H $pass
3225 _ACEOF
3226
3227
3228 #### test if has Multiprocessing.h for apple ####
3229 cat > $t <<EOT
3230 #include <Carbon/Carbon.h>
3231 #include <Multiprocessing.h>
3232 int main() {
3233   int a = MPProcessorsScheduled();
3234 }
3235 EOT
3236 test_cxx "whether has Multiprocessing.h for Apple " "yes" "no" ""
3237
3238 cat >>confdefs.h <<_ACEOF
3239 #define CMK_HAS_MULTIPROCESSING_H $pass
3240 _ACEOF
3241
3242
3243 #### test if "ntohl" is available ####
3244 cat > $t <<EOT
3245 #if defined(_WIN32) && ! defined(__CYGWIN__) || defined(__MINGW_H)
3246 #include <winsock.h>
3247 #else
3248 #include <netinet/in.h>
3249 #include <arpa/inet.h>
3250 #endif
3251
3252 int main() {
3253   int i = 100;
3254   i = ntohl(i);
3255   return 0;
3256 }
3257 EOT
3258 test_link "whether ntohl is available" "yes" "no" ""
3259
3260 cat >>confdefs.h <<_ACEOF
3261 #define CMK_HAS_NTOHL $pass
3262 _ACEOF
3263
3264
3265 ### test for libjpeg ####
3266 cat > $t <<EOT
3267 #include <stdio.h>
3268 #include <stdlib.h>
3269 #include "jpeglib.h"
3270
3271 int main()
3272 {
3273   struct jpeg_compress_struct cinfo;
3274   jpeg_create_compress(&cinfo);
3275   return 0;
3276 }
3277 EOT
3278 test_link "whether has libjpeg" "yes" "no" "-ljpeg"
3279
3280 cat >>confdefs.h <<_ACEOF
3281 #define CMK_USE_LIBJPEG $pass
3282 _ACEOF
3283
3284 if test $pass -eq 1
3285 then
3286         add_flag 'CMK_LIBJPEG="-ljpeg"' "libjpeg"
3287 fi
3288
3289 #### check if PAPI exists ####
3290 if test -n "$CMK_USE_PAPI"
3291 then
3292 cat > $t <<EOT
3293 #include <stdio.h>
3294 #include <papi.h>
3295
3296 int main() {
3297     int Events[1] = { PAPI_TOT_CYC };
3298     if (PAPI_start_counters(Events, 1) != PAPI_OK) return 1;
3299     return 0;
3300 }
3301 EOT
3302 test_link "whether PAPI exists" "yes" "no" "-lpapi"
3303
3304 cat >>confdefs.h <<_ACEOF
3305 #define CMK_HAS_COUNTER_PAPI $pass
3306 _ACEOF
3307
3308 if test $pass -eq 1
3309 then
3310         add_flag 'CMK_LIBS="$CMK_LIBS -lpapi"' "papi"
3311 fi
3312 fi
3313
3314 #### test if Python headers are installed ####
3315 PYTHON_VERSION=`python -V 2>&1 | awk {'print $2'} | awk -F. {'print $1"."$2'}`
3316 cat > $t <<EOT
3317 #include "python${PYTHON_VERSION}/Python.h"
3318 #include "python${PYTHON_VERSION}/compile.h"
3319 #include "python${PYTHON_VERSION}/eval.h"
3320 #include "python${PYTHON_VERSION}/node.h"
3321
3322 int main() {
3323     Py_Initialize();
3324     PyEval_InitThreads();
3325     struct _node* programNode = PyParser_SimpleParseString("return 1\n",Py_file_input);
3326     PyCodeObject *program = PyNode_Compile(programNode, "");
3327 }
3328 EOT
3329 test_link "whether Python is installed" "yes" "no" "-lpython$PYTHON_VERSION -lpthread -lutil -ldl"
3330
3331 cat >>confdefs.h <<_ACEOF
3332 #define CMK_HAS_PYTHON $pass
3333 _ACEOF
3334
3335
3336 cat >>confdefs.h <<_ACEOF
3337 #define CMK_PYTHON_VERSION ${PYTHON_VERSION}
3338 _ACEOF
3339
3340 if test $pass -eq 1
3341 then
3342         add_flag "CMK_BUILD_PYTHON=$PYTHON_VERSION" "python"
3343 fi
3344
3345 #### test if it can build shared library ####
3346 cat > $t <<EOT
3347 #include "stdlib.h"
3348 extern int foo();
3349 int foo1() {
3350   void * t= malloc(2);
3351   foo();
3352   return 0;
3353 }
3354 EOT
3355 test_linkso "whether can build shared library" "yes" "no" ""
3356 if test $pass -eq 0
3357 then
3358         add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
3359 else
3360         BUILD_SHARED=1
3361         if test "$BUILD_MPI" = "1"
3362         then
3363 cat > $t <<EOT
3364 #include "stdlib.h"
3365 #include "mpi.h"
3366 extern int foo();
3367 int foo(int argc, char ** argv) {
3368   void * t= malloc(2);
3369   foo();
3370   MPI_Init(&argc, &argv);
3371   return 0;
3372 }
3373 EOT
3374                 test_linkso "whether can build shared library with MPI" "yes" "no" ""
3375                 BUILD_SHARED=$pass
3376         fi
3377         if test $BUILD_SHARED -eq 1
3378         then
3379                 add_flag 'CMK_NO_BUILD_SHARED="false"' "build-shared"
3380         else
3381                 add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
3382         fi
3383 fi
3384
3385 #### test the version number of bproc ####
3386 if test -n "$CMK_BPROC"
3387 then
3388 cat > $t <<EOT
3389 #include <stdio.h>
3390 #include <sys/bproc.h>
3391 int main()
3392 {
3393   struct bproc_version_t vers;
3394   bproc_version(&vers);
3395   printf("%s\n", vers.version_string);
3396 }
3397 EOT
3398 test_link "whether bproc compiles" "yes" "no" "-lbproc"
3399 if test $pass -eq 1
3400 then
3401 { echo "$as_me:$LINENO: checking \"bproc version\"" >&5
3402 echo $ECHO_N "checking \"bproc version\"... $ECHO_C" >&6; }
3403 bproc_ver=`./testlink`
3404 if test x$bproc_ver = x
3405 then
3406 test_result 0 "bproc version" "ERROR" ""
3407 test_finish 1
3408 else
3409 test_result 0 "bproc version" "$bproc_ver" ""
3410 fi
3411 bproc_ver=`echo $bproc_ver | cut -d'.' -f1`
3412
3413 cat >>confdefs.h <<_ACEOF
3414 #define CMK_BPROC_VERSION $bproc_ver
3415 _ACEOF
3416
3417 fi
3418 fi
3419
3420 #### test the if command sync exists ####
3421 # Extract the first word of "sync", so it can be a program name with args.
3422 set dummy sync; ac_word=$2
3423 { echo "$as_me:$LINENO: checking for $ac_word" >&5
3424 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
3425 if test "${ac_cv_prog_SYNC+set}" = set; then
3426   echo $ECHO_N "(cached) $ECHO_C" >&6
3427 else
3428   if test -n "$SYNC"; then
3429   ac_cv_prog_SYNC="$SYNC" # Let the user override the test.
3430 else
3431 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3432 for as_dir in $PATH
3433 do
3434   IFS=$as_save_IFS
3435   test -z "$as_dir" && as_dir=.
3436   for ac_exec_ext in '' $ac_executable_extensions; do
3437   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3438     ac_cv_prog_SYNC="sync "
3439     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3440     break 2
3441   fi
3442 done
3443 done
3444 IFS=$as_save_IFS
3445
3446 fi
3447 fi
3448 SYNC=$ac_cv_prog_SYNC
3449 if test -n "$SYNC"; then
3450   { echo "$as_me:$LINENO: result: $SYNC" >&5
3451 echo "${ECHO_T}$SYNC" >&6; }
3452 else
3453   { echo "$as_me:$LINENO: result: no" >&5
3454 echo "${ECHO_T}no" >&6; }
3455 fi
3456
3457
3458 if test -n "$SYNC"
3459 then
3460
3461 cat >>confdefs.h <<_ACEOF
3462 #define CMK_HAS_SYNC 1
3463 _ACEOF
3464
3465 fi
3466
3467 ################## Fortran #########################
3468
3469 #echo "set F77 compiler as: $CMK_CF77"
3470 { echo "$as_me:$LINENO: checking \"F77 compiler as\"" >&5
3471 echo $ECHO_N "checking \"F77 compiler as\"... $ECHO_C" >&6; }
3472 { echo "$as_me:$LINENO: result: \"$CMK_CF77\"" >&5
3473 echo "${ECHO_T}\"$CMK_CF77\"" >&6; }
3474
3475 { echo "$as_me:$LINENO: checking \"whether Fortran 77 compiler works\"" >&5
3476 echo $ECHO_N "checking \"whether Fortran 77 compiler works\"... $ECHO_C" >&6; }
3477 ### test fortran 77 compiler ###
3478 cat > conftest.f <<EOF
3479       SUBROUTINE FOO_foo
3480       END
3481 EOF
3482 $CMK_CF77 -c conftest.f > /dev/null 2> /dev/null
3483 if test ! -r conftest.o
3484 then
3485   { echo "$as_me:$LINENO: result: \"no\"" >&5
3486 echo "${ECHO_T}\"no\"" >&6; }
3487 else
3488   { echo "$as_me:$LINENO: result: \"yes\"" >&5
3489 echo "${ECHO_T}\"yes\"" >&6; }
3490 fi
3491
3492 ### test fortran 90 compiler ###
3493 #echo "set F90 compiler as: $CMK_CF90"
3494 { echo "$as_me:$LINENO: checking \"F90 compiler as\"" >&5
3495 echo $ECHO_N "checking \"F90 compiler as\"... $ECHO_C" >&6; }
3496 { echo "$as_me:$LINENO: result: \"$CMK_CF90\"" >&5
3497 echo "${ECHO_T}\"$CMK_CF90\"" >&6; }
3498
3499 { echo "$as_me:$LINENO: checking \"whether Fortran 90 compiler works\"" >&5
3500 echo $ECHO_N "checking \"whether Fortran 90 compiler works\"... $ECHO_C" >&6; }
3501 cat > conftest2.f90 <<EOF
3502       SUBROUTINE FOO_foo
3503       END
3504 EOF
3505 $CMK_CF90 -c conftest2.f90 > /dev/null 2> /dev/null
3506 if test ! -r conftest2.o
3507 then
3508   { echo "$as_me:$LINENO: result: \"no\"" >&5
3509 echo "${ECHO_T}\"no\"" >&6; }
3510 else
3511   { echo "$as_me:$LINENO: result: \"yes\"" >&5
3512 echo "${ECHO_T}\"yes\"" >&6; }
3513   mv -f conftest2.o conftest.o
3514   USE_FORTRAN90=1
3515 fi
3516
3517 ### check fortran name mangling
3518 { echo "$as_me:$LINENO: checking subroutine name used by Fortran 90 compiler" >&5
3519 echo $ECHO_N "checking subroutine name used by Fortran 90 compiler... $ECHO_C" >&6; }
3520
3521 if test -r conftest.o
3522 then
3523   if test "${fortran_postfix+set}" = set; then
3524   echo $ECHO_N "(cached) $ECHO_C" >&6
3525 else
3526   NAME=`$CMK_NM conftest.o | grep "foo_foo__"`
3527   if test "$NAME" != ""
3528   then
3529     fortran_postfix=TWOSCORE
3530
3531 cat >>confdefs.h <<_ACEOF
3532 #define CMK_FORTRAN_USES_TWOSCORE 1
3533 _ACEOF
3534
3535   else
3536     NAME=`$CMK_NM conftest.o | grep "foo_foo_"`
3537     if test "$NAME" != ""
3538     then
3539       fortran_postfix=ONESCORE
3540
3541 cat >>confdefs.h <<_ACEOF
3542 #define CMK_FORTRAN_USES_ONESCORE 1
3543 _ACEOF
3544
3545     else
3546       NAME=`$CMK_NM conftest.o | grep "foo_foo"`
3547       if test "$NAME" != ""
3548       then
3549         fortran_postfix=NOSCORE
3550
3551 cat >>confdefs.h <<_ACEOF
3552 #define CMK_FORTRAN_USES_NOSCORE 1
3553 _ACEOF
3554
3555       else
3556         NAME=`$CMK_NM conftest.o | grep "FOO_FOO"`
3557         if test "$NAME" != ""
3558         then
3559           fortran_postfix=ALLCAPS
3560
3561 cat >>confdefs.h <<_ACEOF
3562 #define CMK_FORTRAN_USES_ALLCAPS 1
3563 _ACEOF
3564
3565         else
3566           echo "#################################################"
3567           echo "FORTRAN compiler generated name not supported yet"
3568           echo "#################################################"
3569         fi
3570       fi
3571     fi
3572   fi
3573   rm -f conftest.f conftest.o
3574
3575 fi
3576
3577   { echo "$as_me:$LINENO: result: $fortran_postfix" >&5
3578 echo "${ECHO_T}$fortran_postfix" >&6; }
3579 else
3580   { echo "$as_me:$LINENO: result: \"Fortran compiler not working\"" >&5
3581 echo "${ECHO_T}\"Fortran compiler not working\"" >&6; }
3582 fi
3583
3584 ### check module name ###
3585
3586 if test "$USE_FORTRAN90" = 1
3587 then
3588   cat > conftest.f90 <<EOF
3589       MODULE testmod
3590         interface
3591           function fpup_issizing(p)
3592           INTEGER :: p
3593           logical fpup_issizing
3594           end function
3595         end interface
3596       END MODULE
3597 EOF
3598   { echo "$as_me:$LINENO: checking Fortran 90 mod name is capital" >&5
3599 echo $ECHO_N "checking Fortran 90 mod name is capital... $ECHO_C" >&6; }
3600   $CMK_CF90 -c conftest.f90 > /dev/null 2> /dev/null
3601   name=`ls TESTMOD.* 2>/dev/null`
3602   if test -n "$name"
3603   then
3604         { echo "$as_me:$LINENO: result: \"yes\"" >&5
3605 echo "${ECHO_T}\"yes\"" >&6; }
3606         add_flag 'CMK_MOD_NAME_ALLCAPS=1' "mod name capital"
3607   else
3608         { echo "$as_me:$LINENO: result: \"no\"" >&5
3609 echo "${ECHO_T}\"no\"" >&6; }
3610         name=`ls testmod.* 2>/dev/null`
3611   fi
3612   if test -n "$name"
3613   then
3614         { echo "$as_me:$LINENO: checking Fortran 90 mod name extension" >&5
3615 echo $ECHO_N "checking Fortran 90 mod name extension... $ECHO_C" >&6; }
3616         ext=`echo $name | sed -e 's/^[^.]*\.//'`
3617         add_flag 'CMK_MOD_EXT="'$ext'"' "mod name extension"
3618         { echo "$as_me:$LINENO: result: \"$ext\"" >&5
3619 echo "${ECHO_T}\"$ext\"" >&6; }
3620         /bin/rm -f $name
3621   fi
3622   /bin/rm -f conftest.f90
3623 fi
3624
3625 ### Check that Linux's C library is recent enough to provide working pthreads
3626 if test "$base_version" = "net-linux" || test "$base_version" = "mpi-linux"
3627 then
3628 case $version in *linux*smp*|*linux*vmi*)
3629     { echo "$as_me:$LINENO: checking glibc version" >&5
3630 echo $ECHO_N "checking glibc version... $ECHO_C" >&6; }
3631     get_glibc_version
3632     { echo "$as_me:$LINENO: result: $GLIBCVERSION" >&5
3633 echo "${ECHO_T}$GLIBCVERSION" >&6; }
3634     if test 0 = `expr $GLIBCVERSION \> 2.2.92`
3635     then
3636        echo "Your version of GLIBC is ancient, and does not have sufficient "
3637        echo "support for pthreads."
3638        exit 1
3639     fi
3640 esac
3641 fi
3642
3643 ac_config_files="$ac_config_files libs/ck-libs/ampi/ampiCC libs/ck-libs/ampi/ampirun"
3644
3645 ac_config_commands="$ac_config_commands default"
3646
3647 cat >confcache <<\_ACEOF
3648 # This file is a shell script that caches the results of configure
3649 # tests run on this system so they can be shared between configure
3650 # scripts and configure runs, see configure's option --config-cache.
3651 # It is not useful on other systems.  If it contains results you don't
3652 # want to keep, you may remove or edit it.
3653 #
3654 # config.status only pays attention to the cache file if you give it
3655 # the --recheck option to rerun configure.
3656 #
3657 # `ac_cv_env_foo' variables (set or unset) will be overridden when
3658 # loading this file, other *unset* `ac_cv_foo' will be assigned the
3659 # following values.
3660
3661 _ACEOF
3662
3663 # The following way of writing the cache mishandles newlines in values,
3664 # but we know of no workaround that is simple, portable, and efficient.
3665 # So, we kill variables containing newlines.
3666 # Ultrix sh set writes to stderr and can't be redirected directly,
3667 # and sets the high bit in the cache file unless we assign to the vars.
3668 (
3669   for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
3670     eval ac_val=\$$ac_var
3671     case $ac_val in #(
3672     *${as_nl}*)
3673       case $ac_var in #(
3674       *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
3675 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
3676       esac
3677       case $ac_var in #(
3678       _ | IFS | as_nl) ;; #(
3679       *) $as_unset $ac_var ;;
3680       esac ;;
3681     esac
3682   done
3683
3684   (set) 2>&1 |
3685     case $as_nl`(ac_space=' '; set) 2>&1` in #(
3686     *${as_nl}ac_space=\ *)
3687       # `set' does not quote correctly, so add quotes (double-quote
3688       # substitution turns \\\\ into \\, and sed turns \\ into \).
3689       sed -n \
3690         "s/'/'\\\\''/g;
3691           s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
3692       ;; #(
3693     *)
3694       # `set' quotes correctly as required by POSIX, so do not add quotes.
3695       sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
3696       ;;
3697     esac |
3698     sort
3699 ) |
3700   sed '
3701      /^ac_cv_env_/b end
3702      t clear
3703      :clear
3704      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
3705      t end
3706      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
3707      :end' >>confcache
3708 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
3709   if test -w "$cache_file"; then
3710     test "x$cache_file" != "x/dev/null" &&
3711       { echo "$as_me:$LINENO: updating cache $cache_file" >&5
3712 echo "$as_me: updating cache $cache_file" >&6;}
3713     cat confcache >$cache_file
3714   else
3715     { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
3716 echo "$as_me: not updating unwritable cache $cache_file" >&6;}
3717   fi
3718 fi
3719 rm -f confcache
3720
3721 test "x$prefix" = xNONE && prefix=$ac_default_prefix
3722 # Let make expand exec_prefix.
3723 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
3724
3725 DEFS=-DHAVE_CONFIG_H
3726
3727 ac_libobjs=
3728 ac_ltlibobjs=
3729 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
3730   # 1. Remove the extension, and $U if already installed.
3731   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
3732   ac_i=`echo "$ac_i" | sed "$ac_script"`
3733   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
3734   #    will be set to the directory where LIBOBJS objects are built.
3735   ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
3736   ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
3737 done
3738 LIBOBJS=$ac_libobjs
3739
3740 LTLIBOBJS=$ac_ltlibobjs
3741
3742
3743
3744 : ${CONFIG_STATUS=./config.status}
3745 ac_clean_files_save=$ac_clean_files
3746 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
3747 { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
3748 echo "$as_me: creating $CONFIG_STATUS" >&6;}
3749 cat >$CONFIG_STATUS <<_ACEOF
3750 #! $SHELL
3751 # Generated by $as_me.
3752 # Run this file to recreate the current configuration.
3753 # Compiler output produced by configure, useful for debugging
3754 # configure, is in config.log if it exists.
3755
3756 debug=false
3757 ac_cs_recheck=false
3758 ac_cs_silent=false
3759 SHELL=\${CONFIG_SHELL-$SHELL}
3760 _ACEOF
3761
3762 cat >>$CONFIG_STATUS <<\_ACEOF
3763 ## --------------------- ##
3764 ## M4sh Initialization.  ##
3765 ## --------------------- ##
3766
3767 # Be more Bourne compatible
3768 DUALCASE=1; export DUALCASE # for MKS sh
3769 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
3770   emulate sh
3771   NULLCMD=:
3772   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
3773   # is contrary to our usage.  Disable this feature.
3774   alias -g '${1+"$@"}'='"$@"'
3775   setopt NO_GLOB_SUBST
3776 else
3777   case `(set -o) 2>/dev/null` in
3778   *posix*) set -o posix ;;
3779 esac
3780
3781 fi
3782
3783
3784
3785
3786 # PATH needs CR
3787 # Avoid depending upon Character Ranges.
3788 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
3789 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
3790 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
3791 as_cr_digits='0123456789'
3792 as_cr_alnum=$as_cr_Letters$as_cr_digits
3793
3794 # The user is always right.
3795 if test "${PATH_SEPARATOR+set}" != set; then
3796   echo "#! /bin/sh" >conf$$.sh
3797   echo  "exit 0"   >>conf$$.sh
3798   chmod +x conf$$.sh
3799   if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
3800     PATH_SEPARATOR=';'
3801   else
3802     PATH_SEPARATOR=:
3803   fi
3804   rm -f conf$$.sh
3805 fi
3806
3807 # Support unset when possible.
3808 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
3809   as_unset=unset
3810 else
3811   as_unset=false
3812 fi
3813
3814
3815 # IFS
3816 # We need space, tab and new line, in precisely that order.  Quoting is
3817 # there to prevent editors from complaining about space-tab.
3818 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
3819 # splitting by setting IFS to empty value.)
3820 as_nl='
3821 '
3822 IFS=" ""        $as_nl"
3823
3824 # Find who we are.  Look in the path if we contain no directory separator.
3825 case $0 in
3826   *[\\/]* ) as_myself=$0 ;;
3827   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3828 for as_dir in $PATH
3829 do
3830   IFS=$as_save_IFS
3831   test -z "$as_dir" && as_dir=.
3832   test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
3833 done
3834 IFS=$as_save_IFS
3835
3836      ;;
3837 esac
3838 # We did not find ourselves, most probably we were run as `sh COMMAND'
3839 # in which case we are not to be found in the path.
3840 if test "x$as_myself" = x; then
3841   as_myself=$0
3842 fi
3843 if test ! -f "$as_myself"; then
3844   echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
3845   { (exit 1); exit 1; }
3846 fi
3847
3848 # Work around bugs in pre-3.0 UWIN ksh.
3849 for as_var in ENV MAIL MAILPATH
3850 do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
3851 done
3852 PS1='$ '
3853 PS2='> '
3854 PS4='+ '
3855
3856 # NLS nuisances.
3857 for as_var in \
3858   LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
3859   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
3860   LC_TELEPHONE LC_TIME
3861 do
3862   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
3863     eval $as_var=C; export $as_var
3864   else
3865     ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
3866   fi
3867 done
3868
3869 # Required to use basename.
3870 if expr a : '\(a\)' >/dev/null 2>&1 &&
3871    test "X`expr 00001 : '.*\(...\)'`" = X001; then
3872   as_expr=expr
3873 else
3874   as_expr=false
3875 fi
3876
3877 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
3878   as_basename=basename
3879 else
3880   as_basename=false
3881 fi
3882
3883
3884 # Name of the executable.
3885 as_me=`$as_basename -- "$0" ||
3886 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
3887          X"$0" : 'X\(//\)$' \| \
3888          X"$0" : 'X\(/\)' \| . 2>/dev/null ||
3889 echo X/"$0" |
3890     sed '/^.*\/\([^/][^/]*\)\/*$/{
3891             s//\1/
3892             q
3893           }
3894           /^X\/\(\/\/\)$/{
3895             s//\1/
3896<