From 18ab41eeefa5e7d1f1bb5a9f9108be06bbe77689 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 3 Dec 2001 17:44:52 +0000 Subject: [PATCH] Add configure-time check whether sig_atomic_t is defined; if not, provide a default definition equating it to 'int'. Should trigger only on machines with pre-ANSI-C header files, eg SunOS 4.1.x. --- configure | 86 +++++++++++++++++++++++++++----------- configure.in | 5 ++- src/include/c.h | 7 +++- src/include/pg_config.h.in | 5 ++- 4 files changed, 76 insertions(+), 27 deletions(-) diff --git a/configure b/configure index 1e66c582ad..dbc4b2b06c 100755 --- a/configure +++ b/configure @@ -8281,21 +8281,23 @@ EOF # Some platforms predefine the types int8, int16, etc. Only check -# a (hopefully) representative subset. +# a (hopefully) representative subset. We also check for sig_atomic_t, +# which *should* be defined per ANSI C, but is missing on some old platforms. pgac_type_includes="\ #include +#include #ifdef HAVE_SUPPORTDEFS_H #include #endif" echo $ac_n "checking for int8""... $ac_c" 1>&6 -echo "configure:8294: checking for int8" >&5 +echo "configure:8296: checking for int8" >&5 if eval "test \"`echo '$''{'pgac_cv_have_int8'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8311: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* pgac_cv_have_int8=yes else @@ -8326,12 +8328,12 @@ EOF fi echo $ac_n "checking for uint8""... $ac_c" 1>&6 -echo "configure:8330: checking for uint8" >&5 +echo "configure:8332: checking for uint8" >&5 if eval "test \"`echo '$''{'pgac_cv_have_uint8'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* pgac_cv_have_uint8=yes else @@ -8362,12 +8364,12 @@ EOF fi echo $ac_n "checking for int64""... $ac_c" 1>&6 -echo "configure:8366: checking for int64" >&5 +echo "configure:8368: checking for int64" >&5 if eval "test \"`echo '$''{'pgac_cv_have_int64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* pgac_cv_have_int64=yes else @@ -8398,12 +8400,12 @@ EOF fi echo $ac_n "checking for uint64""... $ac_c" 1>&6 -echo "configure:8402: checking for uint64" >&5 +echo "configure:8404: checking for uint64" >&5 if eval "test \"`echo '$''{'pgac_cv_have_uint64'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* pgac_cv_have_uint64=yes else @@ -8433,15 +8435,51 @@ EOF fi +echo $ac_n "checking for sig_atomic_t""... $ac_c" 1>&6 +echo "configure:8440: checking for sig_atomic_t" >&5 +if eval "test \"`echo '$''{'pgac_cv_have_sig_atomic_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + pgac_cv_have_sig_atomic_t=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + pgac_cv_have_sig_atomic_t=no +fi +rm -f conftest* +fi + +echo "$ac_t""$pgac_cv_have_sig_atomic_t" 1>&6 +if test "$pgac_cv_have_sig_atomic_t" = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_SIG_ATOMIC_T 1 +EOF + + fi + echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6 -echo "configure:8440: checking for POSIX signal interface" >&5 +echo "configure:8478: checking for POSIX signal interface" >&5 if eval "test \"`echo '$''{'pgac_cv_func_posix_signals'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8452,7 +8490,7 @@ act.sa_flags = SA_RESTART; sigaction(0, &act, &oact); ; return 0; } EOF -if { (eval echo configure:8456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* pgac_cv_func_posix_signals=yes else @@ -8482,7 +8520,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8486: checking for $ac_word" >&5 +echo "configure:8524: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8518,7 +8556,7 @@ test -n "$TCLSH" && break done echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6 -echo "configure:8522: checking for tclConfig.sh" >&5 +echo "configure:8560: checking for tclConfig.sh" >&5 # Let user override test if test -z "$TCL_CONFIG_SH"; then pgac_test_dirs="$with_tclconfig" @@ -8551,7 +8589,7 @@ fi # Check for Tk configuration script tkConfig.sh if test "$with_tk" = yes; then echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6 -echo "configure:8555: checking for tkConfig.sh" >&5 +echo "configure:8593: checking for tkConfig.sh" >&5 # Let user override test if test -z "$TK_CONFIG_SH"; then pgac_test_dirs="$with_tkconfig $with_tclconfig" @@ -8590,7 +8628,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8594: checking for $ac_word" >&5 +echo "configure:8632: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NSGMLS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8626,7 +8664,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8630: checking for $ac_word" >&5 +echo "configure:8668: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_JADE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8657,7 +8695,7 @@ done echo $ac_n "checking for DocBook V3.1""... $ac_c" 1>&6 -echo "configure:8661: checking for DocBook V3.1" >&5 +echo "configure:8699: checking for DocBook V3.1" >&5 if eval "test \"`echo '$''{'pgac_cv_check_docbook'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8690,7 +8728,7 @@ have_docbook=$pgac_cv_check_docbook echo $ac_n "checking for DocBook stylesheets""... $ac_c" 1>&6 -echo "configure:8694: checking for DocBook stylesheets" >&5 +echo "configure:8732: checking for DocBook stylesheets" >&5 if eval "test \"`echo '$''{'pgac_cv_path_stylesheets'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8729,7 +8767,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8733: checking for $ac_word" >&5 +echo "configure:8771: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_SGMLSPL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else diff --git a/configure.in b/configure.in index 45667b2ad3..75630b7349 100644 --- a/configure.in +++ b/configure.in @@ -1171,10 +1171,12 @@ AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignme # Some platforms predefine the types int8, int16, etc. Only check -# a (hopefully) representative subset. +# a (hopefully) representative subset. We also check for sig_atomic_t, +# which *should* be defined per ANSI C, but is missing on some old platforms. pgac_type_includes="\ #include +#include #ifdef HAVE_SUPPORTDEFS_H #include #endif" @@ -1183,6 +1185,7 @@ PGAC_CHECK_TYPE(int8, [], [], [$pgac_type_includes]) PGAC_CHECK_TYPE(uint8, [], [], [$pgac_type_includes]) PGAC_CHECK_TYPE(int64, [], [], [$pgac_type_includes]) PGAC_CHECK_TYPE(uint64, [], [], [$pgac_type_includes]) +PGAC_CHECK_TYPE(sig_atomic_t, [], [], [$pgac_type_includes]) PGAC_FUNC_POSIX_SIGNALS diff --git a/src/include/c.h b/src/include/c.h index 201552d72b..74bf434acb 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -12,7 +12,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: c.h,v 1.112 2001/12/02 11:38:40 petere Exp $ + * $Id: c.h,v 1.113 2001/12/03 17:44:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -302,6 +302,11 @@ typedef unsigned long int uint64; #endif /* not HAVE_LONG_INT_64 and not HAVE_LONG_LONG_INT_64 */ +/* sig_atomic_t is required by ANSI C, but may be missing on old platforms */ +#ifndef HAVE_SIG_ATOMIC_T +typedef int sig_atomic_t; +#endif + /* * Size * Size of any memory resident object, as returned by sizeof. diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 19766b8183..8e84fa4219 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -8,7 +8,7 @@ * or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your * changes will be overwritten the next time you run configure. * - * $Id: pg_config.h.in,v 1.14 2001/12/02 11:38:40 petere Exp $ + * $Id: pg_config.h.in,v 1.15 2001/12/03 17:44:52 tgl Exp $ */ #ifndef PG_CONFIG_H @@ -697,10 +697,13 @@ extern int fdatasync(int fildes); /* Define if you have on_exit() */ #undef HAVE_ON_EXIT +/* Define if the corresponding types are defined in standard headers */ #undef HAVE_INT8 #undef HAVE_UINT8 #undef HAVE_INT64 #undef HAVE_UINT64 +#undef HAVE_SIG_ATOMIC_T + /* *------------------------------------------------------------------------ -- GitLab