OS X: Handle power events sensibly.
Currently, if the computer goes to sleep and wakes up later, TTS will count all the time spent asleep against the currently running entry (if any). If (like me) your computer being asleep means you aren't working, this probably means you just forgot to stop the time, and now you need to somehow calculate (or guess) how much time to subtract. With this change, TTS will instead prompt on wake-up whether to remove the time spent sleeping from the current entry.
This commit is contained in:
parent
6a76613798
commit
038fbfdd18
4 changed files with 870 additions and 12 deletions
36
config.h.in
36
config.h.in
|
|
@ -15,6 +15,18 @@
|
||||||
/* Define to 1 if library supports certain obsolete features */
|
/* Define to 1 if library supports certain obsolete features */
|
||||||
#undef HAVE_CURSES_OBSOLETE
|
#undef HAVE_CURSES_OBSOLETE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <IOKit/pwr_mgt/IOPMLib.h> header file. */
|
||||||
|
#undef HAVE_IOKIT_PWR_MGT_IOPMLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `IORegisterForSystemPower' function. */
|
||||||
|
#undef HAVE_IOREGISTERFORSYSTEMPOWER
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
/* Define to 1 if the Ncurses library is present */
|
/* Define to 1 if the Ncurses library is present */
|
||||||
#undef HAVE_NCURSES
|
#undef HAVE_NCURSES
|
||||||
|
|
||||||
|
|
@ -33,6 +45,27 @@
|
||||||
/* Define to 1 if <ncurses.h> is present */
|
/* Define to 1 if <ncurses.h> is present */
|
||||||
#undef HAVE_NCURSES_H
|
#undef HAVE_NCURSES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
/* Define to 1 if you have the `use_default_colors' function. */
|
/* Define to 1 if you have the `use_default_colors' function. */
|
||||||
#undef HAVE_USE_DEFAULT_COLORS
|
#undef HAVE_USE_DEFAULT_COLORS
|
||||||
|
|
||||||
|
|
@ -53,3 +86,6 @@
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#undef PACKAGE_VERSION
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
|
||||||
691
configure
vendored
691
configure
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for RT/TTS T.1.0-79.
|
# Generated by GNU Autoconf 2.69 for RT/TTS T.1.0-80.
|
||||||
#
|
#
|
||||||
# Report bugs to <felicity@loreley.flyingparchment.org.uk>.
|
# Report bugs to <felicity@loreley.flyingparchment.org.uk>.
|
||||||
#
|
#
|
||||||
|
|
@ -197,7 +197,8 @@ test -x / || exit 1"
|
||||||
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
|
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
|
||||||
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
|
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
|
||||||
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
|
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
|
||||||
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
|
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
|
||||||
|
test \$(( 1 + 1 )) = 2 || exit 1"
|
||||||
if (eval "$as_required") 2>/dev/null; then :
|
if (eval "$as_required") 2>/dev/null; then :
|
||||||
as_have_required=yes
|
as_have_required=yes
|
||||||
else
|
else
|
||||||
|
|
@ -579,14 +580,53 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='RT/TTS'
|
PACKAGE_NAME='RT/TTS'
|
||||||
PACKAGE_TARNAME='rt-tts'
|
PACKAGE_TARNAME='rt-tts'
|
||||||
PACKAGE_VERSION='T.1.0-79'
|
PACKAGE_VERSION='T.1.0-80'
|
||||||
PACKAGE_STRING='RT/TTS T.1.0-79'
|
PACKAGE_STRING='RT/TTS T.1.0-80'
|
||||||
PACKAGE_BUGREPORT='felicity@loreley.flyingparchment.org.uk'
|
PACKAGE_BUGREPORT='felicity@loreley.flyingparchment.org.uk'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
ac_unique_file="tts.c"
|
ac_unique_file="tts.c"
|
||||||
|
# Factoring default headers for most tests.
|
||||||
|
ac_includes_default="\
|
||||||
|
#include <stdio.h>
|
||||||
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
|
# include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_STAT_H
|
||||||
|
# include <sys/stat.h>
|
||||||
|
#endif
|
||||||
|
#ifdef STDC_HEADERS
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <stddef.h>
|
||||||
|
#else
|
||||||
|
# ifdef HAVE_STDLIB_H
|
||||||
|
# include <stdlib.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STRING_H
|
||||||
|
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
|
||||||
|
# include <memory.h>
|
||||||
|
# endif
|
||||||
|
# include <string.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STRINGS_H
|
||||||
|
# include <strings.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_INTTYPES_H
|
||||||
|
# include <inttypes.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STDINT_H
|
||||||
|
# include <stdint.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_UNISTD_H
|
||||||
|
# include <unistd.h>
|
||||||
|
#endif"
|
||||||
|
|
||||||
ac_subst_vars='LTLIBOBJS
|
ac_subst_vars='LTLIBOBJS
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
|
EGREP
|
||||||
|
GREP
|
||||||
|
CPP
|
||||||
CURSES_LIB
|
CURSES_LIB
|
||||||
INSTALL_DATA
|
INSTALL_DATA
|
||||||
INSTALL_SCRIPT
|
INSTALL_SCRIPT
|
||||||
|
|
@ -650,7 +690,8 @@ CFLAGS
|
||||||
LDFLAGS
|
LDFLAGS
|
||||||
LIBS
|
LIBS
|
||||||
CPPFLAGS
|
CPPFLAGS
|
||||||
CURSES_LIB'
|
CURSES_LIB
|
||||||
|
CPP'
|
||||||
|
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
|
|
@ -1191,7 +1232,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures RT/TTS T.1.0-79 to adapt to many kinds of systems.
|
\`configure' configures RT/TTS T.1.0-80 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
|
@ -1252,7 +1293,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of RT/TTS T.1.0-79:";;
|
short | recursive ) echo "Configuration of RT/TTS T.1.0-80:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
|
@ -1271,6 +1312,7 @@ Some influential environment variables:
|
||||||
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
|
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
|
||||||
you have headers in a nonstandard directory <include dir>
|
you have headers in a nonstandard directory <include dir>
|
||||||
CURSES_LIB linker library for Curses, e.g. -lcurses
|
CURSES_LIB linker library for Curses, e.g. -lcurses
|
||||||
|
CPP C preprocessor
|
||||||
|
|
||||||
Use these variables to override the choices made by `configure' or to help
|
Use these variables to override the choices made by `configure' or to help
|
||||||
it to find libraries and programs with nonstandard names/locations.
|
it to find libraries and programs with nonstandard names/locations.
|
||||||
|
|
@ -1338,7 +1380,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
RT/TTS configure T.1.0-79
|
RT/TTS configure T.1.0-80
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
|
@ -1502,11 +1544,212 @@ $as_echo "$ac_res" >&6; }
|
||||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
|
||||||
} # ac_fn_c_check_func
|
} # ac_fn_c_check_func
|
||||||
|
|
||||||
|
# ac_fn_c_try_cpp LINENO
|
||||||
|
# ----------------------
|
||||||
|
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
|
||||||
|
ac_fn_c_try_cpp ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
if { { ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo"; } >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
|
||||||
|
ac_status=$?
|
||||||
|
if test -s conftest.err; then
|
||||||
|
grep -v '^ *+' conftest.err >conftest.er1
|
||||||
|
cat conftest.er1 >&5
|
||||||
|
mv -f conftest.er1 conftest.err
|
||||||
|
fi
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; } > conftest.i && {
|
||||||
|
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then :
|
||||||
|
ac_retval=0
|
||||||
|
else
|
||||||
|
$as_echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_retval=1
|
||||||
|
fi
|
||||||
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
as_fn_set_status $ac_retval
|
||||||
|
|
||||||
|
} # ac_fn_c_try_cpp
|
||||||
|
|
||||||
|
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
|
||||||
|
# the include files in INCLUDES and setting the cache variable VAR
|
||||||
|
# accordingly.
|
||||||
|
ac_fn_c_check_header_mongrel ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
if eval \${$3+:} false; then :
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||||
|
$as_echo_n "checking for $2... " >&6; }
|
||||||
|
if eval \${$3+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
fi
|
||||||
|
eval ac_res=\$$3
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
$as_echo "$ac_res" >&6; }
|
||||||
|
else
|
||||||
|
# Is the header compilable?
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
|
||||||
|
$as_echo_n "checking $2 usability... " >&6; }
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$4
|
||||||
|
#include <$2>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
ac_header_compiler=yes
|
||||||
|
else
|
||||||
|
ac_header_compiler=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
|
||||||
|
$as_echo "$ac_header_compiler" >&6; }
|
||||||
|
|
||||||
|
# Is the header present?
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
|
||||||
|
$as_echo_n "checking $2 presence... " >&6; }
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <$2>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
ac_header_preproc=yes
|
||||||
|
else
|
||||||
|
ac_header_preproc=no
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
|
||||||
|
$as_echo "$ac_header_preproc" >&6; }
|
||||||
|
|
||||||
|
# So? What about this header?
|
||||||
|
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
|
||||||
|
yes:no: )
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||||
|
;;
|
||||||
|
no:yes:* )
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||||
|
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||||
|
( $as_echo "## ------------------------------------------------------ ##
|
||||||
|
## Report this to felicity@loreley.flyingparchment.org.uk ##
|
||||||
|
## ------------------------------------------------------ ##"
|
||||||
|
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||||
|
$as_echo_n "checking for $2... " >&6; }
|
||||||
|
if eval \${$3+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
eval "$3=\$ac_header_compiler"
|
||||||
|
fi
|
||||||
|
eval ac_res=\$$3
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
$as_echo "$ac_res" >&6; }
|
||||||
|
fi
|
||||||
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
|
||||||
|
} # ac_fn_c_check_header_mongrel
|
||||||
|
|
||||||
|
# ac_fn_c_try_run LINENO
|
||||||
|
# ----------------------
|
||||||
|
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
|
||||||
|
# that executables *can* be run.
|
||||||
|
ac_fn_c_try_run ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
if { { ac_try="$ac_link"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo"; } >&5
|
||||||
|
(eval "$ac_link") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
|
||||||
|
{ { case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||||
|
$as_echo "$ac_try_echo"; } >&5
|
||||||
|
(eval "$ac_try") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||||
|
test $ac_status = 0; }; }; then :
|
||||||
|
ac_retval=0
|
||||||
|
else
|
||||||
|
$as_echo "$as_me: program exited with status $ac_status" >&5
|
||||||
|
$as_echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_retval=$ac_status
|
||||||
|
fi
|
||||||
|
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||||
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
as_fn_set_status $ac_retval
|
||||||
|
|
||||||
|
} # ac_fn_c_try_run
|
||||||
|
|
||||||
|
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
|
||||||
|
# -------------------------------------------------------
|
||||||
|
# Tests whether HEADER exists and can be compiled using the include files in
|
||||||
|
# INCLUDES, setting the cache variable VAR accordingly.
|
||||||
|
ac_fn_c_check_header_compile ()
|
||||||
|
{
|
||||||
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||||
|
$as_echo_n "checking for $2... " >&6; }
|
||||||
|
if eval \${$3+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$4
|
||||||
|
#include <$2>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
eval "$3=yes"
|
||||||
|
else
|
||||||
|
eval "$3=no"
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
eval ac_res=\$$3
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||||
|
$as_echo "$ac_res" >&6; }
|
||||||
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
|
||||||
|
} # ac_fn_c_check_header_compile
|
||||||
cat >config.log <<_ACEOF
|
cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by RT/TTS $as_me T.1.0-79, which was
|
It was created by RT/TTS $as_me T.1.0-80, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
|
@ -3543,6 +3786,432 @@ done
|
||||||
|
|
||||||
LIBS="$oLIBS"
|
LIBS="$oLIBS"
|
||||||
|
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
|
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
|
||||||
|
$as_echo_n "checking how to run the C preprocessor... " >&6; }
|
||||||
|
# On Suns, sometimes $CPP names a directory.
|
||||||
|
if test -n "$CPP" && test -d "$CPP"; then
|
||||||
|
CPP=
|
||||||
|
fi
|
||||||
|
if test -z "$CPP"; then
|
||||||
|
if ${ac_cv_prog_CPP+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
# Double quotes because CPP needs to be expanded
|
||||||
|
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
|
||||||
|
do
|
||||||
|
ac_preproc_ok=false
|
||||||
|
for ac_c_preproc_warn_flag in '' yes
|
||||||
|
do
|
||||||
|
# Use a header file that comes with gcc, so configuring glibc
|
||||||
|
# with a fresh cross-compiler works.
|
||||||
|
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||||
|
# <limits.h> exists even on freestanding compilers.
|
||||||
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
|
# not just through cpp. "Syntax error" is here to catch this case.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#ifdef __STDC__
|
||||||
|
# include <limits.h>
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
#endif
|
||||||
|
Syntax error
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
# Broken: fails on valid input.
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||||
|
|
||||||
|
# OK, works on sane cases. Now check whether nonexistent headers
|
||||||
|
# can be detected and how.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
# Broken: success on invalid input.
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
# Passes both tests.
|
||||||
|
ac_preproc_ok=:
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||||
|
|
||||||
|
done
|
||||||
|
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
||||||
|
rm -f conftest.i conftest.err conftest.$ac_ext
|
||||||
|
if $ac_preproc_ok; then :
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
ac_cv_prog_CPP=$CPP
|
||||||
|
|
||||||
|
fi
|
||||||
|
CPP=$ac_cv_prog_CPP
|
||||||
|
else
|
||||||
|
ac_cv_prog_CPP=$CPP
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
|
||||||
|
$as_echo "$CPP" >&6; }
|
||||||
|
ac_preproc_ok=false
|
||||||
|
for ac_c_preproc_warn_flag in '' yes
|
||||||
|
do
|
||||||
|
# Use a header file that comes with gcc, so configuring glibc
|
||||||
|
# with a fresh cross-compiler works.
|
||||||
|
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||||
|
# <limits.h> exists even on freestanding compilers.
|
||||||
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
|
# not just through cpp. "Syntax error" is here to catch this case.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#ifdef __STDC__
|
||||||
|
# include <limits.h>
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
#endif
|
||||||
|
Syntax error
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
# Broken: fails on valid input.
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||||
|
|
||||||
|
# OK, works on sane cases. Now check whether nonexistent headers
|
||||||
|
# can be detected and how.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||||
|
# Broken: success on invalid input.
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
# Passes both tests.
|
||||||
|
ac_preproc_ok=:
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||||
|
|
||||||
|
done
|
||||||
|
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
||||||
|
rm -f conftest.i conftest.err conftest.$ac_ext
|
||||||
|
if $ac_preproc_ok; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
|
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
|
||||||
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP $CPPFLAGS'
|
||||||
|
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
|
||||||
|
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
|
||||||
|
if ${ac_cv_path_GREP+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if test -z "$GREP"; then
|
||||||
|
ac_path_GREP_found=false
|
||||||
|
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_prog in grep ggrep; do
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||||
|
as_fn_executable_p "$ac_path_GREP" || continue
|
||||||
|
# Check for GNU ac_path_GREP and select it if it is found.
|
||||||
|
# Check for GNU $ac_path_GREP
|
||||||
|
case `"$ac_path_GREP" --version 2>&1` in
|
||||||
|
*GNU*)
|
||||||
|
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
|
||||||
|
*)
|
||||||
|
ac_count=0
|
||||||
|
$as_echo_n 0123456789 >"conftest.in"
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||||
|
mv "conftest.tmp" "conftest.in"
|
||||||
|
cp "conftest.in" "conftest.nl"
|
||||||
|
$as_echo 'GREP' >> "conftest.nl"
|
||||||
|
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||||
|
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||||
|
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||||
|
if test $ac_count -gt ${ac_path_GREP_max-0}; then
|
||||||
|
# Best one so far, save it but keep looking for a better one
|
||||||
|
ac_cv_path_GREP="$ac_path_GREP"
|
||||||
|
ac_path_GREP_max=$ac_count
|
||||||
|
fi
|
||||||
|
# 10*(2^10) chars as input seems more than enough
|
||||||
|
test $ac_count -gt 10 && break
|
||||||
|
done
|
||||||
|
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
$ac_path_GREP_found && break 3
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
if test -z "$ac_cv_path_GREP"; then
|
||||||
|
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ac_cv_path_GREP=$GREP
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
|
||||||
|
$as_echo "$ac_cv_path_GREP" >&6; }
|
||||||
|
GREP="$ac_cv_path_GREP"
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
|
||||||
|
$as_echo_n "checking for egrep... " >&6; }
|
||||||
|
if ${ac_cv_path_EGREP+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
|
||||||
|
then ac_cv_path_EGREP="$GREP -E"
|
||||||
|
else
|
||||||
|
if test -z "$EGREP"; then
|
||||||
|
ac_path_EGREP_found=false
|
||||||
|
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_prog in egrep; do
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||||
|
as_fn_executable_p "$ac_path_EGREP" || continue
|
||||||
|
# Check for GNU ac_path_EGREP and select it if it is found.
|
||||||
|
# Check for GNU $ac_path_EGREP
|
||||||
|
case `"$ac_path_EGREP" --version 2>&1` in
|
||||||
|
*GNU*)
|
||||||
|
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
|
||||||
|
*)
|
||||||
|
ac_count=0
|
||||||
|
$as_echo_n 0123456789 >"conftest.in"
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||||
|
mv "conftest.tmp" "conftest.in"
|
||||||
|
cp "conftest.in" "conftest.nl"
|
||||||
|
$as_echo 'EGREP' >> "conftest.nl"
|
||||||
|
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||||
|
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||||
|
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||||
|
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
|
||||||
|
# Best one so far, save it but keep looking for a better one
|
||||||
|
ac_cv_path_EGREP="$ac_path_EGREP"
|
||||||
|
ac_path_EGREP_max=$ac_count
|
||||||
|
fi
|
||||||
|
# 10*(2^10) chars as input seems more than enough
|
||||||
|
test $ac_count -gt 10 && break
|
||||||
|
done
|
||||||
|
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
$ac_path_EGREP_found && break 3
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
if test -z "$ac_cv_path_EGREP"; then
|
||||||
|
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ac_cv_path_EGREP=$EGREP
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
|
||||||
|
$as_echo "$ac_cv_path_EGREP" >&6; }
|
||||||
|
EGREP="$ac_cv_path_EGREP"
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
||||||
|
$as_echo_n "checking for ANSI C header files... " >&6; }
|
||||||
|
if ${ac_cv_header_stdc+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <float.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
ac_cv_header_stdc=yes
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||||
|
$EGREP "memchr" >/dev/null 2>&1; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||||
|
$EGREP "free" >/dev/null 2>&1; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||||
|
if test "$cross_compiling" = yes; then :
|
||||||
|
:
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#if ((' ' & 0x0FF) == 0x020)
|
||||||
|
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||||
|
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||||
|
#else
|
||||||
|
# define ISLOWER(c) \
|
||||||
|
(('a' <= (c) && (c) <= 'i') \
|
||||||
|
|| ('j' <= (c) && (c) <= 'r') \
|
||||||
|
|| ('s' <= (c) && (c) <= 'z'))
|
||||||
|
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < 256; i++)
|
||||||
|
if (XOR (islower (i), ISLOWER (i))
|
||||||
|
|| toupper (i) != TOUPPER (i))
|
||||||
|
return 2;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_run "$LINENO"; then :
|
||||||
|
|
||||||
|
else
|
||||||
|
ac_cv_header_stdc=no
|
||||||
|
fi
|
||||||
|
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||||
|
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
||||||
|
$as_echo "$ac_cv_header_stdc" >&6; }
|
||||||
|
if test $ac_cv_header_stdc = yes; then
|
||||||
|
|
||||||
|
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
||||||
|
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
||||||
|
inttypes.h stdint.h unistd.h
|
||||||
|
do :
|
||||||
|
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||||
|
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
|
||||||
|
"
|
||||||
|
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
for ac_header in IOKit/pwr_mgt/IOPMLib.h
|
||||||
|
do :
|
||||||
|
ac_fn_c_check_header_mongrel "$LINENO" "IOKit/pwr_mgt/IOPMLib.h" "ac_cv_header_IOKit_pwr_mgt_IOPMLib_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_IOKit_pwr_mgt_IOPMLib_h" = xyes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_IOKIT_PWR_MGT_IOPMLIB_H 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
oLDFLAGS="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS -framework CoreFoundation -framework IOKit"
|
||||||
|
for ac_func in IORegisterForSystemPower
|
||||||
|
do :
|
||||||
|
ac_fn_c_check_func "$LINENO" "IORegisterForSystemPower" "ac_cv_func_IORegisterForSystemPower"
|
||||||
|
if test "x$ac_cv_func_IORegisterForSystemPower" = xyes; then :
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_IOREGISTERFORSYSTEMPOWER 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
else
|
||||||
|
LDFLAGS="$oLDFLAGS"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile"
|
ac_config_files="$ac_config_files Makefile"
|
||||||
|
|
||||||
cat >confcache <<\_ACEOF
|
cat >confcache <<\_ACEOF
|
||||||
|
|
@ -4051,7 +4720,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by RT/TTS $as_me T.1.0-79, which was
|
This file was extended by RT/TTS $as_me T.1.0-80, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
|
@ -4113,7 +4782,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
RT/TTS config.status T.1.0-79
|
RT/TTS config.status T.1.0-80
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
AC_INIT([RT/TTS], [T.1.0-79], [felicity@loreley.flyingparchment.org.uk])
|
AC_INIT([RT/TTS], [T.1.0-80], [felicity@loreley.flyingparchment.org.uk])
|
||||||
AC_CONFIG_SRCDIR([tts.c])
|
AC_CONFIG_SRCDIR([tts.c])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
|
|
@ -12,5 +12,11 @@ LIBS="$LIBS $CURSES_LIB"
|
||||||
AC_CHECK_FUNCS([use_default_colors])
|
AC_CHECK_FUNCS([use_default_colors])
|
||||||
LIBS="$oLIBS"
|
LIBS="$oLIBS"
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS([IOKit/pwr_mgt/IOPMLib.h])
|
||||||
|
|
||||||
|
oLDFLAGS="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS -framework CoreFoundation -framework IOKit"
|
||||||
|
AC_CHECK_FUNCS([IORegisterForSystemPower], [], [LDFLAGS="$oLDFLAGS"])
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile])
|
AC_CONFIG_FILES([Makefile])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
|
||||||
147
tts.c
147
tts.c
|
|
@ -38,6 +38,19 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_IOREGISTERFORSYSTEMPOWER
|
||||||
|
# define USE_DARWIN_POWER
|
||||||
|
|
||||||
|
# include <mach/mach_port.h>
|
||||||
|
# include <mach/mach_interface.h>
|
||||||
|
# include <mach/mach_init.h>
|
||||||
|
|
||||||
|
# include <IOKit/pwr_mgt/IOPMLib.h>
|
||||||
|
# include <IOKit/IOMessage.h>
|
||||||
|
|
||||||
|
# include <pthread.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined HAVE_NCURSESW_CURSES_H
|
#if defined HAVE_NCURSESW_CURSES_H
|
||||||
# include <ncursesw/curses.h>
|
# include <ncursesw/curses.h>
|
||||||
#elif defined HAVE_NCURSESW_H
|
#elif defined HAVE_NCURSESW_H
|
||||||
|
|
@ -460,6 +473,84 @@ static variable_t variables[] = {
|
||||||
|
|
||||||
static variable_t *find_variable(const WCHAR *name);
|
static variable_t *find_variable(const WCHAR *name);
|
||||||
|
|
||||||
|
#ifdef USE_DARWIN_POWER
|
||||||
|
static pthread_t power_thread;
|
||||||
|
static io_connect_t root_port;
|
||||||
|
static volatile sig_atomic_t donesleep;
|
||||||
|
static time_t sleeptime;
|
||||||
|
|
||||||
|
static void *power_thread_run(void *);
|
||||||
|
static void power_event(void *, io_service_t, natural_t, void *);
|
||||||
|
static void prompt_sleep(void);
|
||||||
|
|
||||||
|
static void
|
||||||
|
sigsleep(sig)
|
||||||
|
{
|
||||||
|
/* Delivered from the power thread as SIGUSR1 */
|
||||||
|
donesleep = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Darwin power notifications are delivered from IOKit via Mach ports, which
|
||||||
|
* is incompatible with TTS's curses-based main loop. We therefore spawn a
|
||||||
|
* separate thread to listen for these events, and when we receive one, we
|
||||||
|
* translate it into a signal (SIGUSR1) which is delivered to the main thread
|
||||||
|
* to handle. The signal will interrupt getch().
|
||||||
|
*/
|
||||||
|
static void *
|
||||||
|
power_thread_run(arg)
|
||||||
|
void *arg;
|
||||||
|
{
|
||||||
|
sigset_t ss;
|
||||||
|
IONotificationPortRef port_ref;
|
||||||
|
io_object_t notifier;
|
||||||
|
|
||||||
|
/* Block SIGUSR1 so it's always delivered to the main thread, not us */
|
||||||
|
sigemptyset(&ss);
|
||||||
|
sigaddset(&ss, SIGUSR1);
|
||||||
|
pthread_sigmask(SIG_BLOCK, &ss, NULL);
|
||||||
|
|
||||||
|
/* Register a handler for sleep and wake events */
|
||||||
|
root_port = IORegisterForSystemPower(NULL, &port_ref, power_event,
|
||||||
|
¬ifier);
|
||||||
|
CFRunLoopAddSource(CFRunLoopGetCurrent(),
|
||||||
|
IONotificationPortGetRunLoopSource(port_ref),
|
||||||
|
kCFRunLoopCommonModes);
|
||||||
|
CFRunLoopRun();
|
||||||
|
|
||||||
|
/*NOTREACHED*/
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
power_event(ref, service, msgtype, arg)
|
||||||
|
void *ref, *arg;
|
||||||
|
io_service_t service;
|
||||||
|
natural_t msgtype;
|
||||||
|
{
|
||||||
|
static time_t sleep_started;
|
||||||
|
time_t diff;
|
||||||
|
|
||||||
|
switch (msgtype) {
|
||||||
|
case kIOMessageSystemWillSleep:
|
||||||
|
/* System is about to sleep; save the current time */
|
||||||
|
time(&sleep_started);
|
||||||
|
IOAllowPowerChange(root_port, (long) arg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case kIOMessageSystemHasPoweredOn:
|
||||||
|
/* System has finished wake-up; calculate the sleep time and
|
||||||
|
* notify the main thread.
|
||||||
|
*/
|
||||||
|
time(&diff);
|
||||||
|
diff -= sleep_started;
|
||||||
|
sleeptime += diff;
|
||||||
|
raise(SIGUSR1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sigexit(sig)
|
sigexit(sig)
|
||||||
{
|
{
|
||||||
|
|
@ -479,6 +570,11 @@ char rcfile[PATH_MAX + 1];
|
||||||
signal(SIGTERM, sigexit);
|
signal(SIGTERM, sigexit);
|
||||||
signal(SIGINT, sigexit);
|
signal(SIGINT, sigexit);
|
||||||
|
|
||||||
|
#ifdef USE_DARWIN_POWER
|
||||||
|
signal(SIGUSR1, sigsleep);
|
||||||
|
pthread_create(&power_thread, NULL, power_thread_run, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
searchhist = hist_new();
|
searchhist = hist_new();
|
||||||
prompthist = hist_new();
|
prompthist = hist_new();
|
||||||
|
|
||||||
|
|
@ -597,6 +693,9 @@ char rcfile[PATH_MAX + 1];
|
||||||
if (doexit)
|
if (doexit)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if (donesleep)
|
||||||
|
prompt_sleep();
|
||||||
|
|
||||||
drawheader();
|
drawheader();
|
||||||
drawentries();
|
drawentries();
|
||||||
wrefresh(listwin);
|
wrefresh(listwin);
|
||||||
|
|
@ -604,6 +703,8 @@ char rcfile[PATH_MAX + 1];
|
||||||
if (GETCH(&c) == ERR) {
|
if (GETCH(&c) == ERR) {
|
||||||
if (doexit)
|
if (doexit)
|
||||||
break;
|
break;
|
||||||
|
if (donesleep)
|
||||||
|
prompt_sleep();
|
||||||
if (time(NULL) - laststatus >= 2)
|
if (time(NULL) - laststatus >= 2)
|
||||||
drawstatus(WIDE(""));
|
drawstatus(WIDE(""));
|
||||||
if (time(NULL) - lastsave > 60)
|
if (time(NULL) - lastsave > 60)
|
||||||
|
|
@ -2641,3 +2742,49 @@ int h, m, s;
|
||||||
*ss = s;
|
*ss = s;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_DARWIN_POWER
|
||||||
|
static void
|
||||||
|
prompt_sleep()
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* We woke from sleep. If there's a running entry, prompt the user to
|
||||||
|
* subtract the time spent sleeping, in case they forgot to turn off
|
||||||
|
* the timer.
|
||||||
|
*/
|
||||||
|
entry_t *en, *ten;
|
||||||
|
int nmarked = 0;
|
||||||
|
WCHAR pr[128];
|
||||||
|
int h, m, s = 0;
|
||||||
|
|
||||||
|
donesleep = 0;
|
||||||
|
|
||||||
|
/* Only prompt if an entry is running */
|
||||||
|
if (!running)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Draw the prompt */
|
||||||
|
s = sleeptime;
|
||||||
|
|
||||||
|
h = s / (60 * 60);
|
||||||
|
s %= (60 * 60);
|
||||||
|
m = s / 60;
|
||||||
|
s %= 60;
|
||||||
|
|
||||||
|
SNPRINTF(pr, WSIZEOF(pr),
|
||||||
|
WIDE("Remove %02d:%02d:%02d time asleep from running entry?"),
|
||||||
|
h, m, s);
|
||||||
|
|
||||||
|
if (!yesno(pr)) {
|
||||||
|
sleeptime = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a bit of a fudge, but it has the desired effect. Alternatively
|
||||||
|
* we could merge en_started into en_secs, then subtract that.
|
||||||
|
*/
|
||||||
|
running->en_started += sleeptime;
|
||||||
|
sleeptime = 0;
|
||||||
|
}
|
||||||
|
#endif /* USE_DARWIN_POWER */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue