mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-23 20:03:31 +01:00
Merge branch 'bug20990_squashed_v2'
This commit is contained in:
commit
f31b3857fe
1
.gitignore
vendored
1
.gitignore
vendored
@ -38,6 +38,7 @@ uptime-*.json
|
|||||||
/Makefile
|
/Makefile
|
||||||
/Makefile.in
|
/Makefile.in
|
||||||
/aclocal.m4
|
/aclocal.m4
|
||||||
|
/ar-lib
|
||||||
/autom4te.cache
|
/autom4te.cache
|
||||||
/build-stamp
|
/build-stamp
|
||||||
/compile
|
/compile
|
||||||
|
23
acinclude.m4
23
acinclude.m4
@ -51,12 +51,12 @@ AC_DEFUN([TOR_TRY_COMPILE_WITH_CFLAGS], [
|
|||||||
AC_CACHE_CHECK([whether the compiler accepts $1], VAR, [
|
AC_CACHE_CHECK([whether the compiler accepts $1], VAR, [
|
||||||
tor_saved_CFLAGS="$CFLAGS"
|
tor_saved_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS -pedantic -Werror $1"
|
CFLAGS="$CFLAGS -pedantic -Werror $1"
|
||||||
AC_TRY_COMPILE([], [return 0;],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||||
[AS_VAR_SET(VAR,yes)],
|
[AS_VAR_SET(VAR,yes)],
|
||||||
[AS_VAR_SET(VAR,no)])
|
[AS_VAR_SET(VAR,no)])
|
||||||
if test x$2 != x; then
|
if test x$2 != x; then
|
||||||
AS_VAR_PUSHDEF([can_link],[tor_can_link_$1])
|
AS_VAR_PUSHDEF([can_link],[tor_can_link_$1])
|
||||||
AC_TRY_LINK([], [return 0;],
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||||
[AS_VAR_SET(can_link,yes)],
|
[AS_VAR_SET(can_link,yes)],
|
||||||
[AS_VAR_SET(can_link,no)])
|
[AS_VAR_SET(can_link,no)])
|
||||||
AS_VAR_POPDEF([can_link])
|
AS_VAR_POPDEF([can_link])
|
||||||
@ -93,7 +93,7 @@ AC_DEFUN([TOR_CHECK_LDFLAGS], [
|
|||||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [fputs("", stdout)])],
|
AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [fputs("", stdout)])],
|
||||||
[AS_VAR_SET(VAR,yes)],
|
[AS_VAR_SET(VAR,yes)],
|
||||||
[AS_VAR_SET(VAR,no)],
|
[AS_VAR_SET(VAR,no)],
|
||||||
[AC_TRY_LINK([], [return 0;],
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||||
[AS_VAR_SET(VAR,yes)],
|
[AS_VAR_SET(VAR,yes)],
|
||||||
[AS_VAR_SET(VAR,no)])])
|
[AS_VAR_SET(VAR,no)])])
|
||||||
CFLAGS="$tor_saved_CFLAGS"
|
CFLAGS="$tor_saved_CFLAGS"
|
||||||
@ -113,21 +113,21 @@ if test x$2 = xdevpkg; then
|
|||||||
h=" headers for"
|
h=" headers for"
|
||||||
fi
|
fi
|
||||||
if test -f /etc/debian_version && test x"$tor_$1_$2_debian" != x; then
|
if test -f /etc/debian_version && test x"$tor_$1_$2_debian" != x; then
|
||||||
AC_WARN([On Debian, you can install$h $1 using "apt-get install $tor_$1_$2_debian"])
|
AC_MSG_WARN([On Debian, you can install$h $1 using "apt-get install $tor_$1_$2_debian"])
|
||||||
if test x"$tor_$1_$2_debian" != x"$tor_$1_devpkg_debian"; then
|
if test x"$tor_$1_$2_debian" != x"$tor_$1_devpkg_debian"; then
|
||||||
AC_WARN([ You will probably need $tor_$1_devpkg_debian too.])
|
AC_MSG_WARN([ You will probably need $tor_$1_devpkg_debian too.])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if test -f /etc/fedora-release && test x"$tor_$1_$2_redhat" != x; then
|
if test -f /etc/fedora-release && test x"$tor_$1_$2_redhat" != x; then
|
||||||
AC_WARN([On Fedora, you can install$h $1 using "dnf install $tor_$1_$2_redhat"])
|
AC_MSG_WARN([On Fedora, you can install$h $1 using "dnf install $tor_$1_$2_redhat"])
|
||||||
if test x"$tor_$1_$2_redhat" != x"$tor_$1_devpkg_redhat"; then
|
if test x"$tor_$1_$2_redhat" != x"$tor_$1_devpkg_redhat"; then
|
||||||
AC_WARN([ You will probably need to install $tor_$1_devpkg_redhat too.])
|
AC_MSG_WARN([ You will probably need to install $tor_$1_devpkg_redhat too.])
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if test -f /etc/redhat-release && test x"$tor_$1_$2_redhat" != x; then
|
if test -f /etc/redhat-release && test x"$tor_$1_$2_redhat" != x; then
|
||||||
AC_WARN([On most Redhat-based systems, you can get$h $1 by installing the $tor_$1_$2_redhat RPM package])
|
AC_MSG_WARN([On most Redhat-based systems, you can get$h $1 by installing the $tor_$1_$2_redhat RPM package])
|
||||||
if test x"$tor_$1_$2_redhat" != x"$tor_$1_devpkg_redhat"; then
|
if test x"$tor_$1_$2_redhat" != x"$tor_$1_devpkg_redhat"; then
|
||||||
AC_WARN([ You will probably need to install $tor_$1_devpkg_redhat too.])
|
AC_MSG_WARN([ You will probably need to install $tor_$1_devpkg_redhat too.])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -245,7 +245,10 @@ if test "$cross_compiling" != yes; then
|
|||||||
LDFLAGS="$tor_tryextra $orig_LDFLAGS"
|
LDFLAGS="$tor_tryextra $orig_LDFLAGS"
|
||||||
fi
|
fi
|
||||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([$5], [$6])],
|
AC_RUN_IFELSE([AC_LANG_PROGRAM([$5], [$6])],
|
||||||
[runnable=yes], [runnable=no])
|
[runnable=yes], [runnable=no],
|
||||||
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||||
|
[runnable=yes],
|
||||||
|
[runnable=no])])
|
||||||
if test "$runnable" = yes; then
|
if test "$runnable" = yes; then
|
||||||
tor_cv_library_$1_linker_option=$tor_tryextra
|
tor_cv_library_$1_linker_option=$tor_tryextra
|
||||||
break
|
break
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [ -x "`which autoreconf 2>/dev/null`" ] ; then
|
if [ -x "`which autoreconf 2>/dev/null`" ] ; then
|
||||||
opt="-if"
|
opt="-i -f -W all,error"
|
||||||
|
|
||||||
for i in $@; do
|
for i in $@; do
|
||||||
case "$i" in
|
case "$i" in
|
||||||
-v)
|
-v)
|
||||||
opt=$opt"v"
|
opt="${opt} -v"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
4
changes/ticket20990
Normal file
4
changes/ticket20990
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
o Minor bugfixes (build):
|
||||||
|
- Replace obsolete Autoconf macros with their modern equivalent and
|
||||||
|
prevent similar issues in the future. Fixes bug 20990; bugfix on
|
||||||
|
0.1.0.1-rc.
|
52
configure.ac
52
configure.ac
@ -11,7 +11,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
|||||||
# "foreign" means we don't follow GNU package layout standards
|
# "foreign" means we don't follow GNU package layout standards
|
||||||
# "1.11" means we require automake version 1.11 or newer
|
# "1.11" means we require automake version 1.11 or newer
|
||||||
# "subdir-objects" means put .o files in the same directory as the .c files
|
# "subdir-objects" means put .o files in the same directory as the .c files
|
||||||
AM_INIT_AUTOMAKE([foreign 1.11 subdir-objects])
|
AM_INIT_AUTOMAKE([foreign 1.11 subdir-objects -Wall -Werror])
|
||||||
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||||
AC_CONFIG_HEADERS([orconfig.h])
|
AC_CONFIG_HEADERS([orconfig.h])
|
||||||
@ -170,11 +170,15 @@ AC_ARG_ENABLE(seccomp,
|
|||||||
AC_ARG_ENABLE(libscrypt,
|
AC_ARG_ENABLE(libscrypt,
|
||||||
AS_HELP_STRING(--disable-libscrypt, [do not attempt to use libscrypt]))
|
AS_HELP_STRING(--disable-libscrypt, [do not attempt to use libscrypt]))
|
||||||
|
|
||||||
dnl check for the correct "ar" when cross-compiling
|
dnl check for the correct "ar" when cross-compiling.
|
||||||
AN_MAKEVAR([AR], [AC_PROG_AR])
|
dnl (AM_PROG_AR was new in automake 1.11.2, which we do not yet require,
|
||||||
AN_PROGRAM([ar], [AC_PROG_AR])
|
dnl so kludge up a replacement for the case where it isn't there yet.)
|
||||||
AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL([AR], [ar], [ar])])
|
m4_ifdef([AM_PROG_AR],
|
||||||
AC_PROG_AR
|
[AM_PROG_AR],
|
||||||
|
[AN_MAKEVAR([AR], [AC_PROG_AR])
|
||||||
|
AN_PROGRAM([ar], [AC_PROG_AR])
|
||||||
|
AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL([AR], [ar], [:])])
|
||||||
|
AC_PROG_AR])
|
||||||
|
|
||||||
dnl Check whether the above macro has settled for a simply named tool even
|
dnl Check whether the above macro has settled for a simply named tool even
|
||||||
dnl though we're cross compiling. We must do this before running AC_PROG_CC,
|
dnl though we're cross compiling. We must do this before running AC_PROG_CC,
|
||||||
@ -194,14 +198,12 @@ AC_PROG_CC
|
|||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
|
AC_PROG_SED
|
||||||
|
|
||||||
AC_ARG_VAR([PERL], [path to Perl binary])
|
AC_ARG_VAR([PERL], [path to Perl binary])
|
||||||
AC_CHECK_PROGS([PERL], [perl])
|
AC_CHECK_PROGS([PERL], [perl])
|
||||||
AM_CONDITIONAL(USE_PERL, [test "x$ac_cv_prog_PERL" != "x"])
|
AM_CONDITIONAL(USE_PERL, [test "x$ac_cv_prog_PERL" != "x"])
|
||||||
|
|
||||||
dnl autoconf 2.59 appears not to support AC_PROG_SED
|
|
||||||
AC_CHECK_PROG([SED],[sed],[sed],[/bin/false])
|
|
||||||
|
|
||||||
dnl check for asciidoc and a2x
|
dnl check for asciidoc and a2x
|
||||||
AC_PATH_PROG([ASCIIDOC], [asciidoc], none)
|
AC_PATH_PROG([ASCIIDOC], [asciidoc], none)
|
||||||
AC_PATH_PROGS([A2X], [a2x a2x.py], none)
|
AC_PATH_PROGS([A2X], [a2x a2x.py], none)
|
||||||
@ -426,7 +428,7 @@ AC_CHECK_FUNCS(
|
|||||||
# checks. So we should only probe for those functions if we are sure that we
|
# checks. So we should only probe for those functions if we are sure that we
|
||||||
# are not targetting OSX 10.11 or earlier.
|
# are not targetting OSX 10.11 or earlier.
|
||||||
AC_MSG_CHECKING([for a pre-Sierra OSX build target])
|
AC_MSG_CHECKING([for a pre-Sierra OSX build target])
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
# include <AvailabilityMacros.h>
|
# include <AvailabilityMacros.h>
|
||||||
# ifndef MAC_OS_X_VERSION_10_12
|
# ifndef MAC_OS_X_VERSION_10_12
|
||||||
@ -438,7 +440,7 @@ AC_TRY_COMPILE([
|
|||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
], [],
|
]], [[]])],
|
||||||
[on_macos_pre_10_12=no ; AC_MSG_RESULT([no])],
|
[on_macos_pre_10_12=no ; AC_MSG_RESULT([no])],
|
||||||
[on_macos_pre_10_12=yes; AC_MSG_RESULT([yes])])
|
[on_macos_pre_10_12=yes; AC_MSG_RESULT([yes])])
|
||||||
|
|
||||||
@ -638,16 +640,16 @@ LIBS="$TOR_OPENSSL_LIBS $LIBS"
|
|||||||
LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS"
|
LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS"
|
||||||
CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS"
|
CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS"
|
||||||
|
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <openssl/opensslv.h>
|
#include <openssl/opensslv.h>
|
||||||
#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1000100fL
|
#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1000100fL
|
||||||
#error "too old"
|
#error "too old"
|
||||||
#endif
|
#endif
|
||||||
], [],
|
]], [[]])],
|
||||||
[ : ],
|
[ : ],
|
||||||
[ AC_ERROR([OpenSSL is too old. We require 1.0.1 or later. You can specify a path to a newer one with --with-openssl-dir.]) ])
|
[ AC_MSG_ERROR([OpenSSL is too old. We require 1.0.1 or later. You can specify a path to a newer one with --with-openssl-dir.]) ])
|
||||||
|
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <openssl/opensslv.h>
|
#include <openssl/opensslv.h>
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#if defined(OPENSSL_NO_EC) || defined(OPENSSL_NO_ECDH) || defined(OPENSSL_NO_ECDSA)
|
#if defined(OPENSSL_NO_EC) || defined(OPENSSL_NO_ECDH) || defined(OPENSSL_NO_ECDSA)
|
||||||
@ -656,9 +658,9 @@ AC_TRY_COMPILE([
|
|||||||
#if !defined(NID_X9_62_prime256v1) || !defined(NID_secp224r1)
|
#if !defined(NID_X9_62_prime256v1) || !defined(NID_secp224r1)
|
||||||
#error "curves unavailable"
|
#error "curves unavailable"
|
||||||
#endif
|
#endif
|
||||||
], [],
|
]], [[]])],
|
||||||
[ : ],
|
[ : ],
|
||||||
[ AC_ERROR([OpenSSL is built without full ECC support, including curves P256 and P224. You can specify a path to one with ECC support with --with-openssl-dir.]) ])
|
[ AC_MSG_ERROR([OpenSSL is built without full ECC support, including curves P256 and P224. You can specify a path to one with ECC support with --with-openssl-dir.]) ])
|
||||||
|
|
||||||
AC_CHECK_MEMBERS([struct ssl_method_st.get_cipher_by_char], , ,
|
AC_CHECK_MEMBERS([struct ssl_method_st.get_cipher_by_char], , ,
|
||||||
[#include <openssl/ssl.h>
|
[#include <openssl/ssl.h>
|
||||||
@ -1463,9 +1465,9 @@ AC_CHECK_FUNC(gethostbyname_r, [
|
|||||||
AC_MSG_CHECKING([how many arguments gethostbyname_r() wants])
|
AC_MSG_CHECKING([how many arguments gethostbyname_r() wants])
|
||||||
OLD_CFLAGS=$CFLAGS
|
OLD_CFLAGS=$CFLAGS
|
||||||
CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS"
|
CFLAGS="$CFLAGS $MY_CPPFLAGS $MY_THREAD_CPPFLAGS $MY_CFLAGS"
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
], [[
|
]], [[
|
||||||
char *cp1, *cp2;
|
char *cp1, *cp2;
|
||||||
struct hostent *h1, *h2;
|
struct hostent *h1, *h2;
|
||||||
int i1, i2;
|
int i1, i2;
|
||||||
@ -1476,27 +1478,27 @@ AC_CHECK_FUNC(gethostbyname_r, [
|
|||||||
[Define this if gethostbyname_r takes 6 arguments])
|
[Define this if gethostbyname_r takes 6 arguments])
|
||||||
AC_MSG_RESULT(6)
|
AC_MSG_RESULT(6)
|
||||||
], [
|
], [
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
], [
|
]], [[
|
||||||
char *cp1, *cp2;
|
char *cp1, *cp2;
|
||||||
struct hostent *h1;
|
struct hostent *h1;
|
||||||
int i1, i2;
|
int i1, i2;
|
||||||
(void)gethostbyname_r(cp1,h1,cp2,i1,&i2);
|
(void)gethostbyname_r(cp1,h1,cp2,i1,&i2);
|
||||||
], [
|
]])], [
|
||||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R)
|
AC_DEFINE(HAVE_GETHOSTBYNAME_R)
|
||||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARG, 1,
|
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARG, 1,
|
||||||
[Define this if gethostbyname_r takes 5 arguments])
|
[Define this if gethostbyname_r takes 5 arguments])
|
||||||
AC_MSG_RESULT(5)
|
AC_MSG_RESULT(5)
|
||||||
], [
|
], [
|
||||||
AC_TRY_COMPILE([
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
], [
|
]], [[
|
||||||
char *cp1;
|
char *cp1;
|
||||||
struct hostent *h1;
|
struct hostent *h1;
|
||||||
struct hostent_data hd;
|
struct hostent_data hd;
|
||||||
(void) gethostbyname_r(cp1,h1,&hd);
|
(void) gethostbyname_r(cp1,h1,&hd);
|
||||||
], [
|
]])], [
|
||||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R)
|
AC_DEFINE(HAVE_GETHOSTBYNAME_R)
|
||||||
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARG, 1,
|
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARG, 1,
|
||||||
[Define this if gethostbyname_r takes 3 arguments])
|
[Define this if gethostbyname_r takes 3 arguments])
|
||||||
|
@ -41,8 +41,8 @@ AU_ALIAS([VL_CHECK_SIGN], [AX_CHECK_SIGN])
|
|||||||
AC_DEFUN([AX_CHECK_SIGN], [
|
AC_DEFUN([AX_CHECK_SIGN], [
|
||||||
typename=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g"`
|
typename=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g"`
|
||||||
AC_CACHE_CHECK([whether $1 is signed], ax_cv_decl_${typename}_signed, [
|
AC_CACHE_CHECK([whether $1 is signed], ax_cv_decl_${typename}_signed, [
|
||||||
AC_TRY_COMPILE([$4],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$4]],
|
||||||
[ int foo @<:@ 1 - 2 * !((($1) -1) < 0) @:>@ ],
|
[[ int foo @<:@ 1 - 2 * !((($1) -1) < 0) @:>@ ]])],
|
||||||
[ eval "ax_cv_decl_${typename}_signed=\"yes\"" ],
|
[ eval "ax_cv_decl_${typename}_signed=\"yes\"" ],
|
||||||
[ eval "ax_cv_decl_${typename}_signed=\"no\"" ])])
|
[ eval "ax_cv_decl_${typename}_signed=\"no\"" ])])
|
||||||
symbolname=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g" | tr "a-z" "A-Z"`
|
symbolname=`echo $1 | sed "s/@<:@^a-zA-Z0-9_@:>@/_/g" | tr "a-z" "A-Z"`
|
||||||
|
@ -79,29 +79,29 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
|
|||||||
if ! $pc_field_found; then
|
if ! $pc_field_found; then
|
||||||
# Prefer sys/ucontext.h to ucontext.h, for OS X's sake.
|
# Prefer sys/ucontext.h to ucontext.h, for OS X's sake.
|
||||||
if test "x$ac_cv_header_cygwin_signal_h" = xyes; then
|
if test "x$ac_cv_header_cygwin_signal_h" = xyes; then
|
||||||
AC_TRY_COMPILE([#include <cygwin/signal.h>],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <cygwin/signal.h>]],
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
[[ucontext_t u; return u.$pc_field == 0;]])],
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
||||||
How to access the PC from a struct ucontext)
|
How to access the PC from a struct ucontext)
|
||||||
AC_MSG_RESULT([$pc_field])
|
AC_MSG_RESULT([$pc_field])
|
||||||
pc_field_found=true)
|
pc_field_found=true)
|
||||||
elif test "x$ac_cv_header_sys_ucontext_h" = xyes; then
|
elif test "x$ac_cv_header_sys_ucontext_h" = xyes; then
|
||||||
AC_TRY_COMPILE([#include <sys/ucontext.h>],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/ucontext.h>]],
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
[[ucontext_t u; return u.$pc_field == 0;]])],
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
||||||
How to access the PC from a struct ucontext)
|
How to access the PC from a struct ucontext)
|
||||||
AC_MSG_RESULT([$pc_field])
|
AC_MSG_RESULT([$pc_field])
|
||||||
pc_field_found=true)
|
pc_field_found=true)
|
||||||
elif test "x$ac_cv_header_ucontext_h" = xyes; then
|
elif test "x$ac_cv_header_ucontext_h" = xyes; then
|
||||||
AC_TRY_COMPILE([#include <ucontext.h>],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <ucontext.h>]],
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
[[ucontext_t u; return u.$pc_field == 0;]])],
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
||||||
How to access the PC from a struct ucontext)
|
How to access the PC from a struct ucontext)
|
||||||
AC_MSG_RESULT([$pc_field])
|
AC_MSG_RESULT([$pc_field])
|
||||||
pc_field_found=true)
|
pc_field_found=true)
|
||||||
else # hope some standard header gives it to us
|
else # hope some standard header gives it to us
|
||||||
AC_TRY_COMPILE([],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
[[ucontext_t u; return u.$pc_field == 0;]])],
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
||||||
How to access the PC from a struct ucontext)
|
How to access the PC from a struct ucontext)
|
||||||
AC_MSG_RESULT([$pc_field])
|
AC_MSG_RESULT([$pc_field])
|
||||||
@ -114,8 +114,8 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
|
|||||||
pc_fields="$pc_fields sc_rip" # OpenBSD (x86_64)
|
pc_fields="$pc_fields sc_rip" # OpenBSD (x86_64)
|
||||||
for pc_field in $pc_fields; do
|
for pc_field in $pc_fields; do
|
||||||
if ! $pc_field_found; then
|
if ! $pc_field_found; then
|
||||||
AC_TRY_COMPILE([#include <signal.h>],
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]],
|
||||||
[ucontext_t u; return u.$pc_field == 0;],
|
[[ucontext_t u; return u.$pc_field == 0;]])],
|
||||||
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
|
||||||
How to access the PC from a struct ucontext)
|
How to access the PC from a struct ucontext)
|
||||||
AC_MSG_RESULT([$pc_field])
|
AC_MSG_RESULT([$pc_field])
|
||||||
|
Loading…
Reference in New Issue
Block a user