aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-02-18 23:28:29 -0800
committerPaul Eggert2011-02-18 23:28:29 -0800
commit5f90be1bb73a4cb8c277476f2c9c9f59f0074bbb (patch)
tree0ae73daf66f91b368b3e4d7b3cb4d5afa4500976
parentf12f551b2c38748ed10ec8c350faa23516f7c705 (diff)
downloademacs-5f90be1bb73a4cb8c277476f2c9c9f59f0074bbb.tar.gz
emacs-5f90be1bb73a4cb8c277476f2c9c9f59f0074bbb.zip
Import simpler crypto/md5 module from gnulib, plus stdint module.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4: * src/config.in: Regenerate. * lib/md5.c, lib/md5.h: Regenerate with simpler version, which assumes C99-style <stdint.h>, supplied by the stdint module. * lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files, generated from gnulib. * src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in the earlier patch.
-rw-r--r--ChangeLog12
-rw-r--r--aclocal.m42
-rwxr-xr-xconfigure1030
-rw-r--r--lib/Makefile.in77
-rw-r--r--lib/gnulib.mk44
-rw-r--r--lib/md5.c34
-rw-r--r--lib/md5.h53
-rw-r--r--lib/stdint.in.h592
-rw-r--r--m4/gl-comp.m46
-rw-r--r--m4/longlong.m4113
-rw-r--r--m4/stdint.m4479
-rw-r--r--src/config.in59
-rw-r--r--src/deps.mk2
13 files changed, 2433 insertions, 70 deletions
diff --git a/ChangeLog b/ChangeLog
index 6daca81e65c..0c116a16f89 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
12011-02-19 Paul Eggert <eggert@cs.ucla.edu>
2
3 Import simpler crypto/md5 module from gnulib, plus stdint module.
4 * aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, m4/gl-comp.m4:
5 * src/config.in: Regenerate.
6 * lib/md5.c, lib/md5.h: Regenerate with simpler version, which
7 assumes C99-style <stdint.h>, supplied by the stdint module.
8 * lib/stdint.in.h, m4/longlong.m4, m4/stdint.m4: New files,
9 generated from gnulib.
10 * src/deps.mk (fns.o): Do not depend on md5.h, fixing a typo in
11 the earlier patch.
12
12011-02-18 Paul Eggert <eggert@cs.ucla.edu> 132011-02-18 Paul Eggert <eggert@cs.ucla.edu>
2 14
3 Import crypto/md5 module from gnulib. 15 Import crypto/md5 module from gnulib.
diff --git a/aclocal.m4 b/aclocal.m4
index c3bef7712de..2468e83d25a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -992,11 +992,13 @@ m4_include([m4/getopt.m4])
992m4_include([m4/gl-comp.m4]) 992m4_include([m4/gl-comp.m4])
993m4_include([m4/gnulib-common.m4]) 993m4_include([m4/gnulib-common.m4])
994m4_include([m4/include_next.m4]) 994m4_include([m4/include_next.m4])
995m4_include([m4/longlong.m4])
995m4_include([m4/md5.m4]) 996m4_include([m4/md5.m4])
996m4_include([m4/mktime.m4]) 997m4_include([m4/mktime.m4])
997m4_include([m4/multiarch.m4]) 998m4_include([m4/multiarch.m4])
998m4_include([m4/stdbool.m4]) 999m4_include([m4/stdbool.m4])
999m4_include([m4/stddef_h.m4]) 1000m4_include([m4/stddef_h.m4])
1001m4_include([m4/stdint.m4])
1000m4_include([m4/stdlib_h.m4]) 1002m4_include([m4/stdlib_h.m4])
1001m4_include([m4/strftime.m4]) 1003m4_include([m4/strftime.m4])
1002m4_include([m4/time_h.m4]) 1004m4_include([m4/time_h.m4])
diff --git a/configure b/configure
index 1b6e31b3b09..d3607aec316 100755
--- a/configure
+++ b/configure
@@ -679,6 +679,30 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H
679NEXT_TIME_H 679NEXT_TIME_H
680NEXT_AS_FIRST_DIRECTIVE_STDLIB_H 680NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
681NEXT_STDLIB_H 681NEXT_STDLIB_H
682STDINT_H
683WINT_T_SUFFIX
684WCHAR_T_SUFFIX
685SIG_ATOMIC_T_SUFFIX
686SIZE_T_SUFFIX
687PTRDIFF_T_SUFFIX
688HAVE_SIGNED_WINT_T
689HAVE_SIGNED_WCHAR_T
690HAVE_SIGNED_SIG_ATOMIC_T
691BITSIZEOF_WINT_T
692BITSIZEOF_WCHAR_T
693BITSIZEOF_SIG_ATOMIC_T
694BITSIZEOF_SIZE_T
695BITSIZEOF_PTRDIFF_T
696HAVE_SYS_BITYPES_H
697HAVE_SYS_INTTYPES_H
698HAVE_STDINT_H
699NEXT_AS_FIRST_DIRECTIVE_STDINT_H
700NEXT_STDINT_H
701HAVE_SYS_TYPES_H
702HAVE_INTTYPES_H
703HAVE_WCHAR_H
704HAVE_UNSIGNED_LONG_LONG_INT
705HAVE_LONG_LONG_INT
682NEXT_AS_FIRST_DIRECTIVE_STDDEF_H 706NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
683NEXT_STDDEF_H 707NEXT_STDDEF_H
684STDDEF_H 708STDDEF_H
@@ -2431,6 +2455,184 @@ $as_echo "$ac_res" >&6; }
2431 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 2455 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2432 2456
2433} # ac_fn_c_check_type 2457} # ac_fn_c_check_type
2458
2459# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
2460# --------------------------------------------
2461# Tries to find the compile-time value of EXPR in a program that includes
2462# INCLUDES, setting VAR accordingly. Returns whether the value could be
2463# computed
2464ac_fn_c_compute_int ()
2465{
2466 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2467 if test "$cross_compiling" = yes; then
2468 # Depending upon the size, compute the lo and hi bounds.
2469cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2470/* end confdefs.h. */
2471$4
2472int
2473main ()
2474{
2475static int test_array [1 - 2 * !(($2) >= 0)];
2476test_array [0] = 0
2477
2478 ;
2479 return 0;
2480}
2481_ACEOF
2482if ac_fn_c_try_compile "$LINENO"; then :
2483 ac_lo=0 ac_mid=0
2484 while :; do
2485 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2486/* end confdefs.h. */
2487$4
2488int
2489main ()
2490{
2491static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2492test_array [0] = 0
2493
2494 ;
2495 return 0;
2496}
2497_ACEOF
2498if ac_fn_c_try_compile "$LINENO"; then :
2499 ac_hi=$ac_mid; break
2500else
2501 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
2502 if test $ac_lo -le $ac_mid; then
2503 ac_lo= ac_hi=
2504 break
2505 fi
2506 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
2507fi
2508rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2509 done
2510else
2511 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2512/* end confdefs.h. */
2513$4
2514int
2515main ()
2516{
2517static int test_array [1 - 2 * !(($2) < 0)];
2518test_array [0] = 0
2519
2520 ;
2521 return 0;
2522}
2523_ACEOF
2524if ac_fn_c_try_compile "$LINENO"; then :
2525 ac_hi=-1 ac_mid=-1
2526 while :; do
2527 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2528/* end confdefs.h. */
2529$4
2530int
2531main ()
2532{
2533static int test_array [1 - 2 * !(($2) >= $ac_mid)];
2534test_array [0] = 0
2535
2536 ;
2537 return 0;
2538}
2539_ACEOF
2540if ac_fn_c_try_compile "$LINENO"; then :
2541 ac_lo=$ac_mid; break
2542else
2543 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2544 if test $ac_mid -le $ac_hi; then
2545 ac_lo= ac_hi=
2546 break
2547 fi
2548 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2549fi
2550rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2551 done
2552else
2553 ac_lo= ac_hi=
2554fi
2555rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2556fi
2557rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2558# Binary search between lo and hi bounds.
2559while test "x$ac_lo" != "x$ac_hi"; do
2560 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2561 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2562/* end confdefs.h. */
2563$4
2564int
2565main ()
2566{
2567static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2568test_array [0] = 0
2569
2570 ;
2571 return 0;
2572}
2573_ACEOF
2574if ac_fn_c_try_compile "$LINENO"; then :
2575 ac_hi=$ac_mid
2576else
2577 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2578fi
2579rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2580done
2581case $ac_lo in #((
2582?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2583'') ac_retval=1 ;;
2584esac
2585 else
2586 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2587/* end confdefs.h. */
2588$4
2589static long int longval () { return $2; }
2590static unsigned long int ulongval () { return $2; }
2591#include <stdio.h>
2592#include <stdlib.h>
2593int
2594main ()
2595{
2596
2597 FILE *f = fopen ("conftest.val", "w");
2598 if (! f)
2599 return 1;
2600 if (($2) < 0)
2601 {
2602 long int i = longval ();
2603 if (i != ($2))
2604 return 1;
2605 fprintf (f, "%ld", i);
2606 }
2607 else
2608 {
2609 unsigned long int i = ulongval ();
2610 if (i != ($2))
2611 return 1;
2612 fprintf (f, "%lu", i);
2613 }
2614 /* Do not output a trailing newline, as this causes \r\n confusion
2615 on some platforms. */
2616 return ferror (f) || fclose (f) != 0;
2617
2618 ;
2619 return 0;
2620}
2621_ACEOF
2622if ac_fn_c_try_run "$LINENO"; then :
2623 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2624else
2625 ac_retval=1
2626fi
2627rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2628 conftest.$ac_objext conftest.beam conftest.$ac_ext
2629rm -f conftest.val
2630
2631 fi
2632 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2633 as_fn_set_status $ac_retval
2634
2635} # ac_fn_c_compute_int
2434cat >config.log <<_ACEOF 2636cat >config.log <<_ACEOF
2435This file contains any messages produced by compilers while 2637This file contains any messages produced by compilers while
2436running configure, to aid debugging if configure makes a mistake. 2638running configure, to aid debugging if configure makes a mistake.
@@ -2721,6 +2923,8 @@ as_fn_append ac_header_list " sys/param.h"
2721gl_getopt_required=GNU 2923gl_getopt_required=GNU
2722as_fn_append ac_header_list " getopt.h" 2924as_fn_append ac_header_list " getopt.h"
2723as_fn_append ac_func_list " alarm" 2925as_fn_append ac_func_list " alarm"
2926as_fn_append ac_header_list " wchar.h"
2927as_fn_append ac_header_list " stdint.h"
2724as_fn_append ac_func_list " tzset" 2928as_fn_append ac_func_list " tzset"
2725as_fn_append ac_header_list " sys/time.h" 2929as_fn_append ac_header_list " sys/time.h"
2726as_fn_append ac_func_list " localtime_r" 2930as_fn_append ac_func_list " localtime_r"
@@ -5896,6 +6100,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
5896 # Code from module multiarch: 6100 # Code from module multiarch:
5897 # Code from module stdbool: 6101 # Code from module stdbool:
5898 # Code from module stddef: 6102 # Code from module stddef:
6103 # Code from module stdint:
5899 # Code from module stdlib: 6104 # Code from module stdlib:
5900 # Code from module strftime: 6105 # Code from module strftime:
5901 # Code from module time: 6106 # Code from module time:
@@ -14433,6 +14638,127 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
14433 fi 14638 fi
14434 14639
14435 14640
14641 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
14642$as_echo_n "checking for unsigned long long int... " >&6; }
14643if ${ac_cv_type_unsigned_long_long_int+:} false; then :
14644 $as_echo_n "(cached) " >&6
14645else
14646 ac_cv_type_unsigned_long_long_int=yes
14647 if test "x${ac_cv_prog_cc_c99-no}" = xno; then
14648 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14649/* end confdefs.h. */
14650
14651 /* For now, do not test the preprocessor; as of 2007 there are too many
14652 implementations with broken preprocessors. Perhaps this can
14653 be revisited in 2012. In the meantime, code should not expect
14654 #if to work with literals wider than 32 bits. */
14655 /* Test literals. */
14656 long long int ll = 9223372036854775807ll;
14657 long long int nll = -9223372036854775807LL;
14658 unsigned long long int ull = 18446744073709551615ULL;
14659 /* Test constant expressions. */
14660 typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
14661 ? 1 : -1)];
14662 typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
14663 ? 1 : -1)];
14664 int i = 63;
14665int
14666main ()
14667{
14668/* Test availability of runtime routines for shift and division. */
14669 long long int llmax = 9223372036854775807ll;
14670 unsigned long long int ullmax = 18446744073709551615ull;
14671 return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
14672 | (llmax / ll) | (llmax % ll)
14673 | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
14674 | (ullmax / ull) | (ullmax % ull));
14675 ;
14676 return 0;
14677}
14678
14679_ACEOF
14680if ac_fn_c_try_link "$LINENO"; then :
14681
14682else
14683 ac_cv_type_unsigned_long_long_int=no
14684fi
14685rm -f core conftest.err conftest.$ac_objext \
14686 conftest$ac_exeext conftest.$ac_ext
14687 fi
14688fi
14689{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
14690$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
14691 if test $ac_cv_type_unsigned_long_long_int = yes; then
14692
14693$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
14694
14695 fi
14696
14697
14698
14699 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
14700$as_echo_n "checking for long long int... " >&6; }
14701if ${ac_cv_type_long_long_int+:} false; then :
14702 $as_echo_n "(cached) " >&6
14703else
14704 ac_cv_type_long_long_int=yes
14705 if test "x${ac_cv_prog_cc_c99-no}" = xno; then
14706 ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
14707 if test $ac_cv_type_long_long_int = yes; then
14708 if test "$cross_compiling" = yes; then :
14709 :
14710else
14711 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14712/* end confdefs.h. */
14713#include <limits.h>
14714 #ifndef LLONG_MAX
14715 # define HALF \
14716 (1LL << (sizeof (long long int) * CHAR_BIT - 2))
14717 # define LLONG_MAX (HALF - 1 + HALF)
14718 #endif
14719int
14720main ()
14721{
14722long long int n = 1;
14723 int i;
14724 for (i = 0; ; i++)
14725 {
14726 long long int m = n << i;
14727 if (m >> i != n)
14728 return 1;
14729 if (LLONG_MAX / 2 < m)
14730 break;
14731 }
14732 return 0;
14733 ;
14734 return 0;
14735}
14736_ACEOF
14737if ac_fn_c_try_run "$LINENO"; then :
14738
14739else
14740 ac_cv_type_long_long_int=no
14741fi
14742rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14743 conftest.$ac_objext conftest.beam conftest.$ac_ext
14744fi
14745
14746 fi
14747 fi
14748fi
14749{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
14750$as_echo "$ac_cv_type_long_long_int" >&6; }
14751 if test $ac_cv_type_long_long_int = yes; then
14752
14753$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
14754
14755 fi
14756
14757
14758
14759
14760
14761
14436 ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include <time.h> 14762 ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include <time.h>
14437" 14763"
14438if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : 14764if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then :
@@ -15668,6 +15994,710 @@ $as_echo "$gl_cv_next_stddef_h" >&6; }
15668 15994
15669 fi 15995 fi
15670 15996
15997 # Code from module stdint:
15998
15999
16000
16001 if test $ac_cv_type_long_long_int = yes; then
16002 HAVE_LONG_LONG_INT=1
16003 else
16004 HAVE_LONG_LONG_INT=0
16005 fi
16006
16007
16008 if test $ac_cv_type_unsigned_long_long_int = yes; then
16009 HAVE_UNSIGNED_LONG_LONG_INT=1
16010 else
16011 HAVE_UNSIGNED_LONG_LONG_INT=0
16012 fi
16013
16014
16015
16016 if test $ac_cv_header_wchar_h = yes; then
16017 HAVE_WCHAR_H=1
16018 else
16019 HAVE_WCHAR_H=0
16020 fi
16021
16022
16023 if test $ac_cv_header_inttypes_h = yes; then
16024 HAVE_INTTYPES_H=1
16025 else
16026 HAVE_INTTYPES_H=0
16027 fi
16028
16029
16030 if test $ac_cv_header_sys_types_h = yes; then
16031 HAVE_SYS_TYPES_H=1
16032 else
16033 HAVE_SYS_TYPES_H=0
16034 fi
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046 if test $gl_cv_have_include_next = yes; then
16047 gl_cv_next_stdint_h='<'stdint.h'>'
16048 else
16049 { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
16050$as_echo_n "checking absolute name of <stdint.h>... " >&6; }
16051if ${gl_cv_next_stdint_h+:} false; then :
16052 $as_echo_n "(cached) " >&6
16053else
16054
16055 if test $ac_cv_header_stdint_h = yes; then
16056
16057
16058 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16059/* end confdefs.h. */
16060#include <stdint.h>
16061
16062_ACEOF
16063 case "$host_os" in
16064 aix*) gl_absname_cpp="$ac_cpp -C" ;;
16065 *) gl_absname_cpp="$ac_cpp" ;;
16066 esac
16067 gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
16068 sed -n '\#/stdint.h#{
16069 s#.*"\(.*/stdint.h\)".*#\1#
16070 s#^/[^/]#//&#
16071 p
16072 q
16073 }'`'"'
16074 else
16075 gl_cv_next_stdint_h='<'stdint.h'>'
16076 fi
16077
16078
16079fi
16080{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
16081$as_echo "$gl_cv_next_stdint_h" >&6; }
16082 fi
16083 NEXT_STDINT_H=$gl_cv_next_stdint_h
16084
16085 if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
16086 # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
16087 gl_next_as_first_directive='<'stdint.h'>'
16088 else
16089 # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
16090 gl_next_as_first_directive=$gl_cv_next_stdint_h
16091 fi
16092 NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive
16093
16094
16095
16096
16097 if test $ac_cv_header_stdint_h = yes; then
16098 HAVE_STDINT_H=1
16099 else
16100 HAVE_STDINT_H=0
16101 fi
16102
16103
16104 if test $ac_cv_header_stdint_h = yes; then
16105 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
16106$as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
16107if ${gl_cv_header_working_stdint_h+:} false; then :
16108 $as_echo_n "(cached) " >&6
16109else
16110 gl_cv_header_working_stdint_h=no
16111 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16112/* end confdefs.h. */
16113
16114
16115#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
16116#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
16117#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
16118#include <stdint.h>
16119/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
16120#if !(defined WCHAR_MIN && defined WCHAR_MAX)
16121#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
16122#endif
16123
16124
16125 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16126 included before <wchar.h>. */
16127 #include <stddef.h>
16128 #include <signal.h>
16129 #if HAVE_WCHAR_H
16130 # include <stdio.h>
16131 # include <time.h>
16132 # include <wchar.h>
16133 #endif
16134
16135
16136#ifdef INT8_MAX
16137int8_t a1 = INT8_MAX;
16138int8_t a1min = INT8_MIN;
16139#endif
16140#ifdef INT16_MAX
16141int16_t a2 = INT16_MAX;
16142int16_t a2min = INT16_MIN;
16143#endif
16144#ifdef INT32_MAX
16145int32_t a3 = INT32_MAX;
16146int32_t a3min = INT32_MIN;
16147#endif
16148#ifdef INT64_MAX
16149int64_t a4 = INT64_MAX;
16150int64_t a4min = INT64_MIN;
16151#endif
16152#ifdef UINT8_MAX
16153uint8_t b1 = UINT8_MAX;
16154#else
16155typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
16156#endif
16157#ifdef UINT16_MAX
16158uint16_t b2 = UINT16_MAX;
16159#endif
16160#ifdef UINT32_MAX
16161uint32_t b3 = UINT32_MAX;
16162#endif
16163#ifdef UINT64_MAX
16164uint64_t b4 = UINT64_MAX;
16165#endif
16166int_least8_t c1 = INT8_C (0x7f);
16167int_least8_t c1max = INT_LEAST8_MAX;
16168int_least8_t c1min = INT_LEAST8_MIN;
16169int_least16_t c2 = INT16_C (0x7fff);
16170int_least16_t c2max = INT_LEAST16_MAX;
16171int_least16_t c2min = INT_LEAST16_MIN;
16172int_least32_t c3 = INT32_C (0x7fffffff);
16173int_least32_t c3max = INT_LEAST32_MAX;
16174int_least32_t c3min = INT_LEAST32_MIN;
16175int_least64_t c4 = INT64_C (0x7fffffffffffffff);
16176int_least64_t c4max = INT_LEAST64_MAX;
16177int_least64_t c4min = INT_LEAST64_MIN;
16178uint_least8_t d1 = UINT8_C (0xff);
16179uint_least8_t d1max = UINT_LEAST8_MAX;
16180uint_least16_t d2 = UINT16_C (0xffff);
16181uint_least16_t d2max = UINT_LEAST16_MAX;
16182uint_least32_t d3 = UINT32_C (0xffffffff);
16183uint_least32_t d3max = UINT_LEAST32_MAX;
16184uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
16185uint_least64_t d4max = UINT_LEAST64_MAX;
16186int_fast8_t e1 = INT_FAST8_MAX;
16187int_fast8_t e1min = INT_FAST8_MIN;
16188int_fast16_t e2 = INT_FAST16_MAX;
16189int_fast16_t e2min = INT_FAST16_MIN;
16190int_fast32_t e3 = INT_FAST32_MAX;
16191int_fast32_t e3min = INT_FAST32_MIN;
16192int_fast64_t e4 = INT_FAST64_MAX;
16193int_fast64_t e4min = INT_FAST64_MIN;
16194uint_fast8_t f1 = UINT_FAST8_MAX;
16195uint_fast16_t f2 = UINT_FAST16_MAX;
16196uint_fast32_t f3 = UINT_FAST32_MAX;
16197uint_fast64_t f4 = UINT_FAST64_MAX;
16198#ifdef INTPTR_MAX
16199intptr_t g = INTPTR_MAX;
16200intptr_t gmin = INTPTR_MIN;
16201#endif
16202#ifdef UINTPTR_MAX
16203uintptr_t h = UINTPTR_MAX;
16204#endif
16205intmax_t i = INTMAX_MAX;
16206uintmax_t j = UINTMAX_MAX;
16207
16208#include <limits.h> /* for CHAR_BIT */
16209#define TYPE_MINIMUM(t) \
16210 ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
16211#define TYPE_MAXIMUM(t) \
16212 ((t) ((t) 0 < (t) -1 \
16213 ? (t) -1 \
16214 : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
16215struct s {
16216 int check_PTRDIFF:
16217 PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
16218 && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
16219 ? 1 : -1;
16220 /* Detect bug in FreeBSD 6.0 / ia64. */
16221 int check_SIG_ATOMIC:
16222 SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
16223 && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
16224 ? 1 : -1;
16225 int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
16226 int check_WCHAR:
16227 WCHAR_MIN == TYPE_MINIMUM (wchar_t)
16228 && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
16229 ? 1 : -1;
16230 /* Detect bug in mingw. */
16231 int check_WINT:
16232 WINT_MIN == TYPE_MINIMUM (wint_t)
16233 && WINT_MAX == TYPE_MAXIMUM (wint_t)
16234 ? 1 : -1;
16235
16236 /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
16237 int check_UINT8_C:
16238 (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
16239 int check_UINT16_C:
16240 (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
16241
16242 /* Detect bugs in OpenBSD 3.9 stdint.h. */
16243#ifdef UINT8_MAX
16244 int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
16245#endif
16246#ifdef UINT16_MAX
16247 int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
16248#endif
16249#ifdef UINT32_MAX
16250 int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
16251#endif
16252#ifdef UINT64_MAX
16253 int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
16254#endif
16255 int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
16256 int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
16257 int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
16258 int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
16259 int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
16260 int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
16261 int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
16262 int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
16263 int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
16264 int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
16265 int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
16266};
16267
16268int
16269main ()
16270{
16271
16272 ;
16273 return 0;
16274}
16275_ACEOF
16276if ac_fn_c_try_compile "$LINENO"; then :
16277 if test "$cross_compiling" = yes; then :
16278 gl_cv_header_working_stdint_h=yes
16279
16280else
16281 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16282/* end confdefs.h. */
16283
16284
16285#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
16286#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
16287#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
16288#include <stdint.h>
16289
16290
16291 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16292 included before <wchar.h>. */
16293 #include <stddef.h>
16294 #include <signal.h>
16295 #if HAVE_WCHAR_H
16296 # include <stdio.h>
16297 # include <time.h>
16298 # include <wchar.h>
16299 #endif
16300
16301
16302#include <stdio.h>
16303#include <string.h>
16304#define MVAL(macro) MVAL1(macro)
16305#define MVAL1(expression) #expression
16306static const char *macro_values[] =
16307 {
16308#ifdef INT8_MAX
16309 MVAL (INT8_MAX),
16310#endif
16311#ifdef INT16_MAX
16312 MVAL (INT16_MAX),
16313#endif
16314#ifdef INT32_MAX
16315 MVAL (INT32_MAX),
16316#endif
16317#ifdef INT64_MAX
16318 MVAL (INT64_MAX),
16319#endif
16320#ifdef UINT8_MAX
16321 MVAL (UINT8_MAX),
16322#endif
16323#ifdef UINT16_MAX
16324 MVAL (UINT16_MAX),
16325#endif
16326#ifdef UINT32_MAX
16327 MVAL (UINT32_MAX),
16328#endif
16329#ifdef UINT64_MAX
16330 MVAL (UINT64_MAX),
16331#endif
16332 NULL
16333 };
16334
16335int
16336main ()
16337{
16338
16339 const char **mv;
16340 for (mv = macro_values; *mv != NULL; mv++)
16341 {
16342 const char *value = *mv;
16343 /* Test whether it looks like a cast expression. */
16344 if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
16345 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
16346 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
16347 || strncmp (value, "((int)"/*)*/, 6) == 0
16348 || strncmp (value, "((signed short)"/*)*/, 15) == 0
16349 || strncmp (value, "((signed char)"/*)*/, 14) == 0)
16350 return mv - macro_values + 1;
16351 }
16352 return 0;
16353
16354 ;
16355 return 0;
16356}
16357_ACEOF
16358if ac_fn_c_try_run "$LINENO"; then :
16359 gl_cv_header_working_stdint_h=yes
16360fi
16361rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16362 conftest.$ac_objext conftest.beam conftest.$ac_ext
16363fi
16364
16365
16366fi
16367rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16368
16369fi
16370{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
16371$as_echo "$gl_cv_header_working_stdint_h" >&6; }
16372 fi
16373 if test "$gl_cv_header_working_stdint_h" = yes; then
16374 STDINT_H=
16375 else
16376 for ac_header in sys/inttypes.h sys/bitypes.h
16377do :
16378 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
16379ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
16380if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
16381 cat >>confdefs.h <<_ACEOF
16382#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
16383_ACEOF
16384
16385fi
16386
16387done
16388
16389 if test $ac_cv_header_sys_inttypes_h = yes; then
16390 HAVE_SYS_INTTYPES_H=1
16391 else
16392 HAVE_SYS_INTTYPES_H=0
16393 fi
16394
16395 if test $ac_cv_header_sys_bitypes_h = yes; then
16396 HAVE_SYS_BITYPES_H=1
16397 else
16398 HAVE_SYS_BITYPES_H=0
16399 fi
16400
16401
16402
16403
16404 if test $APPLE_UNIVERSAL_BUILD = 0; then
16405
16406
16407 for gltype in ptrdiff_t size_t ; do
16408 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
16409$as_echo_n "checking for bit size of $gltype... " >&6; }
16410if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
16411 $as_echo_n "(cached) " >&6
16412else
16413 if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
16414 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16415 included before <wchar.h>. */
16416 #include <stddef.h>
16417 #include <signal.h>
16418 #if HAVE_WCHAR_H
16419 # include <stdio.h>
16420 # include <time.h>
16421 # include <wchar.h>
16422 #endif
16423
16424#include <limits.h>"; then :
16425
16426else
16427 result=unknown
16428fi
16429
16430 eval gl_cv_bitsizeof_${gltype}=\$result
16431
16432fi
16433eval ac_res=\$gl_cv_bitsizeof_${gltype}
16434 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16435$as_echo "$ac_res" >&6; }
16436 eval result=\$gl_cv_bitsizeof_${gltype}
16437 if test $result = unknown; then
16438 result=0
16439 fi
16440 GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
16441 cat >>confdefs.h <<_ACEOF
16442#define BITSIZEOF_${GLTYPE} $result
16443_ACEOF
16444
16445 eval BITSIZEOF_${GLTYPE}=\$result
16446 done
16447
16448
16449 fi
16450
16451
16452 for gltype in sig_atomic_t wchar_t wint_t ; do
16453 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
16454$as_echo_n "checking for bit size of $gltype... " >&6; }
16455if eval \${gl_cv_bitsizeof_${gltype}+:} false; then :
16456 $as_echo_n "(cached) " >&6
16457else
16458 if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
16459 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16460 included before <wchar.h>. */
16461 #include <stddef.h>
16462 #include <signal.h>
16463 #if HAVE_WCHAR_H
16464 # include <stdio.h>
16465 # include <time.h>
16466 # include <wchar.h>
16467 #endif
16468
16469#include <limits.h>"; then :
16470
16471else
16472 result=unknown
16473fi
16474
16475 eval gl_cv_bitsizeof_${gltype}=\$result
16476
16477fi
16478eval ac_res=\$gl_cv_bitsizeof_${gltype}
16479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16480$as_echo "$ac_res" >&6; }
16481 eval result=\$gl_cv_bitsizeof_${gltype}
16482 if test $result = unknown; then
16483 result=0
16484 fi
16485 GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
16486 cat >>confdefs.h <<_ACEOF
16487#define BITSIZEOF_${GLTYPE} $result
16488_ACEOF
16489
16490 eval BITSIZEOF_${GLTYPE}=\$result
16491 done
16492
16493
16494
16495
16496 for gltype in sig_atomic_t wchar_t wint_t ; do
16497 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
16498$as_echo_n "checking whether $gltype is signed... " >&6; }
16499if eval \${gl_cv_type_${gltype}_signed+:} false; then :
16500 $as_echo_n "(cached) " >&6
16501else
16502 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16503/* end confdefs.h. */
16504
16505 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16506 included before <wchar.h>. */
16507 #include <stddef.h>
16508 #include <signal.h>
16509 #if HAVE_WCHAR_H
16510 # include <stdio.h>
16511 # include <time.h>
16512 # include <wchar.h>
16513 #endif
16514
16515 int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];
16516int
16517main ()
16518{
16519
16520 ;
16521 return 0;
16522}
16523_ACEOF
16524if ac_fn_c_try_compile "$LINENO"; then :
16525 result=yes
16526else
16527 result=no
16528fi
16529rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16530 eval gl_cv_type_${gltype}_signed=\$result
16531
16532fi
16533eval ac_res=\$gl_cv_type_${gltype}_signed
16534 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16535$as_echo "$ac_res" >&6; }
16536 eval result=\$gl_cv_type_${gltype}_signed
16537 GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
16538 if test "$result" = yes; then
16539 cat >>confdefs.h <<_ACEOF
16540#define HAVE_SIGNED_${GLTYPE} 1
16541_ACEOF
16542
16543 eval HAVE_SIGNED_${GLTYPE}=1
16544 else
16545 eval HAVE_SIGNED_${GLTYPE}=0
16546 fi
16547 done
16548
16549
16550 gl_cv_type_ptrdiff_t_signed=yes
16551 gl_cv_type_size_t_signed=no
16552 if test $APPLE_UNIVERSAL_BUILD = 0; then
16553
16554
16555 for gltype in ptrdiff_t size_t ; do
16556 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
16557$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
16558if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
16559 $as_echo_n "(cached) " >&6
16560else
16561 eval gl_cv_type_${gltype}_suffix=no
16562 eval result=\$gl_cv_type_${gltype}_signed
16563 if test "$result" = yes; then
16564 glsufu=
16565 else
16566 glsufu=u
16567 fi
16568 for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
16569 case $glsuf in
16570 '') gltype1='int';;
16571 l) gltype1='long int';;
16572 ll) gltype1='long long int';;
16573 i64) gltype1='__int64';;
16574 u) gltype1='unsigned int';;
16575 ul) gltype1='unsigned long int';;
16576 ull) gltype1='unsigned long long int';;
16577 ui64)gltype1='unsigned __int64';;
16578 esac
16579 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16580/* end confdefs.h. */
16581
16582 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16583 included before <wchar.h>. */
16584 #include <stddef.h>
16585 #include <signal.h>
16586 #if HAVE_WCHAR_H
16587 # include <stdio.h>
16588 # include <time.h>
16589 # include <wchar.h>
16590 #endif
16591
16592 extern $gltype foo;
16593 extern $gltype1 foo;
16594int
16595main ()
16596{
16597
16598 ;
16599 return 0;
16600}
16601_ACEOF
16602if ac_fn_c_try_compile "$LINENO"; then :
16603 eval gl_cv_type_${gltype}_suffix=\$glsuf
16604fi
16605rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16606 eval result=\$gl_cv_type_${gltype}_suffix
16607 test "$result" != no && break
16608 done
16609fi
16610eval ac_res=\$gl_cv_type_${gltype}_suffix
16611 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16612$as_echo "$ac_res" >&6; }
16613 GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
16614 eval result=\$gl_cv_type_${gltype}_suffix
16615 test "$result" = no && result=
16616 eval ${GLTYPE}_SUFFIX=\$result
16617 cat >>confdefs.h <<_ACEOF
16618#define ${GLTYPE}_SUFFIX $result
16619_ACEOF
16620
16621 done
16622
16623
16624 fi
16625
16626
16627 for gltype in sig_atomic_t wchar_t wint_t ; do
16628 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
16629$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
16630if eval \${gl_cv_type_${gltype}_suffix+:} false; then :
16631 $as_echo_n "(cached) " >&6
16632else
16633 eval gl_cv_type_${gltype}_suffix=no
16634 eval result=\$gl_cv_type_${gltype}_signed
16635 if test "$result" = yes; then
16636 glsufu=
16637 else
16638 glsufu=u
16639 fi
16640 for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
16641 case $glsuf in
16642 '') gltype1='int';;
16643 l) gltype1='long int';;
16644 ll) gltype1='long long int';;
16645 i64) gltype1='__int64';;
16646 u) gltype1='unsigned int';;
16647 ul) gltype1='unsigned long int';;
16648 ull) gltype1='unsigned long long int';;
16649 ui64)gltype1='unsigned __int64';;
16650 esac
16651 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16652/* end confdefs.h. */
16653
16654 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
16655 included before <wchar.h>. */
16656 #include <stddef.h>
16657 #include <signal.h>
16658 #if HAVE_WCHAR_H
16659 # include <stdio.h>
16660 # include <time.h>
16661 # include <wchar.h>
16662 #endif
16663
16664 extern $gltype foo;
16665 extern $gltype1 foo;
16666int
16667main ()
16668{
16669
16670 ;
16671 return 0;
16672}
16673_ACEOF
16674if ac_fn_c_try_compile "$LINENO"; then :
16675 eval gl_cv_type_${gltype}_suffix=\$glsuf
16676fi
16677rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16678 eval result=\$gl_cv_type_${gltype}_suffix
16679 test "$result" != no && break
16680 done
16681fi
16682eval ac_res=\$gl_cv_type_${gltype}_suffix
16683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16684$as_echo "$ac_res" >&6; }
16685 GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
16686 eval result=\$gl_cv_type_${gltype}_suffix
16687 test "$result" = no && result=
16688 eval ${GLTYPE}_SUFFIX=\$result
16689 cat >>confdefs.h <<_ACEOF
16690#define ${GLTYPE}_SUFFIX $result
16691_ACEOF
16692
16693 done
16694
16695
16696
16697 STDINT_H=stdint.h
16698 fi
16699
16700
15671 # Code from module stdlib: 16701 # Code from module stdlib:
15672 16702
15673 16703
diff --git a/lib/Makefile.in b/lib/Makefile.in
index b0fd92237cd..0029719373a 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -53,9 +53,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
53 $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/extensions.m4 \ 53 $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/extensions.m4 \
54 $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getopt.m4 \ 54 $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getopt.m4 \
55 $(top_srcdir)/m4/gl-comp.m4 $(top_srcdir)/m4/gnulib-common.m4 \ 55 $(top_srcdir)/m4/gl-comp.m4 $(top_srcdir)/m4/gnulib-common.m4 \
56 $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/md5.m4 \ 56 $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/longlong.m4 \
57 $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \ 57 $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/mktime.m4 \
58 $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ 58 $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/stdbool.m4 \
59 $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
59 $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strftime.m4 \ 60 $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strftime.m4 \
60 $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \ 61 $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
61 $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \ 62 $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
@@ -95,6 +96,11 @@ AUTOCONF = @AUTOCONF@
95AUTOHEADER = @AUTOHEADER@ 96AUTOHEADER = @AUTOHEADER@
96AUTOMAKE = @AUTOMAKE@ 97AUTOMAKE = @AUTOMAKE@
97AWK = @AWK@ 98AWK = @AWK@
99BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
100BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
101BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
102BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
103BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
98BLESSMAIL_TARGET = @BLESSMAIL_TARGET@ 104BLESSMAIL_TARGET = @BLESSMAIL_TARGET@
99CANNOT_DUMP = @CANNOT_DUMP@ 105CANNOT_DUMP = @CANNOT_DUMP@
100CC = @CC@ 106CC = @CC@
@@ -244,9 +250,11 @@ HAVE_GETOPT_H = @HAVE_GETOPT_H@
244HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ 250HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
245HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ 251HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
246HAVE_GRANTPT = @HAVE_GRANTPT@ 252HAVE_GRANTPT = @HAVE_GRANTPT@
253HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
247HAVE_LCHOWN = @HAVE_LCHOWN@ 254HAVE_LCHOWN = @HAVE_LCHOWN@
248HAVE_LINK = @HAVE_LINK@ 255HAVE_LINK = @HAVE_LINK@
249HAVE_LINKAT = @HAVE_LINKAT@ 256HAVE_LINKAT = @HAVE_LINKAT@
257HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
250HAVE_MAKEINFO = @HAVE_MAKEINFO@ 258HAVE_MAKEINFO = @HAVE_MAKEINFO@
251HAVE_MKDTEMP = @HAVE_MKDTEMP@ 259HAVE_MKDTEMP = @HAVE_MKDTEMP@
252HAVE_MKOSTEMP = @HAVE_MKOSTEMP@ 260HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
@@ -267,7 +275,11 @@ HAVE_READLINKAT = @HAVE_READLINKAT@
267HAVE_REALPATH = @HAVE_REALPATH@ 275HAVE_REALPATH = @HAVE_REALPATH@
268HAVE_RPMATCH = @HAVE_RPMATCH@ 276HAVE_RPMATCH = @HAVE_RPMATCH@
269HAVE_SETENV = @HAVE_SETENV@ 277HAVE_SETENV = @HAVE_SETENV@
278HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
279HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
280HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
270HAVE_SLEEP = @HAVE_SLEEP@ 281HAVE_SLEEP = @HAVE_SLEEP@
282HAVE_STDINT_H = @HAVE_STDINT_H@
271HAVE_STRPTIME = @HAVE_STRPTIME@ 283HAVE_STRPTIME = @HAVE_STRPTIME@
272HAVE_STRTOD = @HAVE_STRTOD@ 284HAVE_STRTOD = @HAVE_STRTOD@
273HAVE_STRTOLL = @HAVE_STRTOLL@ 285HAVE_STRTOLL = @HAVE_STRTOLL@
@@ -275,13 +287,18 @@ HAVE_STRTOULL = @HAVE_STRTOULL@
275HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ 287HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
276HAVE_SYMLINK = @HAVE_SYMLINK@ 288HAVE_SYMLINK = @HAVE_SYMLINK@
277HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ 289HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
290HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
291HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
278HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@ 292HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
279HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@ 293HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
294HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
280HAVE_TIMEGM = @HAVE_TIMEGM@ 295HAVE_TIMEGM = @HAVE_TIMEGM@
281HAVE_UNISTD_H = @HAVE_UNISTD_H@ 296HAVE_UNISTD_H = @HAVE_UNISTD_H@
282HAVE_UNLINKAT = @HAVE_UNLINKAT@ 297HAVE_UNLINKAT = @HAVE_UNLINKAT@
283HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ 298HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
299HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
284HAVE_USLEEP = @HAVE_USLEEP@ 300HAVE_USLEEP = @HAVE_USLEEP@
301HAVE_WCHAR_H = @HAVE_WCHAR_H@
285HAVE_WCHAR_T = @HAVE_WCHAR_T@ 302HAVE_WCHAR_T = @HAVE_WCHAR_T@
286HAVE_XSERVER = @HAVE_XSERVER@ 303HAVE_XSERVER = @HAVE_XSERVER@
287HAVE__BOOL = @HAVE__BOOL@ 304HAVE__BOOL = @HAVE__BOOL@
@@ -350,11 +367,13 @@ MOUSE_SUPPORT = @MOUSE_SUPPORT@
350M_FILE = @M_FILE@ 367M_FILE = @M_FILE@
351NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ 368NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
352NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ 369NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
370NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
353NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ 371NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
354NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ 372NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
355NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ 373NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
356NEXT_GETOPT_H = @NEXT_GETOPT_H@ 374NEXT_GETOPT_H = @NEXT_GETOPT_H@
357NEXT_STDDEF_H = @NEXT_STDDEF_H@ 375NEXT_STDDEF_H = @NEXT_STDDEF_H@
376NEXT_STDINT_H = @NEXT_STDINT_H@
358NEXT_STDLIB_H = @NEXT_STDLIB_H@ 377NEXT_STDLIB_H = @NEXT_STDLIB_H@
359NEXT_TIME_H = @NEXT_TIME_H@ 378NEXT_TIME_H = @NEXT_TIME_H@
360NEXT_UNISTD_H = @NEXT_UNISTD_H@ 379NEXT_UNISTD_H = @NEXT_UNISTD_H@
@@ -381,6 +400,7 @@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
381PRE_ALLOC_OBJ = @PRE_ALLOC_OBJ@ 400PRE_ALLOC_OBJ = @PRE_ALLOC_OBJ@
382PROFILING_CFLAGS = @PROFILING_CFLAGS@ 401PROFILING_CFLAGS = @PROFILING_CFLAGS@
383PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@ 402PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
403PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
384RALLOC_OBJ = @RALLOC_OBJ@ 404RALLOC_OBJ = @RALLOC_OBJ@
385RANLIB = @RANLIB@ 405RANLIB = @RANLIB@
386REPLACE_CALLOC = @REPLACE_CALLOC@ 406REPLACE_CALLOC = @REPLACE_CALLOC@
@@ -427,9 +447,12 @@ RSVG_CFLAGS = @RSVG_CFLAGS@
427RSVG_LIBS = @RSVG_LIBS@ 447RSVG_LIBS = @RSVG_LIBS@
428SET_MAKE = @SET_MAKE@ 448SET_MAKE = @SET_MAKE@
429SHELL = @SHELL@ 449SHELL = @SHELL@
450SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
451SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
430START_FILES = @START_FILES@ 452START_FILES = @START_FILES@
431STDBOOL_H = @STDBOOL_H@ 453STDBOOL_H = @STDBOOL_H@
432STDDEF_H = @STDDEF_H@ 454STDDEF_H = @STDDEF_H@
455STDINT_H = @STDINT_H@
433STRIP = @STRIP@ 456STRIP = @STRIP@
434SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ 457SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
435S_FILE = @S_FILE@ 458S_FILE = @S_FILE@
@@ -443,8 +466,10 @@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
443UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ 466UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
444VERSION = @VERSION@ 467VERSION = @VERSION@
445VMLIMIT_OBJ = @VMLIMIT_OBJ@ 468VMLIMIT_OBJ = @VMLIMIT_OBJ@
469WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
446WIDGET_OBJ = @WIDGET_OBJ@ 470WIDGET_OBJ = @WIDGET_OBJ@
447WINDOW_SUPPORT = @WINDOW_SUPPORT@ 471WINDOW_SUPPORT = @WINDOW_SUPPORT@
472WINT_T_SUFFIX = @WINT_T_SUFFIX@
448XFT_CFLAGS = @XFT_CFLAGS@ 473XFT_CFLAGS = @XFT_CFLAGS@
449XFT_LIBS = @XFT_LIBS@ 474XFT_LIBS = @XFT_LIBS@
450XMENU_OBJ = @XMENU_OBJ@ 475XMENU_OBJ = @XMENU_OBJ@
@@ -534,17 +559,18 @@ x_default_search_path = @x_default_search_path@
534# present in all Makefile.am that need it. This is ensured by the applicability 559# present in all Makefile.am that need it. This is ensured by the applicability
535# 'all' defined above. 560# 'all' defined above.
536BUILT_SOURCES = arg-nonnull.h c++defs.h $(GETOPT_H) $(STDBOOL_H) \ 561BUILT_SOURCES = arg-nonnull.h c++defs.h $(GETOPT_H) $(STDBOOL_H) \
537 $(STDDEF_H) stdlib.h time.h unistd.h warn-on-use.h 562 $(STDDEF_H) $(STDINT_H) stdlib.h time.h unistd.h warn-on-use.h
538EXTRA_DIST = $(top_srcdir)/./arg-nonnull.h $(top_srcdir)/./c++defs.h \ 563EXTRA_DIST = $(top_srcdir)/./arg-nonnull.h $(top_srcdir)/./c++defs.h \
539 md5.c md5.h ftoastr.c ftoastr.h getloadavg.c getopt.c \ 564 md5.c md5.h ftoastr.c ftoastr.h getloadavg.c getopt.c \
540 getopt.in.h getopt1.c getopt_int.h intprops.h \ 565 getopt.in.h getopt1.c getopt_int.h intprops.h \
541 mktime-internal.h mktime.c stdbool.in.h stddef.in.h \ 566 mktime-internal.h mktime.c stdbool.in.h stddef.in.h \
542 stdlib.in.h strftime.c strftime.h time.in.h time_r.c \ 567 stdint.in.h stdlib.in.h strftime.c strftime.h time.in.h \
543 unistd.in.h $(top_srcdir)/./warn-on-use.h 568 time_r.c unistd.in.h $(top_srcdir)/./warn-on-use.h
544MOSTLYCLEANFILES = core *.stackdump arg-nonnull.h arg-nonnull.h-t \ 569MOSTLYCLEANFILES = core *.stackdump arg-nonnull.h arg-nonnull.h-t \
545 c++defs.h c++defs.h-t getopt.h getopt.h-t stdbool.h \ 570 c++defs.h c++defs.h-t getopt.h getopt.h-t stdbool.h \
546 stdbool.h-t stddef.h stddef.h-t stdlib.h stdlib.h-t time.h \ 571 stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdlib.h \
547 time.h-t unistd.h unistd.h-t warn-on-use.h warn-on-use.h-t 572 stdlib.h-t time.h time.h-t unistd.h unistd.h-t warn-on-use.h \
573 warn-on-use.h-t
548noinst_LIBRARIES = libgnu.a 574noinst_LIBRARIES = libgnu.a
549DEFAULT_INCLUDES = -I. -I../src -I$(top_srcdir)/src 575DEFAULT_INCLUDES = -I. -I../src -I$(top_srcdir)/src
550libgnu_a_SOURCES = dtoastr.c gettext.h ignore-value.h 576libgnu_a_SOURCES = dtoastr.c gettext.h ignore-value.h
@@ -884,6 +910,41 @@ stddef.h: stddef.in.h
884 } > $@-t && \ 910 } > $@-t && \
885 mv $@-t $@ 911 mv $@-t $@
886 912
913# We need the following in order to create <stdint.h> when the system
914# doesn't have one that works with the given compiler.
915stdint.h: stdint.in.h
916 $(AM_V_GEN)rm -f $@-t $@ && \
917 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
918 sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
919 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
920 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
921 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
922 -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
923 -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
924 -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
925 -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
926 -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
927 -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
928 -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
929 -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
930 -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
931 -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
932 -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
933 -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
934 -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
935 -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
936 -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
937 -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
938 -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
939 -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
940 -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
941 -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
942 -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
943 -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
944 < $(srcdir)/stdint.in.h; \
945 } > $@-t && \
946 mv $@-t $@
947
887# We need the following in order to create <stdlib.h> when the system 948# We need the following in order to create <stdlib.h> when the system
888# doesn't have one that works with the given compiler. 949# doesn't have one that works with the given compiler.
889stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) 950stdlib.h: stdlib.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
diff --git a/lib/gnulib.mk b/lib/gnulib.mk
index 31f0fd0328e..3e93e12d9bf 100644
--- a/lib/gnulib.mk
+++ b/lib/gnulib.mk
@@ -193,6 +193,50 @@ EXTRA_DIST += stddef.in.h
193 193
194## end gnulib module stddef 194## end gnulib module stddef
195 195
196## begin gnulib module stdint
197
198BUILT_SOURCES += $(STDINT_H)
199
200# We need the following in order to create <stdint.h> when the system
201# doesn't have one that works with the given compiler.
202stdint.h: stdint.in.h
203 $(AM_V_GEN)rm -f $@-t $@ && \
204 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
205 sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
206 -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
207 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
208 -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
209 -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
210 -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
211 -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
212 -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
213 -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
214 -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
215 -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
216 -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
217 -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
218 -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
219 -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
220 -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
221 -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
222 -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
223 -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
224 -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
225 -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
226 -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
227 -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
228 -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
229 -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
230 -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
231 < $(srcdir)/stdint.in.h; \
232 } > $@-t && \
233 mv $@-t $@
234MOSTLYCLEANFILES += stdint.h stdint.h-t
235
236EXTRA_DIST += stdint.in.h
237
238## end gnulib module stdint
239
196## begin gnulib module stdlib 240## begin gnulib module stdlib
197 241
198BUILT_SOURCES += stdlib.h 242BUILT_SOURCES += stdlib.h
diff --git a/lib/md5.c b/lib/md5.c
index 7a172e35aa7..b7fad633364 100644
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -82,9 +82,9 @@ md5_init_ctx (struct md5_ctx *ctx)
82 82
83/* Copy the 4 byte value from v into the memory location pointed to by *cp, 83/* Copy the 4 byte value from v into the memory location pointed to by *cp,
84 If your architecture allows unaligned access this is equivalent to 84 If your architecture allows unaligned access this is equivalent to
85 * (md5_uint32 *) cp = v */ 85 * (uint32_t *) cp = v */
86static inline void 86static inline void
87set_uint32 (char *cp, md5_uint32 v) 87set_uint32 (char *cp, uint32_t v)
88{ 88{
89 memcpy (cp, &v, sizeof v); 89 memcpy (cp, &v, sizeof v);
90} 90}
@@ -109,7 +109,7 @@ void *
109md5_finish_ctx (struct md5_ctx *ctx, void *resbuf) 109md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
110{ 110{
111 /* Take yet unprocessed bytes into account. */ 111 /* Take yet unprocessed bytes into account. */
112 md5_uint32 bytes = ctx->buflen; 112 uint32_t bytes = ctx->buflen;
113 size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4; 113 size_t size = (bytes < 56) ? 64 / 4 : 64 * 2 / 4;
114 114
115 /* Now count remaining bytes. */ 115 /* Now count remaining bytes. */
@@ -255,7 +255,7 @@ md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
255 { 255 {
256#if !_STRING_ARCH_unaligned 256#if !_STRING_ARCH_unaligned
257# define alignof(type) offsetof (struct { char c; type x; }, x) 257# define alignof(type) offsetof (struct { char c; type x; }, x)
258# define UNALIGNED_P(p) (((size_t) p) % alignof (md5_uint32) != 0) 258# define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
259 if (UNALIGNED_P (buffer)) 259 if (UNALIGNED_P (buffer))
260 while (len > 64) 260 while (len > 64)
261 { 261 {
@@ -305,14 +305,14 @@ md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx)
305void 305void
306md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx) 306md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
307{ 307{
308 md5_uint32 correct_words[16]; 308 uint32_t correct_words[16];
309 const md5_uint32 *words = buffer; 309 const uint32_t *words = buffer;
310 size_t nwords = len / sizeof (md5_uint32); 310 size_t nwords = len / sizeof (uint32_t);
311 const md5_uint32 *endp = words + nwords; 311 const uint32_t *endp = words + nwords;
312 md5_uint32 A = ctx->A; 312 uint32_t A = ctx->A;
313 md5_uint32 B = ctx->B; 313 uint32_t B = ctx->B;
314 md5_uint32 C = ctx->C; 314 uint32_t C = ctx->C;
315 md5_uint32 D = ctx->D; 315 uint32_t D = ctx->D;
316 316
317 /* First increment the byte count. RFC 1321 specifies the possible 317 /* First increment the byte count. RFC 1321 specifies the possible
318 length of the file up to 2^64 bits. Here we only compute the 318 length of the file up to 2^64 bits. Here we only compute the
@@ -325,11 +325,11 @@ md5_process_block (const void *buffer, size_t len, struct md5_ctx *ctx)
325 the loop. */ 325 the loop. */
326 while (words < endp) 326 while (words < endp)
327 { 327 {
328 md5_uint32 *cwp = correct_words; 328 uint32_t *cwp = correct_words;
329 md5_uint32 A_save = A; 329 uint32_t A_save = A;
330 md5_uint32 B_save = B; 330 uint32_t B_save = B;
331 md5_uint32 C_save = C; 331 uint32_t C_save = C;
332 md5_uint32 D_save = D; 332 uint32_t D_save = D;
333 333
334 /* First round: using the given function, the context and a constant 334 /* First round: using the given function, the context and a constant
335 the next context is computed. Because the algorithms processing 335 the next context is computed. Because the algorithms processing
diff --git a/lib/md5.h b/lib/md5.h
index 332b036590a..53e60480292 100644
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -22,6 +22,7 @@
22#define _MD5_H 1 22#define _MD5_H 1
23 23
24#include <stdio.h> 24#include <stdio.h>
25#include <stdint.h>
25 26
26#define MD5_DIGEST_SIZE 16 27#define MD5_DIGEST_SIZE 16
27#define MD5_BLOCK_SIZE 64 28#define MD5_BLOCK_SIZE 64
@@ -57,53 +58,17 @@
57extern "C" { 58extern "C" {
58# endif 59# endif
59 60
60/* The following contortions are an attempt to use the C preprocessor
61 to determine an unsigned integral type that is 32 bits wide. An
62 alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
63 doing that would require that the configure script compile and *run*
64 the resulting executable. Locally running cross-compiled executables
65 is usually not possible. */
66
67#if defined _LIBC
68# include <stdint.h>
69typedef uint32_t md5_uint32;
70#else
71# if defined __STDC__ && __STDC__
72# define UINT_MAX_32_BITS 4294967295U
73# else
74# define UINT_MAX_32_BITS 0xFFFFFFFF
75# endif
76
77# include <limits.h>
78
79# if UINT_MAX == UINT_MAX_32_BITS
80 typedef unsigned int md5_uint32;
81# else
82# if USHRT_MAX == UINT_MAX_32_BITS
83 typedef unsigned short md5_uint32;
84# else
85# if ULONG_MAX == UINT_MAX_32_BITS
86 typedef unsigned long md5_uint32;
87# else
88 /* A machine this weird should have <stdint.h>. */
89# include <stdint.h>
90 typedef uint32_t md5_uint32;
91# endif
92# endif
93# endif
94#endif
95
96/* Structure to save state of computation between the single steps. */ 61/* Structure to save state of computation between the single steps. */
97struct md5_ctx 62struct md5_ctx
98{ 63{
99 md5_uint32 A; 64 uint32_t A;
100 md5_uint32 B; 65 uint32_t B;
101 md5_uint32 C; 66 uint32_t C;
102 md5_uint32 D; 67 uint32_t D;
103 68
104 md5_uint32 total[2]; 69 uint32_t total[2];
105 md5_uint32 buflen; 70 uint32_t buflen;
106 md5_uint32 buffer[32]; 71 uint32_t buffer[32];
107}; 72};
108 73
109/* 74/*
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
new file mode 100644
index 00000000000..b32227bb04c
--- /dev/null
+++ b/lib/stdint.in.h
@@ -0,0 +1,592 @@
1/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
2 Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
3 This file is part of gnulib.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
18
19/*
20 * ISO C 99 <stdint.h> for platforms that lack it.
21 * <http://www.opengroup.org/susv3xbd/stdint.h.html>
22 */
23
24#ifndef _GL_STDINT_H
25
26#if __GNUC__ >= 3
27@PRAGMA_SYSTEM_HEADER@
28#endif
29@PRAGMA_COLUMNS@
30
31/* When including a system file that in turn includes <inttypes.h>,
32 use the system <inttypes.h>, not our substitute. This avoids
33 problems with (for example) VMS, whose <sys/bitypes.h> includes
34 <inttypes.h>. */
35#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
36
37/* Get those types that are already defined in other system include
38 files, so that we can "#define int8_t signed char" below without
39 worrying about a later system include file containing a "typedef
40 signed char int8_t;" that will get messed up by our macro. Our
41 macros should all be consistent with the system versions, except
42 for the "fast" types and macros, which we recommend against using
43 in public interfaces due to compiler differences. */
44
45#if @HAVE_STDINT_H@
46# if defined __sgi && ! defined __c99
47 /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
48 with "This header file is to be used only for c99 mode compilations"
49 diagnostics. */
50# define __STDINT_H__
51# endif
52 /* Other systems may have an incomplete or buggy <stdint.h>.
53 Include it before <inttypes.h>, since any "#include <stdint.h>"
54 in <inttypes.h> would reinclude us, skipping our contents because
55 _GL_STDINT_H is defined.
56 The include_next requires a split double-inclusion guard. */
57# @INCLUDE_NEXT@ @NEXT_STDINT_H@
58#endif
59
60#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
61#define _GL_STDINT_H
62
63/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
64 IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
65 AIX 5.2 <sys/types.h> isn't needed and causes troubles.
66 MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
67 relies on the system <stdint.h> definitions, so include
68 <sys/types.h> after @NEXT_STDINT_H@. */
69#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
70# include <sys/types.h>
71#endif
72
73/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
74#include <limits.h>
75
76#if @HAVE_INTTYPES_H@
77 /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
78 int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
79 <inttypes.h> also defines intptr_t and uintptr_t. */
80# include <inttypes.h>
81#elif @HAVE_SYS_INTTYPES_H@
82 /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
83 the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
84# include <sys/inttypes.h>
85#endif
86
87#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
88 /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
89 int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
90 included by <sys/types.h>. */
91# include <sys/bitypes.h>
92#endif
93
94#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
95
96/* Minimum and maximum values for a integer type under the usual assumption.
97 Return an unspecified value if BITS == 0, adding a check to pacify
98 picky compilers. */
99
100#define _STDINT_MIN(signed, bits, zero) \
101 ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
102
103#define _STDINT_MAX(signed, bits, zero) \
104 ((signed) \
105 ? ~ _STDINT_MIN (signed, bits, zero) \
106 : /* The expression for the unsigned case. The subtraction of (signed) \
107 is a nop in the unsigned case and avoids "signed integer overflow" \
108 warnings in the signed case. */ \
109 ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
110
111#if !GNULIB_defined_stdint_types
112
113/* 7.18.1.1. Exact-width integer types */
114
115/* Here we assume a standard architecture where the hardware integer
116 types have 8, 16, 32, optionally 64 bits. */
117
118#undef int8_t
119#undef uint8_t
120typedef signed char gl_int8_t;
121typedef unsigned char gl_uint8_t;
122#define int8_t gl_int8_t
123#define uint8_t gl_uint8_t
124
125#undef int16_t
126#undef uint16_t
127typedef short int gl_int16_t;
128typedef unsigned short int gl_uint16_t;
129#define int16_t gl_int16_t
130#define uint16_t gl_uint16_t
131
132#undef int32_t
133#undef uint32_t
134typedef int gl_int32_t;
135typedef unsigned int gl_uint32_t;
136#define int32_t gl_int32_t
137#define uint32_t gl_uint32_t
138
139/* If the system defines INT64_MAX, assume int64_t works. That way,
140 if the underlying platform defines int64_t to be a 64-bit long long
141 int, the code below won't mistakenly define it to be a 64-bit long
142 int, which would mess up C++ name mangling. We must use #ifdef
143 rather than #if, to avoid an error with HP-UX 10.20 cc. */
144
145#ifdef INT64_MAX
146# define GL_INT64_T
147#else
148/* Do not undefine int64_t if gnulib is not being used with 64-bit
149 types, since otherwise it breaks platforms like Tandem/NSK. */
150# if LONG_MAX >> 31 >> 31 == 1
151# undef int64_t
152typedef long int gl_int64_t;
153# define int64_t gl_int64_t
154# define GL_INT64_T
155# elif defined _MSC_VER
156# undef int64_t
157typedef __int64 gl_int64_t;
158# define int64_t gl_int64_t
159# define GL_INT64_T
160# elif @HAVE_LONG_LONG_INT@
161# undef int64_t
162typedef long long int gl_int64_t;
163# define int64_t gl_int64_t
164# define GL_INT64_T
165# endif
166#endif
167
168#ifdef UINT64_MAX
169# define GL_UINT64_T
170#else
171# if ULONG_MAX >> 31 >> 31 >> 1 == 1
172# undef uint64_t
173typedef unsigned long int gl_uint64_t;
174# define uint64_t gl_uint64_t
175# define GL_UINT64_T
176# elif defined _MSC_VER
177# undef uint64_t
178typedef unsigned __int64 gl_uint64_t;
179# define uint64_t gl_uint64_t
180# define GL_UINT64_T
181# elif @HAVE_UNSIGNED_LONG_LONG_INT@
182# undef uint64_t
183typedef unsigned long long int gl_uint64_t;
184# define uint64_t gl_uint64_t
185# define GL_UINT64_T
186# endif
187#endif
188
189/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
190#define _UINT8_T
191#define _UINT32_T
192#define _UINT64_T
193
194
195/* 7.18.1.2. Minimum-width integer types */
196
197/* Here we assume a standard architecture where the hardware integer
198 types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
199 are the same as the corresponding N_t types. */
200
201#undef int_least8_t
202#undef uint_least8_t
203#undef int_least16_t
204#undef uint_least16_t
205#undef int_least32_t
206#undef uint_least32_t
207#undef int_least64_t
208#undef uint_least64_t
209#define int_least8_t int8_t
210#define uint_least8_t uint8_t
211#define int_least16_t int16_t
212#define uint_least16_t uint16_t
213#define int_least32_t int32_t
214#define uint_least32_t uint32_t
215#ifdef GL_INT64_T
216# define int_least64_t int64_t
217#endif
218#ifdef GL_UINT64_T
219# define uint_least64_t uint64_t
220#endif
221
222/* 7.18.1.3. Fastest minimum-width integer types */
223
224/* Note: Other <stdint.h> substitutes may define these types differently.
225 It is not recommended to use these types in public header files. */
226
227/* Here we assume a standard architecture where the hardware integer
228 types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
229 are taken from the same list of types. Assume that 'long int'
230 is fast enough for all narrower integers. */
231
232#undef int_fast8_t
233#undef uint_fast8_t
234#undef int_fast16_t
235#undef uint_fast16_t
236#undef int_fast32_t
237#undef uint_fast32_t
238#undef int_fast64_t
239#undef uint_fast64_t
240typedef long int gl_int_fast8_t;
241typedef unsigned long int gl_uint_fast8_t;
242typedef long int gl_int_fast16_t;
243typedef unsigned long int gl_uint_fast16_t;
244typedef long int gl_int_fast32_t;
245typedef unsigned long int gl_uint_fast32_t;
246#define int_fast8_t gl_int_fast8_t
247#define uint_fast8_t gl_uint_fast8_t
248#define int_fast16_t gl_int_fast16_t
249#define uint_fast16_t gl_uint_fast16_t
250#define int_fast32_t gl_int_fast32_t
251#define uint_fast32_t gl_uint_fast32_t
252#ifdef GL_INT64_T
253# define int_fast64_t int64_t
254#endif
255#ifdef GL_UINT64_T
256# define uint_fast64_t uint64_t
257#endif
258
259/* 7.18.1.4. Integer types capable of holding object pointers */
260
261#undef intptr_t
262#undef uintptr_t
263typedef long int gl_intptr_t;
264typedef unsigned long int gl_uintptr_t;
265#define intptr_t gl_intptr_t
266#define uintptr_t gl_uintptr_t
267
268/* 7.18.1.5. Greatest-width integer types */
269
270/* Note: These types are compiler dependent. It may be unwise to use them in
271 public header files. */
272
273#undef intmax_t
274#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
275typedef long long int gl_intmax_t;
276# define intmax_t gl_intmax_t
277#elif defined GL_INT64_T
278# define intmax_t int64_t
279#else
280typedef long int gl_intmax_t;
281# define intmax_t gl_intmax_t
282#endif
283
284#undef uintmax_t
285#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
286typedef unsigned long long int gl_uintmax_t;
287# define uintmax_t gl_uintmax_t
288#elif defined GL_UINT64_T
289# define uintmax_t uint64_t
290#else
291typedef unsigned long int gl_uintmax_t;
292# define uintmax_t gl_uintmax_t
293#endif
294
295/* Verify that intmax_t and uintmax_t have the same size. Too much code
296 breaks if this is not the case. If this check fails, the reason is likely
297 to be found in the autoconf macros. */
298typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
299 ? 1 : -1];
300
301#define GNULIB_defined_stdint_types 1
302#endif /* !GNULIB_defined_stdint_types */
303
304/* 7.18.2. Limits of specified-width integer types */
305
306#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
307
308/* 7.18.2.1. Limits of exact-width integer types */
309
310/* Here we assume a standard architecture where the hardware integer
311 types have 8, 16, 32, optionally 64 bits. */
312
313#undef INT8_MIN
314#undef INT8_MAX
315#undef UINT8_MAX
316#define INT8_MIN (~ INT8_MAX)
317#define INT8_MAX 127
318#define UINT8_MAX 255
319
320#undef INT16_MIN
321#undef INT16_MAX
322#undef UINT16_MAX
323#define INT16_MIN (~ INT16_MAX)
324#define INT16_MAX 32767
325#define UINT16_MAX 65535
326
327#undef INT32_MIN
328#undef INT32_MAX
329#undef UINT32_MAX
330#define INT32_MIN (~ INT32_MAX)
331#define INT32_MAX 2147483647
332#define UINT32_MAX 4294967295U
333
334#if defined GL_INT64_T && ! defined INT64_MAX
335/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
336 evaluates the latter incorrectly in preprocessor expressions. */
337# define INT64_MIN (- INTMAX_C (1) << 63)
338# define INT64_MAX INTMAX_C (9223372036854775807)
339#endif
340
341#if defined GL_UINT64_T && ! defined UINT64_MAX
342# define UINT64_MAX UINTMAX_C (18446744073709551615)
343#endif
344
345/* 7.18.2.2. Limits of minimum-width integer types */
346
347/* Here we assume a standard architecture where the hardware integer
348 types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
349 are the same as the corresponding N_t types. */
350
351#undef INT_LEAST8_MIN
352#undef INT_LEAST8_MAX
353#undef UINT_LEAST8_MAX
354#define INT_LEAST8_MIN INT8_MIN
355#define INT_LEAST8_MAX INT8_MAX
356#define UINT_LEAST8_MAX UINT8_MAX
357
358#undef INT_LEAST16_MIN
359#undef INT_LEAST16_MAX
360#undef UINT_LEAST16_MAX
361#define INT_LEAST16_MIN INT16_MIN
362#define INT_LEAST16_MAX INT16_MAX
363#define UINT_LEAST16_MAX UINT16_MAX
364
365#undef INT_LEAST32_MIN
366#undef INT_LEAST32_MAX
367#undef UINT_LEAST32_MAX
368#define INT_LEAST32_MIN INT32_MIN
369#define INT_LEAST32_MAX INT32_MAX
370#define UINT_LEAST32_MAX UINT32_MAX
371
372#undef INT_LEAST64_MIN
373#undef INT_LEAST64_MAX
374#ifdef GL_INT64_T
375# define INT_LEAST64_MIN INT64_MIN
376# define INT_LEAST64_MAX INT64_MAX
377#endif
378
379#undef UINT_LEAST64_MAX
380#ifdef GL_UINT64_T
381# define UINT_LEAST64_MAX UINT64_MAX
382#endif
383
384/* 7.18.2.3. Limits of fastest minimum-width integer types */
385
386/* Here we assume a standard architecture where the hardware integer
387 types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
388 are taken from the same list of types. */
389
390#undef INT_FAST8_MIN
391#undef INT_FAST8_MAX
392#undef UINT_FAST8_MAX
393#define INT_FAST8_MIN LONG_MIN
394#define INT_FAST8_MAX LONG_MAX
395#define UINT_FAST8_MAX ULONG_MAX
396
397#undef INT_FAST16_MIN
398#undef INT_FAST16_MAX
399#undef UINT_FAST16_MAX
400#define INT_FAST16_MIN LONG_MIN
401#define INT_FAST16_MAX LONG_MAX
402#define UINT_FAST16_MAX ULONG_MAX
403
404#undef INT_FAST32_MIN
405#undef INT_FAST32_MAX
406#undef UINT_FAST32_MAX
407#define INT_FAST32_MIN LONG_MIN
408#define INT_FAST32_MAX LONG_MAX
409#define UINT_FAST32_MAX ULONG_MAX
410
411#undef INT_FAST64_MIN
412#undef INT_FAST64_MAX
413#ifdef GL_INT64_T
414# define INT_FAST64_MIN INT64_MIN
415# define INT_FAST64_MAX INT64_MAX
416#endif
417
418#undef UINT_FAST64_MAX
419#ifdef GL_UINT64_T
420# define UINT_FAST64_MAX UINT64_MAX
421#endif
422
423/* 7.18.2.4. Limits of integer types capable of holding object pointers */
424
425#undef INTPTR_MIN
426#undef INTPTR_MAX
427#undef UINTPTR_MAX
428#define INTPTR_MIN LONG_MIN
429#define INTPTR_MAX LONG_MAX
430#define UINTPTR_MAX ULONG_MAX
431
432/* 7.18.2.5. Limits of greatest-width integer types */
433
434#undef INTMAX_MIN
435#undef INTMAX_MAX
436#ifdef INT64_MAX
437# define INTMAX_MIN INT64_MIN
438# define INTMAX_MAX INT64_MAX
439#else
440# define INTMAX_MIN INT32_MIN
441# define INTMAX_MAX INT32_MAX
442#endif
443
444#undef UINTMAX_MAX
445#ifdef UINT64_MAX
446# define UINTMAX_MAX UINT64_MAX
447#else
448# define UINTMAX_MAX UINT32_MAX
449#endif
450
451/* 7.18.3. Limits of other integer types */
452
453/* ptrdiff_t limits */
454#undef PTRDIFF_MIN
455#undef PTRDIFF_MAX
456#if @APPLE_UNIVERSAL_BUILD@
457# ifdef _LP64
458# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
459# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
460# else
461# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
462# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
463# endif
464#else
465# define PTRDIFF_MIN \
466 _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
467# define PTRDIFF_MAX \
468 _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
469#endif
470
471/* sig_atomic_t limits */
472#undef SIG_ATOMIC_MIN
473#undef SIG_ATOMIC_MAX
474#define SIG_ATOMIC_MIN \
475 _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
476 0@SIG_ATOMIC_T_SUFFIX@)
477#define SIG_ATOMIC_MAX \
478 _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
479 0@SIG_ATOMIC_T_SUFFIX@)
480
481
482/* size_t limit */
483#undef SIZE_MAX
484#if @APPLE_UNIVERSAL_BUILD@
485# ifdef _LP64
486# define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
487# else
488# define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
489# endif
490#else
491# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
492#endif
493
494/* wchar_t limits */
495/* Get WCHAR_MIN, WCHAR_MAX.
496 This include is not on the top, above, because on OSF/1 4.0 we have a
497 sequence of nested includes
498 <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
499 <stdint.h> and assumes its types are already defined. */
500#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
501 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
502 included before <wchar.h>. */
503# include <stddef.h>
504# include <stdio.h>
505# include <time.h>
506# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
507# include <wchar.h>
508# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
509#endif
510#undef WCHAR_MIN
511#undef WCHAR_MAX
512#define WCHAR_MIN \
513 _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
514#define WCHAR_MAX \
515 _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
516
517/* wint_t limits */
518#undef WINT_MIN
519#undef WINT_MAX
520#define WINT_MIN \
521 _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
522#define WINT_MAX \
523 _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
524
525#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
526
527/* 7.18.4. Macros for integer constants */
528
529#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
530
531/* 7.18.4.1. Macros for minimum-width integer constants */
532/* According to ISO C 99 Technical Corrigendum 1 */
533
534/* Here we assume a standard architecture where the hardware integer
535 types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
536
537#undef INT8_C
538#undef UINT8_C
539#define INT8_C(x) x
540#define UINT8_C(x) x
541
542#undef INT16_C
543#undef UINT16_C
544#define INT16_C(x) x
545#define UINT16_C(x) x
546
547#undef INT32_C
548#undef UINT32_C
549#define INT32_C(x) x
550#define UINT32_C(x) x ## U
551
552#undef INT64_C
553#undef UINT64_C
554#if LONG_MAX >> 31 >> 31 == 1
555# define INT64_C(x) x##L
556#elif defined _MSC_VER
557# define INT64_C(x) x##i64
558#elif @HAVE_LONG_LONG_INT@
559# define INT64_C(x) x##LL
560#endif
561#if ULONG_MAX >> 31 >> 31 >> 1 == 1
562# define UINT64_C(x) x##UL
563#elif defined _MSC_VER
564# define UINT64_C(x) x##ui64
565#elif @HAVE_UNSIGNED_LONG_LONG_INT@
566# define UINT64_C(x) x##ULL
567#endif
568
569/* 7.18.4.2. Macros for greatest-width integer constants */
570
571#undef INTMAX_C
572#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
573# define INTMAX_C(x) x##LL
574#elif defined GL_INT64_T
575# define INTMAX_C(x) INT64_C(x)
576#else
577# define INTMAX_C(x) x##L
578#endif
579
580#undef UINTMAX_C
581#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
582# define UINTMAX_C(x) x##ULL
583#elif defined GL_UINT64_T
584# define UINTMAX_C(x) UINT64_C(x)
585#else
586# define UINTMAX_C(x) x##UL
587#endif
588
589#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
590
591#endif /* _GL_STDINT_H */
592#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
diff --git a/m4/gl-comp.m4 b/m4/gl-comp.m4
index 975374f428f..43ff36558b5 100644
--- a/m4/gl-comp.m4
+++ b/m4/gl-comp.m4
@@ -43,6 +43,7 @@ AC_DEFUN([gl_EARLY],
43 # Code from module multiarch: 43 # Code from module multiarch:
44 # Code from module stdbool: 44 # Code from module stdbool:
45 # Code from module stddef: 45 # Code from module stddef:
46 # Code from module stdint:
46 # Code from module stdlib: 47 # Code from module stdlib:
47 # Code from module strftime: 48 # Code from module strftime:
48 # Code from module time: 49 # Code from module time:
@@ -98,6 +99,8 @@ AC_DEFUN([gl_INIT],
98 AM_STDBOOL_H 99 AM_STDBOOL_H
99 # Code from module stddef: 100 # Code from module stddef:
100 gl_STDDEF_H 101 gl_STDDEF_H
102 # Code from module stdint:
103 gl_STDINT_H
101 # Code from module stdlib: 104 # Code from module stdlib:
102 gl_STDLIB_H 105 gl_STDLIB_H
103 # Code from module strftime: 106 # Code from module strftime:
@@ -270,6 +273,7 @@ AC_DEFUN([gl_FILE_LIST], [
270 lib/mktime.c 273 lib/mktime.c
271 lib/stdbool.in.h 274 lib/stdbool.in.h
272 lib/stddef.in.h 275 lib/stddef.in.h
276 lib/stdint.in.h
273 lib/stdlib.in.h 277 lib/stdlib.in.h
274 lib/strftime.c 278 lib/strftime.c
275 lib/strftime.h 279 lib/strftime.h
@@ -283,11 +287,13 @@ AC_DEFUN([gl_FILE_LIST], [
283 m4/getopt.m4 287 m4/getopt.m4
284 m4/gnulib-common.m4 288 m4/gnulib-common.m4
285 m4/include_next.m4 289 m4/include_next.m4
290 m4/longlong.m4
286 m4/md5.m4 291 m4/md5.m4
287 m4/mktime.m4 292 m4/mktime.m4
288 m4/multiarch.m4 293 m4/multiarch.m4
289 m4/stdbool.m4 294 m4/stdbool.m4
290 m4/stddef_h.m4 295 m4/stddef_h.m4
296 m4/stdint.m4
291 m4/stdlib_h.m4 297 m4/stdlib_h.m4
292 m4/strftime.m4 298 m4/strftime.m4
293 m4/time_h.m4 299 m4/time_h.m4
diff --git a/m4/longlong.m4 b/m4/longlong.m4
new file mode 100644
index 00000000000..aed816cfa5e
--- /dev/null
+++ b/m4/longlong.m4
@@ -0,0 +1,113 @@
1# longlong.m4 serial 16
2dnl Copyright (C) 1999-2007, 2009-2011 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert.
8
9# Define HAVE_LONG_LONG_INT if 'long long int' works.
10# This fixes a bug in Autoconf 2.61, and can be faster
11# than what's in Autoconf 2.62 through 2.68.
12
13# Note: If the type 'long long int' exists but is only 32 bits large
14# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
15# defined. In this case you can treat 'long long int' like 'long int'.
16
17AC_DEFUN([AC_TYPE_LONG_LONG_INT],
18[
19 AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
20 AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
21 [ac_cv_type_long_long_int=yes
22 if test "x${ac_cv_prog_cc_c99-no}" = xno; then
23 ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
24 if test $ac_cv_type_long_long_int = yes; then
25 dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
26 dnl If cross compiling, assume the bug is not important, since
27 dnl nobody cross compiles for this platform as far as we know.
28 AC_RUN_IFELSE(
29 [AC_LANG_PROGRAM(
30 [[@%:@include <limits.h>
31 @%:@ifndef LLONG_MAX
32 @%:@ define HALF \
33 (1LL << (sizeof (long long int) * CHAR_BIT - 2))
34 @%:@ define LLONG_MAX (HALF - 1 + HALF)
35 @%:@endif]],
36 [[long long int n = 1;
37 int i;
38 for (i = 0; ; i++)
39 {
40 long long int m = n << i;
41 if (m >> i != n)
42 return 1;
43 if (LLONG_MAX / 2 < m)
44 break;
45 }
46 return 0;]])],
47 [],
48 [ac_cv_type_long_long_int=no],
49 [:])
50 fi
51 fi])
52 if test $ac_cv_type_long_long_int = yes; then
53 AC_DEFINE([HAVE_LONG_LONG_INT], [1],
54 [Define to 1 if the system has the type `long long int'.])
55 fi
56])
57
58# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
59# This fixes a bug in Autoconf 2.61, and can be faster
60# than what's in Autoconf 2.62 through 2.68.
61
62# Note: If the type 'unsigned long long int' exists but is only 32 bits
63# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
64# will not be defined. In this case you can treat 'unsigned long long int'
65# like 'unsigned long int'.
66
67AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
68[
69 AC_CACHE_CHECK([for unsigned long long int],
70 [ac_cv_type_unsigned_long_long_int],
71 [ac_cv_type_unsigned_long_long_int=yes
72 if test "x${ac_cv_prog_cc_c99-no}" = xno; then
73 AC_LINK_IFELSE(
74 [_AC_TYPE_LONG_LONG_SNIPPET],
75 [],
76 [ac_cv_type_unsigned_long_long_int=no])
77 fi])
78 if test $ac_cv_type_unsigned_long_long_int = yes; then
79 AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
80 [Define to 1 if the system has the type `unsigned long long int'.])
81 fi
82])
83
84# Expands to a C program that can be used to test for simultaneous support
85# of 'long long' and 'unsigned long long'. We don't want to say that
86# 'long long' is available if 'unsigned long long' is not, or vice versa,
87# because too many programs rely on the symmetry between signed and unsigned
88# integer types (excluding 'bool').
89AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
90[
91 AC_LANG_PROGRAM(
92 [[/* For now, do not test the preprocessor; as of 2007 there are too many
93 implementations with broken preprocessors. Perhaps this can
94 be revisited in 2012. In the meantime, code should not expect
95 #if to work with literals wider than 32 bits. */
96 /* Test literals. */
97 long long int ll = 9223372036854775807ll;
98 long long int nll = -9223372036854775807LL;
99 unsigned long long int ull = 18446744073709551615ULL;
100 /* Test constant expressions. */
101 typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
102 ? 1 : -1)];
103 typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
104 ? 1 : -1)];
105 int i = 63;]],
106 [[/* Test availability of runtime routines for shift and division. */
107 long long int llmax = 9223372036854775807ll;
108 unsigned long long int ullmax = 18446744073709551615ull;
109 return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
110 | (llmax / ll) | (llmax % ll)
111 | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
112 | (ullmax / ull) | (ullmax % ull));]])
113])
diff --git a/m4/stdint.m4 b/m4/stdint.m4
new file mode 100644
index 00000000000..e7d0d0765a2
--- /dev/null
+++ b/m4/stdint.m4
@@ -0,0 +1,479 @@
1# stdint.m4 serial 39
2dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl From Paul Eggert and Bruno Haible.
8dnl Test whether <stdint.h> is supported or must be substituted.
9
10AC_DEFUN([gl_STDINT_H],
11[
12 AC_PREREQ([2.59])dnl
13
14 dnl Check for long long int and unsigned long long int.
15 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
16 if test $ac_cv_type_long_long_int = yes; then
17 HAVE_LONG_LONG_INT=1
18 else
19 HAVE_LONG_LONG_INT=0
20 fi
21 AC_SUBST([HAVE_LONG_LONG_INT])
22 AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
23 if test $ac_cv_type_unsigned_long_long_int = yes; then
24 HAVE_UNSIGNED_LONG_LONG_INT=1
25 else
26 HAVE_UNSIGNED_LONG_LONG_INT=0
27 fi
28 AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
29
30 dnl Check for <wchar.h>, in the same way as gl_WCHAR_H does.
31 AC_CHECK_HEADERS_ONCE([wchar.h])
32 if test $ac_cv_header_wchar_h = yes; then
33 HAVE_WCHAR_H=1
34 else
35 HAVE_WCHAR_H=0
36 fi
37 AC_SUBST([HAVE_WCHAR_H])
38
39 dnl Check for <inttypes.h>.
40 dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
41 if test $ac_cv_header_inttypes_h = yes; then
42 HAVE_INTTYPES_H=1
43 else
44 HAVE_INTTYPES_H=0
45 fi
46 AC_SUBST([HAVE_INTTYPES_H])
47
48 dnl Check for <sys/types.h>.
49 dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
50 if test $ac_cv_header_sys_types_h = yes; then
51 HAVE_SYS_TYPES_H=1
52 else
53 HAVE_SYS_TYPES_H=0
54 fi
55 AC_SUBST([HAVE_SYS_TYPES_H])
56
57 gl_CHECK_NEXT_HEADERS([stdint.h])
58 if test $ac_cv_header_stdint_h = yes; then
59 HAVE_STDINT_H=1
60 else
61 HAVE_STDINT_H=0
62 fi
63 AC_SUBST([HAVE_STDINT_H])
64
65 dnl Now see whether we need a substitute <stdint.h>.
66 if test $ac_cv_header_stdint_h = yes; then
67 AC_CACHE_CHECK([whether stdint.h conforms to C99],
68 [gl_cv_header_working_stdint_h],
69 [gl_cv_header_working_stdint_h=no
70 AC_COMPILE_IFELSE([
71 AC_LANG_PROGRAM([[
72#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
73#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
74#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
75#include <stdint.h>
76/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
77#if !(defined WCHAR_MIN && defined WCHAR_MAX)
78#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
79#endif
80]
81gl_STDINT_INCLUDES
82[
83#ifdef INT8_MAX
84int8_t a1 = INT8_MAX;
85int8_t a1min = INT8_MIN;
86#endif
87#ifdef INT16_MAX
88int16_t a2 = INT16_MAX;
89int16_t a2min = INT16_MIN;
90#endif
91#ifdef INT32_MAX
92int32_t a3 = INT32_MAX;
93int32_t a3min = INT32_MIN;
94#endif
95#ifdef INT64_MAX
96int64_t a4 = INT64_MAX;
97int64_t a4min = INT64_MIN;
98#endif
99#ifdef UINT8_MAX
100uint8_t b1 = UINT8_MAX;
101#else
102typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
103#endif
104#ifdef UINT16_MAX
105uint16_t b2 = UINT16_MAX;
106#endif
107#ifdef UINT32_MAX
108uint32_t b3 = UINT32_MAX;
109#endif
110#ifdef UINT64_MAX
111uint64_t b4 = UINT64_MAX;
112#endif
113int_least8_t c1 = INT8_C (0x7f);
114int_least8_t c1max = INT_LEAST8_MAX;
115int_least8_t c1min = INT_LEAST8_MIN;
116int_least16_t c2 = INT16_C (0x7fff);
117int_least16_t c2max = INT_LEAST16_MAX;
118int_least16_t c2min = INT_LEAST16_MIN;
119int_least32_t c3 = INT32_C (0x7fffffff);
120int_least32_t c3max = INT_LEAST32_MAX;
121int_least32_t c3min = INT_LEAST32_MIN;
122int_least64_t c4 = INT64_C (0x7fffffffffffffff);
123int_least64_t c4max = INT_LEAST64_MAX;
124int_least64_t c4min = INT_LEAST64_MIN;
125uint_least8_t d1 = UINT8_C (0xff);
126uint_least8_t d1max = UINT_LEAST8_MAX;
127uint_least16_t d2 = UINT16_C (0xffff);
128uint_least16_t d2max = UINT_LEAST16_MAX;
129uint_least32_t d3 = UINT32_C (0xffffffff);
130uint_least32_t d3max = UINT_LEAST32_MAX;
131uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
132uint_least64_t d4max = UINT_LEAST64_MAX;
133int_fast8_t e1 = INT_FAST8_MAX;
134int_fast8_t e1min = INT_FAST8_MIN;
135int_fast16_t e2 = INT_FAST16_MAX;
136int_fast16_t e2min = INT_FAST16_MIN;
137int_fast32_t e3 = INT_FAST32_MAX;
138int_fast32_t e3min = INT_FAST32_MIN;
139int_fast64_t e4 = INT_FAST64_MAX;
140int_fast64_t e4min = INT_FAST64_MIN;
141uint_fast8_t f1 = UINT_FAST8_MAX;
142uint_fast16_t f2 = UINT_FAST16_MAX;
143uint_fast32_t f3 = UINT_FAST32_MAX;
144uint_fast64_t f4 = UINT_FAST64_MAX;
145#ifdef INTPTR_MAX
146intptr_t g = INTPTR_MAX;
147intptr_t gmin = INTPTR_MIN;
148#endif
149#ifdef UINTPTR_MAX
150uintptr_t h = UINTPTR_MAX;
151#endif
152intmax_t i = INTMAX_MAX;
153uintmax_t j = UINTMAX_MAX;
154
155#include <limits.h> /* for CHAR_BIT */
156#define TYPE_MINIMUM(t) \
157 ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
158#define TYPE_MAXIMUM(t) \
159 ((t) ((t) 0 < (t) -1 \
160 ? (t) -1 \
161 : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
162struct s {
163 int check_PTRDIFF:
164 PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
165 && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
166 ? 1 : -1;
167 /* Detect bug in FreeBSD 6.0 / ia64. */
168 int check_SIG_ATOMIC:
169 SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
170 && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
171 ? 1 : -1;
172 int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
173 int check_WCHAR:
174 WCHAR_MIN == TYPE_MINIMUM (wchar_t)
175 && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
176 ? 1 : -1;
177 /* Detect bug in mingw. */
178 int check_WINT:
179 WINT_MIN == TYPE_MINIMUM (wint_t)
180 && WINT_MAX == TYPE_MAXIMUM (wint_t)
181 ? 1 : -1;
182
183 /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
184 int check_UINT8_C:
185 (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
186 int check_UINT16_C:
187 (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
188
189 /* Detect bugs in OpenBSD 3.9 stdint.h. */
190#ifdef UINT8_MAX
191 int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
192#endif
193#ifdef UINT16_MAX
194 int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
195#endif
196#ifdef UINT32_MAX
197 int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
198#endif
199#ifdef UINT64_MAX
200 int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
201#endif
202 int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
203 int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
204 int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
205 int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
206 int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
207 int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
208 int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
209 int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
210 int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
211 int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
212 int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
213};
214 ]])],
215 [dnl Determine whether the various *_MIN, *_MAX macros are usable
216 dnl in preprocessor expression. We could do it by compiling a test
217 dnl program for each of these macros. It is faster to run a program
218 dnl that inspects the macro expansion.
219 dnl This detects a bug on HP-UX 11.23/ia64.
220 AC_RUN_IFELSE([
221 AC_LANG_PROGRAM([[
222#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
223#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
224#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
225#include <stdint.h>
226]
227gl_STDINT_INCLUDES
228[
229#include <stdio.h>
230#include <string.h>
231#define MVAL(macro) MVAL1(macro)
232#define MVAL1(expression) #expression
233static const char *macro_values[] =
234 {
235#ifdef INT8_MAX
236 MVAL (INT8_MAX),
237#endif
238#ifdef INT16_MAX
239 MVAL (INT16_MAX),
240#endif
241#ifdef INT32_MAX
242 MVAL (INT32_MAX),
243#endif
244#ifdef INT64_MAX
245 MVAL (INT64_MAX),
246#endif
247#ifdef UINT8_MAX
248 MVAL (UINT8_MAX),
249#endif
250#ifdef UINT16_MAX
251 MVAL (UINT16_MAX),
252#endif
253#ifdef UINT32_MAX
254 MVAL (UINT32_MAX),
255#endif
256#ifdef UINT64_MAX
257 MVAL (UINT64_MAX),
258#endif
259 NULL
260 };
261]], [[
262 const char **mv;
263 for (mv = macro_values; *mv != NULL; mv++)
264 {
265 const char *value = *mv;
266 /* Test whether it looks like a cast expression. */
267 if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
268 || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
269 || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
270 || strncmp (value, "((int)"/*)*/, 6) == 0
271 || strncmp (value, "((signed short)"/*)*/, 15) == 0
272 || strncmp (value, "((signed char)"/*)*/, 14) == 0)
273 return mv - macro_values + 1;
274 }
275 return 0;
276]])],
277 [gl_cv_header_working_stdint_h=yes],
278 [],
279 [dnl When cross-compiling, assume it works.
280 gl_cv_header_working_stdint_h=yes
281 ])
282 ])
283 ])
284 fi
285 if test "$gl_cv_header_working_stdint_h" = yes; then
286 STDINT_H=
287 else
288 dnl Check for <sys/inttypes.h>, and for
289 dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
290 AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
291 if test $ac_cv_header_sys_inttypes_h = yes; then
292 HAVE_SYS_INTTYPES_H=1
293 else
294 HAVE_SYS_INTTYPES_H=0
295 fi
296 AC_SUBST([HAVE_SYS_INTTYPES_H])
297 if test $ac_cv_header_sys_bitypes_h = yes; then
298 HAVE_SYS_BITYPES_H=1
299 else
300 HAVE_SYS_BITYPES_H=0
301 fi
302 AC_SUBST([HAVE_SYS_BITYPES_H])
303
304 gl_STDINT_TYPE_PROPERTIES
305 STDINT_H=stdint.h
306 fi
307 AC_SUBST([STDINT_H])
308])
309
310dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
311dnl Determine the size of each of the given types in bits.
312AC_DEFUN([gl_STDINT_BITSIZEOF],
313[
314 dnl Use a shell loop, to avoid bloating configure, and
315 dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
316 dnl config.h.in,
317 dnl - extra AC_SUBST calls, so that the right substitutions are made.
318 m4_foreach_w([gltype], [$1],
319 [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
320 [Define to the number of bits in type ']gltype['.])])
321 for gltype in $1 ; do
322 AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
323 [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT],
324 [$2
325#include <limits.h>], [result=unknown])
326 eval gl_cv_bitsizeof_${gltype}=\$result
327 ])
328 eval result=\$gl_cv_bitsizeof_${gltype}
329 if test $result = unknown; then
330 dnl Use a nonempty default, because some compilers, such as IRIX 5 cc,
331 dnl do a syntax check even on unused #if conditions and give an error
332 dnl on valid C code like this:
333 dnl #if 0
334 dnl # if > 32
335 dnl # endif
336 dnl #endif
337 result=0
338 fi
339 GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
340 AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
341 eval BITSIZEOF_${GLTYPE}=\$result
342 done
343 m4_foreach_w([gltype], [$1],
344 [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
345])
346
347dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
348dnl Determine the signedness of each of the given types.
349dnl Define HAVE_SIGNED_TYPE if type is signed.
350AC_DEFUN([gl_CHECK_TYPES_SIGNED],
351[
352 dnl Use a shell loop, to avoid bloating configure, and
353 dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
354 dnl config.h.in,
355 dnl - extra AC_SUBST calls, so that the right substitutions are made.
356 m4_foreach_w([gltype], [$1],
357 [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
358 [Define to 1 if ']gltype[' is a signed integer type.])])
359 for gltype in $1 ; do
360 AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
361 [AC_COMPILE_IFELSE(
362 [AC_LANG_PROGRAM([$2[
363 int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])],
364 result=yes, result=no)
365 eval gl_cv_type_${gltype}_signed=\$result
366 ])
367 eval result=\$gl_cv_type_${gltype}_signed
368 GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
369 if test "$result" = yes; then
370 AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1])
371 eval HAVE_SIGNED_${GLTYPE}=1
372 else
373 eval HAVE_SIGNED_${GLTYPE}=0
374 fi
375 done
376 m4_foreach_w([gltype], [$1],
377 [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
378])
379
380dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
381dnl Determine the suffix to use for integer constants of the given types.
382dnl Define t_SUFFIX for each such type.
383AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
384[
385 dnl Use a shell loop, to avoid bloating configure, and
386 dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
387 dnl config.h.in,
388 dnl - extra AC_SUBST calls, so that the right substitutions are made.
389 m4_foreach_w([gltype], [$1],
390 [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
391 [Define to l, ll, u, ul, ull, etc., as suitable for
392 constants of type ']gltype['.])])
393 for gltype in $1 ; do
394 AC_CACHE_CHECK([for $gltype integer literal suffix],
395 [gl_cv_type_${gltype}_suffix],
396 [eval gl_cv_type_${gltype}_suffix=no
397 eval result=\$gl_cv_type_${gltype}_signed
398 if test "$result" = yes; then
399 glsufu=
400 else
401 glsufu=u
402 fi
403 for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
404 case $glsuf in
405 '') gltype1='int';;
406 l) gltype1='long int';;
407 ll) gltype1='long long int';;
408 i64) gltype1='__int64';;
409 u) gltype1='unsigned int';;
410 ul) gltype1='unsigned long int';;
411 ull) gltype1='unsigned long long int';;
412 ui64)gltype1='unsigned __int64';;
413 esac
414 AC_COMPILE_IFELSE(
415 [AC_LANG_PROGRAM([$2[
416 extern $gltype foo;
417 extern $gltype1 foo;]])],
418 [eval gl_cv_type_${gltype}_suffix=\$glsuf])
419 eval result=\$gl_cv_type_${gltype}_suffix
420 test "$result" != no && break
421 done])
422 GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
423 eval result=\$gl_cv_type_${gltype}_suffix
424 test "$result" = no && result=
425 eval ${GLTYPE}_SUFFIX=\$result
426 AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
427 done
428 m4_foreach_w([gltype], [$1],
429 [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
430])
431
432dnl gl_STDINT_INCLUDES
433AC_DEFUN([gl_STDINT_INCLUDES],
434[[
435 /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
436 included before <wchar.h>. */
437 #include <stddef.h>
438 #include <signal.h>
439 #if HAVE_WCHAR_H
440 # include <stdio.h>
441 # include <time.h>
442 # include <wchar.h>
443 #endif
444]])
445
446dnl gl_STDINT_TYPE_PROPERTIES
447dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t
448dnl of interest to stdint.in.h.
449AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
450[
451 AC_REQUIRE([gl_MULTIARCH])
452 if test $APPLE_UNIVERSAL_BUILD = 0; then
453 gl_STDINT_BITSIZEOF([ptrdiff_t size_t],
454 [gl_STDINT_INCLUDES])
455 fi
456 gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t],
457 [gl_STDINT_INCLUDES])
458 gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t],
459 [gl_STDINT_INCLUDES])
460 gl_cv_type_ptrdiff_t_signed=yes
461 gl_cv_type_size_t_signed=no
462 if test $APPLE_UNIVERSAL_BUILD = 0; then
463 gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t],
464 [gl_STDINT_INCLUDES])
465 fi
466 gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
467 [gl_STDINT_INCLUDES])
468])
469
470dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
471dnl Remove this when we can assume autoconf >= 2.61.
472m4_ifdef([AC_COMPUTE_INT], [], [
473 AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
474])
475
476# Hey Emacs!
477# Local Variables:
478# indent-tabs-mode: nil
479# End:
diff --git a/src/config.in b/src/config.in
index 637287a024c..9e8364ec45b 100644
--- a/src/config.in
+++ b/src/config.in
@@ -31,6 +31,21 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31/* Define if building universal (internal helper macro) */ 31/* Define if building universal (internal helper macro) */
32#undef AC_APPLE_UNIVERSAL_BUILD 32#undef AC_APPLE_UNIVERSAL_BUILD
33 33
34/* Define to the number of bits in type 'ptrdiff_t'. */
35#undef BITSIZEOF_PTRDIFF_T
36
37/* Define to the number of bits in type 'sig_atomic_t'. */
38#undef BITSIZEOF_SIG_ATOMIC_T
39
40/* Define to the number of bits in type 'size_t'. */
41#undef BITSIZEOF_SIZE_T
42
43/* Define to the number of bits in type 'wchar_t'. */
44#undef BITSIZEOF_WCHAR_T
45
46/* Define to the number of bits in type 'wint_t'. */
47#undef BITSIZEOF_WINT_T
48
34/* Define if Emacs cannot be dumped on your system. */ 49/* Define if Emacs cannot be dumped on your system. */
35#undef CANNOT_DUMP 50#undef CANNOT_DUMP
36 51
@@ -440,6 +455,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
440/* Define to 1 if you support file names longer than 14 characters. */ 455/* Define to 1 if you support file names longer than 14 characters. */
441#undef HAVE_LONG_FILE_NAMES 456#undef HAVE_LONG_FILE_NAMES
442 457
458/* Define to 1 if the system has the type `long long int'. */
459#undef HAVE_LONG_LONG_INT
460
443/* Define to 1 if you have the `lrand48' function. */ 461/* Define to 1 if you have the `lrand48' function. */
444#undef HAVE_LRAND48 462#undef HAVE_LRAND48
445 463
@@ -596,6 +614,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
596/* Define to 1 if you have the `shutdown' function. */ 614/* Define to 1 if you have the `shutdown' function. */
597#undef HAVE_SHUTDOWN 615#undef HAVE_SHUTDOWN
598 616
617/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
618#undef HAVE_SIGNED_SIG_ATOMIC_T
619
620/* Define to 1 if 'wchar_t' is a signed integer type. */
621#undef HAVE_SIGNED_WCHAR_T
622
623/* Define to 1 if 'wint_t' is a signed integer type. */
624#undef HAVE_SIGNED_WINT_T
625
599/* Define to 1 if the system has the type `size_t'. */ 626/* Define to 1 if the system has the type `size_t'. */
600#undef HAVE_SIZE_T 627#undef HAVE_SIZE_T
601 628
@@ -665,6 +692,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
665/* Define to 1 if you have the `sysinfo' function. */ 692/* Define to 1 if you have the `sysinfo' function. */
666#undef HAVE_SYSINFO 693#undef HAVE_SYSINFO
667 694
695/* Define to 1 if you have the <sys/bitypes.h> header file. */
696#undef HAVE_SYS_BITYPES_H
697
698/* Define to 1 if you have the <sys/inttypes.h> header file. */
699#undef HAVE_SYS_INTTYPES_H
700
668/* Define to 1 if you have the <sys/loadavg.h> header file. */ 701/* Define to 1 if you have the <sys/loadavg.h> header file. */
669#undef HAVE_SYS_LOADAVG_H 702#undef HAVE_SYS_LOADAVG_H
670 703
@@ -745,6 +778,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
745/* Define to 1 if you have the <unistd.h> header file. */ 778/* Define to 1 if you have the <unistd.h> header file. */
746#undef HAVE_UNISTD_H 779#undef HAVE_UNISTD_H
747 780
781/* Define to 1 if the system has the type `unsigned long long int'. */
782#undef HAVE_UNSIGNED_LONG_LONG_INT
783
748/* Define to 1 if you have the <util.h> header file. */ 784/* Define to 1 if you have the <util.h> header file. */
749#undef HAVE_UTIL_H 785#undef HAVE_UTIL_H
750 786
@@ -763,6 +799,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
763/* Define to 1 if you have the <vfork.h> header file. */ 799/* Define to 1 if you have the <vfork.h> header file. */
764#undef HAVE_VFORK_H 800#undef HAVE_VFORK_H
765 801
802/* Define to 1 if you have the <wchar.h> header file. */
803#undef HAVE_WCHAR_H
804
766/* Define if you have the 'wchar_t' type. */ 805/* Define if you have the 'wchar_t' type. */
767#undef HAVE_WCHAR_T 806#undef HAVE_WCHAR_T
768 807
@@ -915,6 +954,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
915/* Define to 1 if the C compiler supports function prototypes. */ 954/* Define to 1 if the C compiler supports function prototypes. */
916#undef PROTOTYPES 955#undef PROTOTYPES
917 956
957/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
958 'ptrdiff_t'. */
959#undef PTRDIFF_T_SUFFIX
960
918/* Define REL_ALLOC if you want to use the relocating allocator for buffer 961/* Define REL_ALLOC if you want to use the relocating allocator for buffer
919 space. */ 962 space. */
920#undef REL_ALLOC 963#undef REL_ALLOC
@@ -922,6 +965,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
922/* Define as the return type of signal handlers (`int' or `void'). */ 965/* Define as the return type of signal handlers (`int' or `void'). */
923#undef RETSIGTYPE 966#undef RETSIGTYPE
924 967
968/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
969 'sig_atomic_t'. */
970#undef SIG_ATOMIC_T_SUFFIX
971
972/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
973 'size_t'. */
974#undef SIZE_T_SUFFIX
975
925/* If using the C implementation of alloca, define if you know the 976/* If using the C implementation of alloca, define if you know the
926 direction of stack growth for your system; otherwise it will be 977 direction of stack growth for your system; otherwise it will be
927 automatically deduced at runtime. 978 automatically deduced at runtime.
@@ -985,6 +1036,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
985/* Version number of package */ 1036/* Version number of package */
986#undef VERSION 1037#undef VERSION
987 1038
1039/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1040 'wchar_t'. */
1041#undef WCHAR_T_SUFFIX
1042
1043/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
1044 'wint_t'. */
1045#undef WINT_T_SUFFIX
1046
988/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most 1047/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
989 significant byte first (like Motorola and SPARC, unlike Intel). */ 1048 significant byte first (like Motorola and SPARC, unlike Intel). */
990#if defined AC_APPLE_UNIVERSAL_BUILD 1049#if defined AC_APPLE_UNIVERSAL_BUILD
diff --git a/src/deps.mk b/src/deps.mk
index 5a86f1d2a4b..92da4dd89b0 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -282,7 +282,7 @@ eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h frame.h \
282 msdos.h 282 msdos.h
283floatfns.o: floatfns.c syssignal.h lisp.h globals.h $(config_h) 283floatfns.o: floatfns.c syssignal.h lisp.h globals.h $(config_h)
284fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h \ 284fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h \
285 keyboard.h keymap.h window.h $(INTERVALS_H) coding.h md5.h \ 285 keyboard.h keymap.h window.h $(INTERVALS_H) coding.h \
286 blockinput.h atimer.h systime.h xterm.h ../lib/unistd.h globals.h 286 blockinput.h atimer.h systime.h xterm.h ../lib/unistd.h globals.h
287print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \ 287print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
288 lisp.h globals.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \ 288 lisp.h globals.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \