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