modified the test for papi library
[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=60304
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 log2 ###
2873 cat > $t <<EOT
2874 #include <math.h>
2875 int main() {
2876   int i = log2(10);
2877   return 0;
2878 }
2879 EOT
2880 test_link "whether has log2" "yes" "no" ""
2881
2882 cat >>confdefs.h <<_ACEOF
2883 #define CMK_HAS_LOG2 $pass
2884 _ACEOF
2885
2886
2887 #### test for sqrtf ###
2888 cat > $t <<EOT
2889 #include <math.h>
2890 int main() {
2891   float i = sqrtf((float)10.0);
2892   return 0;
2893 }
2894 EOT
2895 test_link "whether has sqrtf" "yes" "no" ""
2896
2897 cat >>confdefs.h <<_ACEOF
2898 #define CMK_HAS_SQRTF $pass
2899 _ACEOF
2900
2901
2902 #### test for fabsf ###
2903 cat > $t <<EOT
2904 #include <math.h>
2905 int main() {
2906   float i = fabsf((float)10.0);
2907   return 0;
2908 }
2909 EOT
2910 test_link "whether has fabsf" "yes" "no" ""
2911
2912 cat >>confdefs.h <<_ACEOF
2913 #define CMK_HAS_FABSF $pass
2914 _ACEOF
2915
2916
2917 #### test for mkstemp ###
2918 cat > $t <<EOT
2919 #include <stdlib.h>
2920 #include <string.h>
2921 int main() {
2922   char fname[128];
2923   strcpy(fname, "/tmp/fdXXX.XXX");
2924   mkstemp(fname);
2925   return 0;
2926 }
2927 EOT
2928 test_link "whether has mkstemp" "yes" "no" ""
2929
2930 cat >>confdefs.h <<_ACEOF
2931 #define CMK_USE_MKSTEMP $pass
2932 _ACEOF
2933
2934
2935 #### test for system ###
2936 cat > $t <<EOT
2937 #include <stdlib.h>
2938 int main() {
2939   system("/bin/ls");
2940   return 0;
2941 }
2942 EOT
2943 test_link "whether has system" "yes" "no" ""
2944
2945 cat >>confdefs.h <<_ACEOF
2946 #define CMK_HAS_SYSTEM $pass
2947 _ACEOF
2948
2949
2950 #### test for sbrk ###
2951 cat > $t <<EOT
2952 #include <unistd.h>
2953 int main() {
2954   void *ptr  = sbrk(0);
2955 }
2956 EOT
2957 test_link "whether has sbrk" "yes" "no" ""
2958
2959 cat >>confdefs.h <<_ACEOF
2960 #define CMK_HAS_SBRK $pass
2961 _ACEOF
2962
2963
2964 #### test for _setjmp/_longjmp ###
2965 cat > $t <<EOT
2966 #include <setjmp.h>
2967 int main() {
2968   jmp_buf buf;
2969   _setjmp(buf);
2970   _longjmp(buf, 0);
2971 }
2972 EOT
2973 test_link "whether has _setjmp/_longjmp" "yes" "no" ""
2974
2975 cat >>confdefs.h <<_ACEOF
2976 #define CMK_HAS_UNDERSCORE_SETJMP $pass
2977 _ACEOF
2978
2979
2980 #### test for mstats ###
2981 cat > $t <<EOT
2982 #include <malloc.h>
2983 int main() {
2984   struct mstats ms = mstats();
2985 }
2986 EOT
2987 test_link "whether has mstats" "yes" "no" ""
2988
2989 cat >>confdefs.h <<_ACEOF
2990 #define CMK_HAS_MSTATS $pass
2991 _ACEOF
2992
2993
2994 #### test for mallinfo ###
2995 cat > $t <<EOT
2996 #include <malloc.h>
2997 int main() {
2998   struct mallinfo mi = mallinfo();
2999 }
3000 EOT
3001 test_link "whether has mallinfo" "yes" "no" ""
3002
3003 cat >>confdefs.h <<_ACEOF
3004 #define CMK_HAS_MALLINFO $pass
3005 _ACEOF
3006
3007
3008 #### test for popen ###
3009 cat > $t <<EOT
3010 #include <stdio.h>
3011 int main() {
3012   FILE *p = popen("/bin/ps", "r");
3013   pclose(p);
3014 }
3015 EOT
3016 test_link "whether has popen" "yes" "no" ""
3017
3018 cat >>confdefs.h <<_ACEOF
3019 #define CMK_HAS_POPEN $pass
3020 _ACEOF
3021
3022
3023 #### test for poll ###
3024 cat > $t <<EOT
3025 #include <poll.h>
3026 void foo(void) {
3027   struct pollfd pos[3];
3028   poll(pos, 1, 1);
3029 }
3030 EOT
3031 test_cxx "whether has poll" "yes" "no" ""
3032
3033 cat >>confdefs.h <<_ACEOF
3034 #define CMK_USE_POLL $pass
3035 _ACEOF
3036
3037
3038 #### check if getpagesize exists ####
3039 cat > $tc <<EOT
3040 #include <unistd.h>
3041
3042 int main(int argc, char **argv) {
3043     int s = getpagesize();
3044 }
3045 EOT
3046 test_linkc "whether has getpagesize" "yes" "no" ""
3047
3048 cat >>confdefs.h <<_ACEOF
3049 #define CMK_HAS_GETPAGESIZE $pass
3050 _ACEOF
3051
3052
3053 #### check if getpid exists ####
3054 cat > $tc <<EOT
3055 #include <sys/types.h>
3056 #include <unistd.h>
3057
3058 int main(int argc, char **argv) {
3059     pid_t pid = getpid();
3060 }
3061 EOT
3062 test_linkc "whether has getpid" "yes" "no" ""
3063
3064 cat >>confdefs.h <<_ACEOF
3065 #define CMK_HAS_GETPID $pass
3066 _ACEOF
3067
3068
3069 #### check if kill exists ####
3070 cat > $tc <<EOT
3071 #include <sys/types.h>
3072 #include <unistd.h>
3073 #include <signal.h>
3074
3075 int main(int argc, char**argv)
3076 {
3077     pid_t pid = getpid();
3078     kill(pid, 9);
3079 }
3080 EOT
3081 test_linkc "whether has kill" "yes" "no" ""
3082
3083 cat >>confdefs.h <<_ACEOF
3084 #define CMK_HAS_KILL $pass
3085 _ACEOF
3086
3087
3088 #### test for setpriority ###
3089 cat > $t <<EOT
3090 #include <sys/time.h>
3091 #include <sys/resource.h>
3092 void foo(void) {
3093   setpriority(PRIO_PROCESS, 0, 0);
3094 }
3095 EOT
3096 test_cxx "whether has setpriority" "yes" "no" ""
3097
3098 cat >>confdefs.h <<_ACEOF
3099 #define CMK_HAS_SETPRIORITY $pass
3100 _ACEOF
3101
3102
3103 #### test for system ###
3104 cat > $t <<EOT
3105 #include "ckdll_system.C"
3106 EOT
3107 test_cxx "whether to use signal-safe system() " "yes" "no" ""
3108
3109 cat >>confdefs.h <<_ACEOF
3110 #define CMK_SIGSAFE_SYSTEM $pass
3111 _ACEOF
3112
3113
3114 ### test sched_setaffinity ####
3115 cat > $tc <<EOT
3116 #define _GNU_SOURCE
3117 #include <sched.h>
3118
3119 int main()
3120 {
3121   cpu_set_t cpuset;
3122   CPU_ZERO(&cpuset);
3123   CPU_SET(0, &cpuset);
3124   if (sched_setaffinity(0, sizeof(cpuset), &cpuset) < 0) {
3125     return -1;
3126   }
3127   return 0;
3128 }
3129 EOT
3130 test_linkc "whether sched_setaffinity call exists" "yes" "no" ""
3131
3132 cat >>confdefs.h <<_ACEOF
3133 #define CMK_HAS_SETAFFINITY $pass
3134 _ACEOF
3135
3136
3137 ### test pthread_setaffinity_np ####
3138 cat > $tc <<EOT
3139 #include <stdlib.h>
3140 #include <stdio.h>
3141 #include <unistd.h>
3142 #include <pthread.h>
3143
3144 int main()
3145 {
3146   unsigned long mask = 0xffffffff;
3147   unsigned int len = sizeof(mask);
3148
3149   if (pthread_setaffinity_np(pthread_self(), len, &mask) < 0) {
3150     return -1;
3151   }
3152   return 0;
3153 }
3154 EOT
3155 test_linkc "whether pthread_setaffinity_np call exists" "yes" "no" "-lpthread"
3156
3157 cat >>confdefs.h <<_ACEOF
3158 #define CMK_HAS_PTHREAD_SETAFFINITY $pass
3159 _ACEOF
3160
3161
3162
3163 ### check libnuma on Linux ####
3164 if test "$WITH_NUMA" = "yes"
3165 then
3166 cat > $tc <<EOT
3167 #include <stdlib.h>
3168 #include <stdio.h>
3169 #include <linux/mempolicy.h>
3170 #include <numaif.h>
3171 #include <numa.h>
3172
3173 int main()
3174 {
3175   if (get_mempolicy(NULL, NULL, 0, 0, 0) == 0) return 0;
3176   return -1;
3177 }
3178 EOT
3179 test_linkc "whether libnuma exists" "yes" "no" "-lnuma"
3180
3181 cat >>confdefs.h <<_ACEOF
3182 #define CMK_HAS_NUMACTRL $pass
3183 _ACEOF
3184
3185 if test $pass -eq 1
3186 then
3187         add_flag 'CMK_SYSLIBS="$CMK_SYSLIBS -lnuma"' "libnuma"
3188 fi
3189 fi
3190
3191 #### check bindprocessors on AIX ####
3192 cat > $tc <<EOT
3193 #include <stdlib.h>
3194 #include <stdio.h>
3195 #include <unistd.h>
3196
3197 #include <sys/processor.h>
3198
3199 int main()
3200 {
3201   int retValue = 0;
3202   int pid;
3203   pid = getpid();
3204   if (bindprocessor(BINDPROCESS, pid, 0) == -1) return -1;
3205   return 0;
3206 }
3207 EOT
3208 test_linkc "whether bindprocessor call exists" "yes" "no" ""
3209
3210 cat >>confdefs.h <<_ACEOF
3211 #define CMK_HAS_BINDPROCESSOR $pass
3212 _ACEOF
3213
3214
3215
3216 #### check if dlopen works ####
3217 skip_dl=0
3218 # for bproc, ignore -ldl
3219 test -n "$CMK_BPROC" && skip_dl=1
3220 test -n "$CMK_NO_DL" && skip_dl=1
3221 dl_opt='-ldl'
3222 #workaround for pgcc 4.0, -ldl crash linking, so use -Wl,-ldl to skip the prelinker.
3223 case "$CMK_CXX" in
3224 pgCC*) dl_opt='-Wl,-ldl' ;;
3225 esac
3226
3227 if test $skip_dl -eq 0
3228 then
3229
3230 cat > $t <<EOT
3231 #include "ckdll_dlopen.C"
3232 int main() {
3233         CkDll dll("foo.so");
3234         return 0;
3235 }
3236 EOT
3237 test_link "whether dlopen links without $dl_opt" "yes" "no" ""
3238 noldl=$pass
3239 test_link "whether dlopen links with $dl_opt" "yes" "no" "$dl_opt"
3240 if test $pass -eq 1
3241 then
3242 #dlopen requires -ldl: add it to our link line
3243         add_flag CMK_LIBS='"$CMK_LIBS '$dl_opt'"' "dlopen"
3244 fi
3245
3246 if test $pass -eq 1 -o $noldl -eq 1
3247 then
3248 # One version or another of dlopen worked: compile it in
3249
3250 cat >>confdefs.h <<_ACEOF
3251 #define CMK_DLL_USE_DLOPEN 1
3252 _ACEOF
3253
3254 fi
3255
3256 ### test gethostname ####
3257 cat > $tc <<EOT
3258 #ifdef WIN32
3259 #include <Winsock2.h>
3260 #else
3261 #include <stdlib.h>
3262 #include <stdio.h>
3263 #include <unistd.h>
3264 #endif
3265
3266 int main()
3267 {
3268   char hostname[1000];
3269   gethostname(hostname, 999);
3270   return 0;
3271 }
3272 EOT
3273 test_linkc "whether gethostname call exists" "yes" "no" ""
3274
3275 cat >>confdefs.h <<_ACEOF
3276 #define CMK_HAS_GETHOSTNAME $pass
3277 _ACEOF
3278
3279
3280 #### check if getProcAddress works ####
3281 cat > $t <<EOT
3282 #include "ckdll_win32.C"
3283 EOT
3284 test_cxx "whether getProcAddress works" "yes" "no" ""
3285
3286 cat >>confdefs.h <<_ACEOF
3287 #define CMK_DLL_USE_WIN32 $pass
3288 _ACEOF
3289
3290
3291 fi    # end of skip_dl
3292
3293 #### check if socklen_t exists ####
3294 cat > $t <<EOT
3295 #include <sys/types.h>
3296 #include <sys/socket.h>
3297
3298 void foo(void) {
3299         int i;
3300         socklen_t s=sizeof(i);
3301 }
3302 EOT
3303 test_cxx "whether has socklen_t" "yes" "no" ""
3304
3305 cat >>confdefs.h <<_ACEOF
3306 #define CMK_HAS_SOCKLEN $pass
3307 _ACEOF
3308
3309
3310 ### test getifaddrs ####
3311 cat > $tc <<EOT
3312 #include <netinet/in.h> /* for sockaddr_in */
3313 #include <ifaddrs.h> /* for getifaddrs */
3314 #include <net/if.h> /* for IFF_RUNNING */
3315
3316 int main()
3317 {
3318   struct ifaddrs *interfaces=0;
3319   if( getifaddrs(&interfaces) == 0 ) {
3320         struct ifaddrs *interface;
3321         for( interface=interfaces; interface; interface=interface->ifa_next ) {
3322             if( (interface->ifa_flags & IFF_UP) && ! (interface->ifa_flags & IFF_LOOPBACK) ) {
3323                 const struct sockaddr_in *addr = (const struct sockaddr_in*)interface->ifa_addr;
3324                 if( addr && addr->sin_family==AF_INET ) {
3325                     break;
3326                 }
3327             }
3328         }
3329         freeifaddrs(interfaces);
3330   }
3331 }
3332 EOT
3333 test_linkc "whether getifaddrs call exists" "yes" "no" ""
3334
3335 cat >>confdefs.h <<_ACEOF
3336 #define CMK_HAS_GETIFADDRS $pass
3337 _ACEOF
3338
3339
3340 #### check if mmap exists ####
3341 cat > $t <<EOT
3342 #include <sys/types.h>
3343 #include <sys/mman.h>
3344
3345 void *foo(void *a,int l,int fd) {
3346         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3347                  MAP_FIXED+MAP_PRIVATE,fd,0);
3348 }
3349 EOT
3350 test_cxx "whether the mmap() syscall exists" "yes" "no" ""
3351
3352 cat >>confdefs.h <<_ACEOF
3353 #define CMK_HAS_MMAP $pass
3354 _ACEOF
3355
3356
3357 #### check if mmap accepts MAP_ANON ####
3358 cat > $t <<EOT
3359 #include <sys/types.h>
3360 #include <sys/mman.h>
3361
3362 void *foo(void *a,int l) {
3363         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3364                 MAP_FIXED+MAP_PRIVATE+MAP_ANON,-1,0);
3365 }
3366 EOT
3367 test_cxx "whether mmap() accepts MAP_ANON" "yes" "no" ""
3368
3369 cat >>confdefs.h <<_ACEOF
3370 #define CMK_HAS_MMAP_ANON $pass
3371 _ACEOF
3372
3373
3374 #### check if mmap accepts MAP_NORESERVE ####
3375 cat > $t <<EOT
3376 #include <sys/types.h>
3377 #include <sys/mman.h>
3378
3379 void *foo(void *a,int l) {
3380         return mmap((caddr_t)a,l,PROT_READ+PROT_WRITE,
3381                 MAP_FIXED+MAP_PRIVATE+MAP_NORESERVE,-1,0);
3382 }
3383 EOT
3384 test_cxx "whether mmap() accepts MAP_NORESERVE" "yes" "no" ""
3385
3386 cat >>confdefs.h <<_ACEOF
3387 #define CMK_HAS_MMAP_NORESERVE $pass
3388 _ACEOF
3389
3390
3391 #### check if get_myaddress exists ####
3392 cat > $t <<EOT
3393 #include <rpc/rpc.h>
3394
3395 void foo(void *a) {
3396     get_myaddress((struct sockaddr_in*)a);
3397 }
3398 EOT
3399 test_cxx "whether has get_myaddress" "yes" "no" ""
3400
3401 cat >>confdefs.h <<_ACEOF
3402 #define CMK_HAS_GET_MYADDRESS $pass
3403 _ACEOF
3404
3405
3406 #### check if mprotect exists ####
3407 cat > $t <<EOT
3408 #include <stdio.h>
3409 #include <sys/mman.h>
3410
3411 void foo(void *a,int l,int fd) {
3412      void *pg = NULL;
3413      size_t pagesize = 4096;
3414      mprotect(pg, pagesize, PROT_READ | PROT_WRITE);
3415 }
3416 EOT
3417 test_cxx "whether has mprotect" "yes" "no" ""
3418
3419 cat >>confdefs.h <<_ACEOF
3420 #define CMK_HAS_MPROTECT $pass
3421 _ACEOF
3422
3423
3424 #### check if glibc backtrace exists ####
3425 cat > $t <<EOT
3426 #include "cmibacktrace.c"
3427
3428 int main() {
3429         int nLevels=1;
3430         void *stack;
3431         CmiBacktraceRecord(&stack,0,&nLevels);
3432         return 0;
3433 }
3434 EOT
3435 TRACE_LINK_FLAG="-rdynamic"
3436 test_link "whether glibc backtrace works" "yes" "no" "-DCMK_USE_BACKTRACE=1 $TRACE_LINK_FLAG"
3437
3438 cat >>confdefs.h <<_ACEOF
3439 #define CMK_USE_BACKTRACE $pass
3440 _ACEOF
3441
3442
3443 if test $strictpass -eq 1
3444 then
3445         add_flag 'CMK_LD="$CMK_LD '$TRACE_LINK_FLAG'"' "backtrace"
3446         add_flag 'CMK_LDXX="$CMK_LDXX '$TRACE_LINK_FLAG'"' "backtrace"
3447 fi
3448
3449 #### test sleep ####
3450 cat > $t <<EOT
3451 #include <unistd.h>
3452 int main() {
3453   sleep(1);
3454   return 0;
3455 }
3456 EOT
3457 test_cxx "whether has sleep " "yes" "no" ""
3458
3459 cat >>confdefs.h <<_ACEOF
3460 #define CMK_HAS_SLEEP $pass
3461 _ACEOF
3462
3463
3464 #### test usleep ####
3465 cat > $t <<EOT
3466 #include <unistd.h>
3467 int main() {
3468   usleep(100);
3469   return 0;
3470 }
3471 EOT
3472 test_cxx "whether has usleep " "yes" "no" ""
3473
3474 cat >>confdefs.h <<_ACEOF
3475 #define CMK_HAS_USLEEP $pass
3476 _ACEOF
3477
3478
3479 #### test personality() and ADDR_NO_RANDOMIZE ####
3480 # Only works on modern Linux systems
3481 cat > $t <<EOT
3482 #include <sys/personality.h>
3483 int main() {
3484     int orig_persona = personality(0xffffffff);
3485     personality(orig_persona | ADDR_NO_RANDOMIZE);
3486     return 0;
3487 }
3488 EOT
3489 test_cxx "whether personality() and ADDR_NO_RANDOMIZE exist" "yes" "no" ""
3490
3491 cat >>confdefs.h <<_ACEOF
3492 #define CMK_HAS_ADDR_NO_RANDOMIZE $pass
3493 _ACEOF
3494
3495
3496
3497 #### test if has zlib ####
3498 # bproc doesnot like -lz in any case
3499 if test -z "$CMK_BPROC"
3500 then
3501
3502 cat > $t <<EOT
3503 #include <zlib.h>
3504 int main() {
3505   gzFile f = gzopen("/tmp/x","r");
3506   gzprintf(f, "test...\n");
3507   gzclose(f);
3508   return 0;
3509 }
3510 EOT
3511 test_link "whether has zlib" "yes" "no" "-lz"
3512
3513 cat >>confdefs.h <<_ACEOF
3514 #define CMK_PROJECTIONS_USE_ZLIB $pass
3515 _ACEOF
3516
3517 if test $pass -eq 1
3518 then
3519         add_flag 'CMK_LIBZ="-lz"' "zlib"
3520 fi
3521
3522 fi
3523
3524 #### test if has elf.h ####
3525 cat > $t <<EOT
3526 #include <elf.h>
3527 typedef Elf32_Addr ELF_TYPE_Addr;
3528 int main() {
3529 }
3530 EOT
3531 test_cxx "whether has elf.h " "yes" "no" ""
3532
3533 cat >>confdefs.h <<_ACEOF
3534 #define CMK_HAS_ELF_H $pass
3535 _ACEOF
3536
3537
3538 #### test if has Multiprocessing.h for apple ####
3539 cat > $t <<EOT
3540 #include <Carbon/Carbon.h>
3541 #include <Multiprocessing.h>
3542 int main() {
3543   int a = MPProcessorsScheduled();
3544 }
3545 EOT
3546 test_cxx "whether has Multiprocessing.h for Apple " "yes" "no" ""
3547
3548 cat >>confdefs.h <<_ACEOF
3549 #define CMK_HAS_MULTIPROCESSING_H $pass
3550 _ACEOF
3551
3552
3553 #### test if "ntohl" is available ####
3554 cat > $t <<EOT
3555 #if defined(_WIN32) && ! defined(__CYGWIN__) || defined(__MINGW_H)
3556 #include <winsock.h>
3557 #else
3558 #include <netinet/in.h>
3559 #include <arpa/inet.h>
3560 #endif
3561
3562 int main() {
3563   int i = 100;
3564   i = ntohl(i);
3565   return 0;
3566 }
3567 EOT
3568 test_link "whether ntohl is available" "yes" "no" ""
3569
3570 cat >>confdefs.h <<_ACEOF
3571 #define CMK_HAS_NTOHL $pass
3572 _ACEOF
3573
3574
3575 ### test for libjpeg ####
3576 cat > $t <<EOT
3577 #include <stdio.h>
3578 #include <stdlib.h>
3579 #include "jpeglib.h"
3580
3581 int main()
3582 {
3583   struct jpeg_compress_struct cinfo;
3584   jpeg_create_compress(&cinfo);
3585   return 0;
3586 }
3587 EOT
3588 test_link "whether has libjpeg" "yes" "no" "-ljpeg"
3589
3590 cat >>confdefs.h <<_ACEOF
3591 #define CMK_USE_LIBJPEG $pass
3592 _ACEOF
3593
3594 if test $pass -eq 1
3595 then
3596         add_flag 'CMK_LIBJPEG="-ljpeg"' "libjpeg"
3597 fi
3598
3599 #### check if PAPI exists ####
3600 if test -n "$CMK_USE_PAPI"
3601 then
3602 cat > $t <<EOT
3603 #include <stdio.h>
3604 #include <papi.h>
3605
3606 int main() {
3607     if (PAPI_library_init(PAPI_VER_CURRENT) != PAPI_VER_CURRENT) return 1;
3608     return 0;
3609 }
3610 EOT
3611 test_link "whether PAPI exists" "yes" "no" "-lpapi"
3612
3613 cat >>confdefs.h <<_ACEOF
3614 #define CMK_HAS_COUNTER_PAPI $pass
3615 _ACEOF
3616
3617 if test $pass -eq 1
3618 then
3619         add_flag 'CMK_LIBS="$CMK_LIBS -lpapi"' "papi"
3620 fi
3621 fi
3622
3623 #### test if Python headers are installed ####
3624 PYTHON_VERSION=`python -V 2>&1 | awk {'print $2'} | awk -F. {'print $1"."$2'}`
3625 cat > $t <<EOT
3626 #include "python${PYTHON_VERSION}/Python.h"
3627 #include "python${PYTHON_VERSION}/compile.h"
3628 #include "python${PYTHON_VERSION}/eval.h"
3629 #include "python${PYTHON_VERSION}/node.h"
3630
3631 int main() {
3632     Py_Initialize();
3633     PyEval_InitThreads();
3634     struct _node* programNode = PyParser_SimpleParseString("return 1\n",Py_file_input);
3635     PyCodeObject *program = PyNode_Compile(programNode, "");
3636 }
3637 EOT
3638 test_link "whether Python is installed" "yes" "no" "-lpython$PYTHON_VERSION -lpthread -lutil -ldl"
3639
3640 cat >>confdefs.h <<_ACEOF
3641 #define CMK_HAS_PYTHON $pass
3642 _ACEOF
3643
3644
3645 cat >>confdefs.h <<_ACEOF
3646 #define CMK_PYTHON_VERSION ${PYTHON_VERSION}
3647 _ACEOF
3648
3649 if test $pass -eq 1
3650 then
3651         add_flag "CMK_BUILD_PYTHON=$PYTHON_VERSION" "python"
3652 fi
3653
3654 #### Pick up METIS if the user asks for it ####
3655
3656
3657 # Check whether --with-metis was given.
3658 if test "${with_metis+set}" = set; then :
3659   withval=$with_metis;
3660 else
3661   with_metis=no
3662 fi
3663
3664
3665 WITH_METIS=no
3666 if test "$with_metis" != "no"
3667 then
3668   Echo "Compiling Charm with support for METIS"
3669   WITH_METIS=yes
3670   echo 'charm++: $(L)/libmoduleMetisLB.a $(L)/libmoduleTeamLB.a' >> $MAKEFILE_EXT
3671   add_flag 'CMK_LIBS="$CMK_LIBS -lmetis"' "libmetis"
3672   if test "$with_metis" != "yes"
3673   then
3674     add_flag "CMK_METIS=$with_metis" "Where to find METIS"
3675     add_flag 'CMK_LIBDIR="$CMK_LIBDIR -L$CMK_METIS"' "Library path for METIS"
3676     if test -r $with_metis/Lib/metis.h
3677     then
3678       add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/Lib"' "Include path for METIS 4"
3679     elif test -r $with_metis/../../include/metis.h
3680     then
3681       add_flag 'CMK_INCDIR="$CMK_INCDIR -I$CMK_METIS/../../include"' "Include path for METIS 5"
3682     else
3683       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."
3684       test_finish 1
3685     fi
3686   fi
3687 fi
3688
3689
3690 #### test if Cray node topology will work ####
3691 cat > $tc <<EOT
3692 #include <pmi.h>
3693
3694 int main() {
3695     int nid;
3696     PMI_Get_nid(0, &nid);
3697
3698     return 0;
3699 }
3700 EOT
3701 test_linkc "whether PMI_Get_nid exists" "yes" "no" ""
3702
3703 cat >>confdefs.h <<_ACEOF
3704 #define CMK_HAS_PMI_GET_NID $pass
3705 _ACEOF
3706
3707
3708 #### test if Cray mesh topology will work ####
3709 cat > $tc <<EOT
3710 #include <rca_lib.h>
3711
3712 int main() {
3713     rca_mesh_coord_t xyz;
3714     rca_get_meshcoord(0, &xyz);
3715
3716     return 0;
3717 }
3718 EOT
3719 test_linkc "whether Cray rca library is available" "yes" "no" "-lrca"
3720
3721 cat >>confdefs.h <<_ACEOF
3722 #define CMK_HAS_RCALIB $pass
3723 _ACEOF
3724
3725
3726 #### test if it can build shared library ####
3727 cat > $t <<EOT
3728 #include "stdlib.h"
3729 extern int foo();
3730 int foo1() {
3731   void * t= malloc(2);
3732   foo();
3733   return 0;
3734 }
3735 EOT
3736 test_linkso "whether can build shared library" "yes" "no" ""
3737 if test $pass -eq 0
3738 then
3739         add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
3740 else
3741         BUILD_SHARED=1
3742         if test "$BUILD_MPI" = "1"
3743         then
3744 cat > $t <<EOT
3745 #include "stdlib.h"
3746 #include "mpi.h"
3747 extern int foo();
3748 int foo(int argc, char ** argv) {
3749   void * t= malloc(2);
3750   foo();
3751   MPI_Init(&argc, &argv);
3752   return 0;
3753 }
3754 EOT
3755                 test_linkso "whether can build shared library with MPI" "yes" "no" ""
3756                 BUILD_SHARED=$pass
3757         fi
3758         if test $BUILD_SHARED -eq 0
3759         then
3760                 add_flag 'CMK_NO_BUILD_SHARED="true"' "build-shared"
3761         fi
3762 fi
3763
3764 #### test the version number of bproc ####
3765 if test -n "$CMK_BPROC"
3766 then
3767 cat > $t <<EOT
3768 #include <stdio.h>
3769 #include <sys/bproc.h>
3770 int main()
3771 {
3772   struct bproc_version_t vers;
3773   bproc_version(&vers);
3774   printf("%s\n", vers.version_string);
3775 }
3776 EOT
3777 test_link "whether bproc compiles" "yes" "no" "-lbproc"
3778 if test $pass -eq 1
3779 then
3780 { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"bproc version\"" >&5
3781 $as_echo_n "checking \"bproc version\"... " >&6; }
3782 bproc_ver=`./testlink`
3783 if test x$bproc_ver = x
3784 then
3785 test_result 0 "bproc version" "ERROR" ""
3786 test_finish 1
3787 else
3788 test_result 0 "bproc version" "$bproc_ver" ""
3789 fi
3790 bproc_ver=`echo $bproc_ver | cut -d'.' -f1`
3791
3792 cat >>confdefs.h <<_ACEOF
3793 #define CMK_BPROC_VERSION $bproc_ver
3794 _ACEOF
3795
3796 fi
3797 fi
3798
3799 #### test the if command sync exists ####
3800 # Extract the first word of "sync", so it can be a program name with args.
3801 set dummy sync; ac_word=$2
3802 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3803 $as_echo_n "checking for $ac_word... " >&6; }
3804 if test "${ac_cv_prog_SYNC+set}" = set; then :
3805   $as_echo_n "(cached) " >&6
3806 else
3807   if test -n "$SYNC"; then
3808   ac_cv_prog_SYNC="$SYNC" # Let the user override the test.
3809 else
3810 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3811 for as_dir in $PATH
3812 do
3813   IFS=$as_save_IFS
3814   test -z "$as_dir" && as_dir=.
3815     for ac_exec_ext in '' $ac_executable_extensions; do
3816   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3817     ac_cv_prog_SYNC="sync "
3818     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3819     break 2
3820   fi
3821 done
3822   done
3823 IFS=$as_save_IFS
3824
3825 fi
3826 fi
3827 SYNC=$ac_cv_prog_SYNC
3828 if test -n "$SYNC"; then
3829   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYNC" >&5
3830 $as_echo "$SYNC" >&6; }
3831 else
3832   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3833 $as_echo "no" >&6; }
3834 fi
3835
3836
3837 if test -n "$SYNC"
3838 then
3839
3840 cat >>confdefs.h <<_ACEOF
3841 #define CMK_HAS_SYNC 1
3842 _ACEOF
3843
3844 fi
3845
3846 ################## Fortran #########################
3847
3848 #echo "set F77 compiler as: $CMK_CF77"
3849 { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"F77 compiler as\"" >&5
3850 $as_echo_n "checking \"F77 compiler as\"... " >&6; }
3851 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$CMK_CF77\"" >&5
3852 $as_echo "\"$CMK_CF77\"" >&6; }
3853
3854 { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"whether Fortran 77 compiler works\"" >&5
3855 $as_echo_n "checking \"whether Fortran 77 compiler works\"... " >&6; }
3856 ### test fortran 77 compiler ###
3857 cat > conftest.f <<EOF
3858       SUBROUTINE FOO_foo
3859       END
3860 EOF
3861 $CMK_CF77 -c conftest.f > /dev/null 2> /dev/null
3862 if test ! -r conftest.o
3863 then
3864   { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"no\"" >&5
3865 $as_echo "\"no\"" >&6; }
3866 else
3867   { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"yes\"" >&5
3868 $as_echo "\"yes\"" >&6; }
3869 fi
3870
3871 ### test fortran 90 compiler ###
3872 #echo "set F90 compiler as: $CMK_CF90"
3873 { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"F90 compiler as\"" >&5
3874 $as_echo_n "checking \"F90 compiler as\"... " >&6; }
3875 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$CMK_CF90\"" >&5
3876 $as_echo "\"$CMK_CF90\"" >&6; }
3877