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