mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Update configure.in to check for both stdatomic.h and __atomic builtins
This commit is contained in:
@@ -392,6 +392,9 @@
|
|||||||
/* Define to 1 if you have the `sigwait' function. */
|
/* Define to 1 if you have the `sigwait' function. */
|
||||||
#undef HAVE_SIGWAIT
|
#undef HAVE_SIGWAIT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdatomic.h> header file. */
|
||||||
|
#undef HAVE_STDATOMIC_H
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdint.h> header file. */
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
#undef HAVE_STDINT_H
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
@@ -464,6 +467,9 @@
|
|||||||
/* Define if zlib was found */
|
/* Define if zlib was found */
|
||||||
#undef HAVE_ZLIB
|
#undef HAVE_ZLIB
|
||||||
|
|
||||||
|
/* define if __atomic builtins are not available */
|
||||||
|
#undef HAVE___ATOMIC
|
||||||
|
|
||||||
/* Define if __thread keyword is available */
|
/* Define if __thread keyword is available */
|
||||||
#undef HAVE___THREAD
|
#undef HAVE___THREAD
|
||||||
|
|
||||||
@@ -524,9 +530,6 @@
|
|||||||
your system. */
|
your system. */
|
||||||
#undef PTHREAD_CREATE_JOINABLE
|
#undef PTHREAD_CREATE_JOINABLE
|
||||||
|
|
||||||
/* The size of `void *', as computed by sizeof. */
|
|
||||||
#undef SIZEOF_VOID_P
|
|
||||||
|
|
||||||
/* Define to 1 if you have the ANSI C header files. */
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
#undef STDC_HEADERS
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
456
configure
vendored
456
configure
vendored
@@ -707,16 +707,6 @@ DNSTAP
|
|||||||
FSTRM_CAPTURE
|
FSTRM_CAPTURE
|
||||||
PROTOC_C
|
PROTOC_C
|
||||||
ISC_PLATFORM_BUSYWAITNOP
|
ISC_PLATFORM_BUSYWAITNOP
|
||||||
ISC_ARCH_DIR
|
|
||||||
ISC_PLATFORM_USEMACASM
|
|
||||||
ISC_PLATFORM_USESTDASM
|
|
||||||
ISC_PLATFORM_USEGCCASM
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTORE
|
|
||||||
ISC_PLATFORM_HAVECMPXCHG
|
|
||||||
ISC_PLATFORM_HAVEXADDQ
|
|
||||||
ISC_PLATFORM_HAVEXADD
|
|
||||||
ISC_PLATFORM_HAVESTDATOMIC
|
|
||||||
ISC_PLATFORM_HAVEIFNAMETOINDEX
|
ISC_PLATFORM_HAVEIFNAMETOINDEX
|
||||||
ISC_PLATFORM_HAVESTRINGSH
|
ISC_PLATFORM_HAVESTRINGSH
|
||||||
IRS_PLATFORM_USEDECLSPEC
|
IRS_PLATFORM_USEDECLSPEC
|
||||||
@@ -947,7 +937,6 @@ with_readline
|
|||||||
enable_isc_spnego
|
enable_isc_spnego
|
||||||
enable_chroot
|
enable_chroot
|
||||||
enable_linux_caps
|
enable_linux_caps
|
||||||
enable_atomic
|
|
||||||
enable_fixed_rrset
|
enable_fixed_rrset
|
||||||
enable_rpz_nsip
|
enable_rpz_nsip
|
||||||
enable_rpz_nsdname
|
enable_rpz_nsdname
|
||||||
@@ -1635,8 +1624,6 @@ Optional Features:
|
|||||||
--disable-isc-spnego use SPNEGO from GSSAPI library
|
--disable-isc-spnego use SPNEGO from GSSAPI library
|
||||||
--disable-chroot disable chroot
|
--disable-chroot disable chroot
|
||||||
--disable-linux-caps disable Linux capabilities
|
--disable-linux-caps disable Linux capabilities
|
||||||
--enable-atomic enable machine specific atomic operations
|
|
||||||
[default=autodetect]
|
|
||||||
--enable-fixed-rrset enable fixed rrset ordering [default=no]
|
--enable-fixed-rrset enable fixed rrset ordering [default=no]
|
||||||
--disable-rpz-nsip disable rpz nsip rules [default=enabled]
|
--disable-rpz-nsip disable rpz nsip rules [default=enabled]
|
||||||
--disable-rpz-nsdname disable rpz nsdname rules [default=enabled]
|
--disable-rpz-nsdname disable rpz nsdname rules [default=enabled]
|
||||||
@@ -2226,189 +2213,6 @@ $as_echo "$ac_res" >&6; }
|
|||||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||||
|
|
||||||
} # ac_fn_c_check_type
|
} # ac_fn_c_check_type
|
||||||
|
|
||||||
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
|
|
||||||
# --------------------------------------------
|
|
||||||
# Tries to find the compile-time value of EXPR in a program that includes
|
|
||||||
# INCLUDES, setting VAR accordingly. Returns whether the value could be
|
|
||||||
# computed
|
|
||||||
ac_fn_c_compute_int ()
|
|
||||||
{
|
|
||||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
||||||
if test "$cross_compiling" = yes; then
|
|
||||||
# Depending upon the size, compute the lo and hi bounds.
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) >= 0)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_lo=0 ac_mid=0
|
|
||||||
while :; do
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=$ac_mid; break
|
|
||||||
else
|
|
||||||
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
|
|
||||||
if test $ac_lo -le $ac_mid; then
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
else
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) < 0)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=-1 ac_mid=-1
|
|
||||||
while :; do
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_lo=$ac_mid; break
|
|
||||||
else
|
|
||||||
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
|
|
||||||
if test $ac_mid -le $ac_hi; then
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
else
|
|
||||||
ac_lo= ac_hi=
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
# Binary search between lo and hi bounds.
|
|
||||||
while test "x$ac_lo" != "x$ac_hi"; do
|
|
||||||
as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
|
|
||||||
test_array [0] = 0;
|
|
||||||
return test_array [0];
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
ac_hi=$ac_mid
|
|
||||||
else
|
|
||||||
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
done
|
|
||||||
case $ac_lo in #((
|
|
||||||
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
|
|
||||||
'') ac_retval=1 ;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
$4
|
|
||||||
static long int longval () { return $2; }
|
|
||||||
static unsigned long int ulongval () { return $2; }
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
|
|
||||||
FILE *f = fopen ("conftest.val", "w");
|
|
||||||
if (! f)
|
|
||||||
return 1;
|
|
||||||
if (($2) < 0)
|
|
||||||
{
|
|
||||||
long int i = longval ();
|
|
||||||
if (i != ($2))
|
|
||||||
return 1;
|
|
||||||
fprintf (f, "%ld", i);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
unsigned long int i = ulongval ();
|
|
||||||
if (i != ($2))
|
|
||||||
return 1;
|
|
||||||
fprintf (f, "%lu", i);
|
|
||||||
}
|
|
||||||
/* Do not output a trailing newline, as this causes \r\n confusion
|
|
||||||
on some platforms. */
|
|
||||||
return ferror (f) || fclose (f) != 0;
|
|
||||||
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_run "$LINENO"; then :
|
|
||||||
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
|
|
||||||
else
|
|
||||||
ac_retval=1
|
|
||||||
fi
|
|
||||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
|
||||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
|
||||||
rm -f conftest.val
|
|
||||||
|
|
||||||
fi
|
|
||||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
||||||
as_fn_set_status $ac_retval
|
|
||||||
|
|
||||||
} # ac_fn_c_compute_int
|
|
||||||
cat >config.log <<_ACEOF
|
cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
@@ -18424,22 +18228,22 @@ fi
|
|||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
#
|
ISC_ATOMIC_LIBS=""
|
||||||
# Machine architecture dependent features
|
for ac_header in stdatomic.h
|
||||||
#
|
do :
|
||||||
have_stdatomic=no
|
ac_fn_c_check_header_mongrel "$LINENO" "stdatomic.h" "ac_cv_header_stdatomic_h" "$ac_includes_default"
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable stdatomic.h" >&5
|
if test "x$ac_cv_header_stdatomic_h" = xyes; then :
|
||||||
$as_echo_n "checking for usable stdatomic.h... " >&6; }
|
cat >>confdefs.h <<_ACEOF
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
#define HAVE_STDATOMIC_H 1
|
||||||
|
_ACEOF
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for memory model aware atomic operations" >&5
|
||||||
|
$as_echo_n "checking for memory model aware atomic operations... " >&6; }
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdatomic.h>
|
#include <stdatomic.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
|
|
||||||
atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
|
atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
|
||||||
|
|
||||||
;
|
;
|
||||||
@@ -18447,47 +18251,18 @@ atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_rel
|
|||||||
}
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: stdatomic.h" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "stdatomic.h" >&6; }
|
||||||
have_stdatomic=yes
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -latomic is needed for 64-bit stdatomic.h functions" >&5
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#define ISC_PLATFORM_HAVESTDATOMIC 1"
|
$as_echo_n "checking whether -latomic is needed for 64-bit stdatomic.h functions... " >&6; }
|
||||||
else
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
have_stdatomic=no
|
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
|
|
||||||
# Check whether --enable-atomic was given.
|
|
||||||
if test "${enable_atomic+set}" = set; then :
|
|
||||||
enableval=$enable_atomic; enable_atomic="$enableval"
|
|
||||||
else
|
|
||||||
enable_atomic="autodetect"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$enable_atomic" in
|
|
||||||
yes|''|autodetect)
|
|
||||||
use_atomic=yes
|
|
||||||
;;
|
|
||||||
no)
|
|
||||||
have_stdatomic=no
|
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
|
|
||||||
use_atomic=no
|
|
||||||
arch=noatomic
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test "X$have_stdatomic" = "Xyes"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -latomic is needed to use 64-bit stdatomic.h primitives" >&5
|
|
||||||
$as_echo_n "checking if -latomic is needed to use 64-bit stdatomic.h primitives... " >&6; }
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
#include <stdatomic.h>
|
#include <stdatomic.h>
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
|
atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
|
||||||
|
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -18495,7 +18270,6 @@ _ACEOF
|
|||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
$as_echo "no" >&6; }
|
$as_echo "no" >&6; }
|
||||||
ISC_ATOMIC_LIBS=""
|
|
||||||
else
|
else
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "yes" >&6; }
|
$as_echo "yes" >&6; }
|
||||||
@@ -18504,206 +18278,74 @@ $as_echo "yes" >&6; }
|
|||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
LIBS="$LIBS $ISC_ATOMIC_LIBS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ISC_PLATFORM_USEGCCASM="#undef ISC_PLATFORM_USEGCCASM"
|
|
||||||
ISC_PLATFORM_USESTDASM="#undef ISC_PLATFORM_USESTDASM"
|
|
||||||
ISC_PLATFORM_USEMACASM="#undef ISC_PLATFORM_USEMACASM"
|
|
||||||
if test "yes" = "$use_atomic"; then
|
|
||||||
# The cast to long int works around a bug in the HP C Compiler
|
|
||||||
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
|
|
||||||
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
|
|
||||||
# This bug is HP SR number 8606223364.
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
|
|
||||||
$as_echo_n "checking size of void *... " >&6; }
|
|
||||||
if ${ac_cv_sizeof_void_p+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
|
|
||||||
|
|
||||||
else
|
else
|
||||||
if test "$ac_cv_type_void_p" = yes; then
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
||||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
as_fn_error 77 "cannot compute sizeof (void *)
|
as_fn_error $? "stdatomic.h header found, but compilation failed, fix your toolchaing.
|
||||||
See \`config.log' for more details" "$LINENO" 5; }
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
else
|
|
||||||
ac_cv_sizeof_void_p=0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
$as_echo "$ac_cv_sizeof_void_p" >&6; }
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for memory model aware atomic operations" >&5
|
||||||
|
$as_echo_n "checking for memory model aware atomic operations... " >&6; }
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
cat >>confdefs.h <<_ACEOF
|
|
||||||
#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
|
|
||||||
have_atomic=yes # set default
|
|
||||||
case "$host" in
|
|
||||||
i[3456]86-*)
|
|
||||||
# XXX: some old x86 architectures actually do not support
|
|
||||||
# (some of) these operations. Do we need stricter checks?
|
|
||||||
if test $ac_cv_sizeof_void_p = 8; then
|
|
||||||
arch=x86_64
|
|
||||||
have_xaddq=yes
|
|
||||||
else
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
x86_64-*|amd64-*)
|
|
||||||
if test $ac_cv_sizeof_void_p = 8; then
|
|
||||||
arch=x86_64
|
|
||||||
have_xaddq=yes
|
|
||||||
else
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
powerpc-*|powerpc64-*)
|
|
||||||
arch=powerpc
|
|
||||||
;;
|
|
||||||
mips-*|mipsel-*|mips64-*|mips64el-*)
|
|
||||||
arch=mips
|
|
||||||
;;
|
|
||||||
ia64-*)
|
|
||||||
arch=ia64
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
have_atomic=no
|
|
||||||
arch=noatomic
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking architecture type for atomic operations" >&5
|
|
||||||
$as_echo_n "checking architecture type for atomic operations... " >&6; }
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $arch" >&5
|
|
||||||
$as_echo "$arch" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "yes" = "$have_atomic"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler support for inline assembly code" >&5
|
|
||||||
$as_echo_n "checking compiler support for inline assembly code... " >&6; }
|
|
||||||
|
|
||||||
compiler=generic
|
|
||||||
# Check whether the compiler supports the assembly syntax we provide.
|
|
||||||
if test "X$GCC" = "Xyes"; then
|
|
||||||
# GCC's ASM extension always works
|
|
||||||
compiler=gcc
|
|
||||||
if test $arch = "x86_64"; then
|
|
||||||
# We can share the same code for gcc with x86_32
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
if test $arch = "powerpc"; then
|
|
||||||
#
|
|
||||||
# The MacOS (and maybe others) uses "r0" for register
|
|
||||||
# zero. Under linux/ibm it is "0" for register 0.
|
|
||||||
# Probe to see if we have a MacOS style assembler.
|
|
||||||
#
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for MacOS style assembler syntax" >&5
|
|
||||||
$as_echo_n "checking Checking for MacOS style assembler syntax... " >&6; }
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
#include <inttypes.h>
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
|
int32_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);
|
||||||
__asm__ volatile ("li r0, 0x0\n"::);
|
|
||||||
|
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_compile "$LINENO"; then :
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: __atomic builtins" >&5
|
||||||
|
$as_echo "__atomic builtins" >&6; }
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
$as_echo "#define HAVE___ATOMIC 1" >>confdefs.h
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
compiler="mac"
|
|
||||||
ISC_PLATFORM_USEMACASM="#define ISC_PLATFORM_USEMACASM 1"
|
|
||||||
|
|
||||||
else
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -latomic is needed for 64-bit __atomic builtins" >&5
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
$as_echo_n "checking whether -latomic is needed for 64-bit __atomic builtins... " >&6; }
|
||||||
$as_echo "no" >&6; }
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
case "$compiler" in
|
|
||||||
gcc)
|
|
||||||
ISC_PLATFORM_USEGCCASM="#define ISC_PLATFORM_USEGCCASM 1"
|
|
||||||
;;
|
|
||||||
mac)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# See if the generic __asm function works. If not,
|
|
||||||
# we need to disable the atomic operations.
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
#include <inttypes.h>
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
{
|
{
|
||||||
|
int64_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);
|
||||||
__asm("nop")
|
|
||||||
|
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
compiler="standard"
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
ISC_PLATFORM_USESTDASM="#define ISC_PLATFORM_USESTDASM 1"
|
$as_echo "no" >&6; }
|
||||||
else
|
else
|
||||||
compiler="not supported (atomic operations disabled)"
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
have_atomic=no
|
$as_echo "yes" >&6; }
|
||||||
arch=noatomic
|
ISC_ATOMIC_LIBS="-latomic"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext;
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $compiler" >&5
|
|
||||||
$as_echo "$compiler" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "yes" = "$have_atomic"; then
|
|
||||||
ISC_PLATFORM_HAVEXADD="#define ISC_PLATFORM_HAVEXADD 1"
|
|
||||||
ISC_PLATFORM_HAVECMPXCHG="#define ISC_PLATFORM_HAVECMPXCHG 1"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTORE="#define ISC_PLATFORM_HAVEATOMICSTORE 1"
|
|
||||||
if test "yes" = "$have_xaddq"; then
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#define ISC_PLATFORM_HAVEXADDQ 1"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#define ISC_PLATFORM_HAVEATOMICSTOREQ 1"
|
|
||||||
else
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#undef ISC_PLATFORM_HAVEATOMICSTOREQ"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
ISC_PLATFORM_HAVEXADD="#undef ISC_PLATFORM_HAVEXADD"
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: __sync builtins" >&5
|
||||||
ISC_PLATFORM_HAVECMPXCHG="#undef ISC_PLATFORM_HAVECMPXCHG"
|
$as_echo "__sync builtins" >&6; }
|
||||||
ISC_PLATFORM_HAVEATOMICSTORE="#undef ISC_PLATFORM_HAVEATOMICSTORE"
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
|
fi
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#undef ISC_PLATFORM_HAVEATOMICSTOREQ"
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
LIBS="$LIBS $ISC_ATOMIC_LIBS"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ISC_ARCH_DIR=$arch
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check for __builtin_expect
|
# Check for __builtin_expect
|
||||||
|
222
configure.in
222
configure.in
@@ -2226,182 +2226,52 @@ AC_SUBST(ISC_PLATFORM_HAVEIFNAMETOINDEX)
|
|||||||
|
|
||||||
AC_CHECK_FUNCS(nanosleep usleep explicit_bzero)
|
AC_CHECK_FUNCS(nanosleep usleep explicit_bzero)
|
||||||
|
|
||||||
#
|
ISC_ATOMIC_LIBS=""
|
||||||
# Machine architecture dependent features
|
AC_CHECK_HEADERS(
|
||||||
#
|
[stdatomic.h],
|
||||||
have_stdatomic=no
|
[AC_MSG_CHECKING([for memory model aware atomic operations])
|
||||||
AC_MSG_CHECKING(for usable stdatomic.h)
|
AC_COMPILE_IFELSE(
|
||||||
AC_TRY_COMPILE([
|
[AC_LANG_PROGRAM(
|
||||||
#include <stdio.h>
|
[[#include <stdatomic.h>]],
|
||||||
#include <stdatomic.h>
|
[[atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]]
|
||||||
],
|
)],
|
||||||
[
|
[AC_MSG_RESULT([stdatomic.h])
|
||||||
atomic_int_fast32_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
|
AC_MSG_CHECKING([whether -latomic is needed for 64-bit stdatomic.h functions])
|
||||||
],
|
AC_LINK_IFELSE(
|
||||||
[AC_MSG_RESULT(yes)
|
[AC_LANG_PROGRAM(
|
||||||
have_stdatomic=yes
|
[[#include <stdatomic.h>]],
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#define ISC_PLATFORM_HAVESTDATOMIC 1"],
|
[[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);]]
|
||||||
[AC_MSG_RESULT(no)
|
)],
|
||||||
have_stdatomic=no
|
[AC_MSG_RESULT([no])],
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"])
|
[AC_MSG_RESULT([yes])
|
||||||
|
ISC_ATOMIC_LIBS="-latomic"
|
||||||
AC_ARG_ENABLE(atomic,
|
])
|
||||||
AS_HELP_STRING([--enable-atomic],
|
],
|
||||||
[enable machine specific atomic operations [default=autodetect]]),
|
[AC_MSG_FAILURE([stdatomic.h header found, but compilation failed, fix your toolchaing.])]
|
||||||
enable_atomic="$enableval",
|
)],
|
||||||
enable_atomic="autodetect")
|
[AC_MSG_CHECKING([for memory model aware atomic operations])
|
||||||
case "$enable_atomic" in
|
AC_COMPILE_IFELSE(
|
||||||
yes|''|autodetect)
|
[AC_LANG_PROGRAM(
|
||||||
use_atomic=yes
|
[[#include <inttypes.h>]],
|
||||||
;;
|
[[int32_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);]]
|
||||||
no)
|
)],
|
||||||
have_stdatomic=no
|
[AC_MSG_RESULT([__atomic builtins])
|
||||||
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
|
AC_DEFINE([HAVE___ATOMIC], [1], [define if __atomic builtins are not available])
|
||||||
use_atomic=no
|
AC_MSG_CHECKING([whether -latomic is needed for 64-bit __atomic builtins])
|
||||||
arch=noatomic
|
AC_LINK_IFELSE(
|
||||||
;;
|
[AC_LANG_PROGRAM(
|
||||||
esac
|
[[#include <inttypes.h>]],
|
||||||
|
[[int64_t val = 0; __atomic_fetch_add(&val, 1, __ATOMIC_RELAXED);]]
|
||||||
if test "X$have_stdatomic" = "Xyes"; then
|
)],
|
||||||
AC_MSG_CHECKING(if -latomic is needed to use 64-bit stdatomic.h primitives)
|
[AC_MSG_RESULT([no])],
|
||||||
AC_LINK_IFELSE(
|
[AC_MSG_RESULT([yes])
|
||||||
[AC_LANG_PROGRAM([#include <stdatomic.h>],
|
ISC_ATOMIC_LIBS="-latomic"
|
||||||
[atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);])],
|
])
|
||||||
[AC_MSG_RESULT(no)
|
],
|
||||||
ISC_ATOMIC_LIBS=""],
|
[AC_MSG_RESULT([__sync builtins])
|
||||||
[AC_MSG_RESULT(yes)
|
])
|
||||||
ISC_ATOMIC_LIBS="-latomic"]
|
])
|
||||||
)
|
LIBS="$LIBS $ISC_ATOMIC_LIBS"
|
||||||
LIBS="$LIBS $ISC_ATOMIC_LIBS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVESTDATOMIC)
|
|
||||||
|
|
||||||
ISC_PLATFORM_USEGCCASM="#undef ISC_PLATFORM_USEGCCASM"
|
|
||||||
ISC_PLATFORM_USESTDASM="#undef ISC_PLATFORM_USESTDASM"
|
|
||||||
ISC_PLATFORM_USEMACASM="#undef ISC_PLATFORM_USEMACASM"
|
|
||||||
if test "yes" = "$use_atomic"; then
|
|
||||||
AC_CHECK_SIZEOF([void *])
|
|
||||||
have_atomic=yes # set default
|
|
||||||
case "$host" in
|
|
||||||
[i[3456]86-*])
|
|
||||||
# XXX: some old x86 architectures actually do not support
|
|
||||||
# (some of) these operations. Do we need stricter checks?
|
|
||||||
if test $ac_cv_sizeof_void_p = 8; then
|
|
||||||
arch=x86_64
|
|
||||||
have_xaddq=yes
|
|
||||||
else
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
x86_64-*|amd64-*)
|
|
||||||
if test $ac_cv_sizeof_void_p = 8; then
|
|
||||||
arch=x86_64
|
|
||||||
have_xaddq=yes
|
|
||||||
else
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
powerpc-*|powerpc64-*)
|
|
||||||
arch=powerpc
|
|
||||||
;;
|
|
||||||
mips-*|mipsel-*|mips64-*|mips64el-*)
|
|
||||||
arch=mips
|
|
||||||
;;
|
|
||||||
ia64-*)
|
|
||||||
arch=ia64
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
have_atomic=no
|
|
||||||
arch=noatomic
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_MSG_CHECKING([architecture type for atomic operations])
|
|
||||||
AC_MSG_RESULT($arch)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "yes" = "$have_atomic"; then
|
|
||||||
AC_MSG_CHECKING([compiler support for inline assembly code])
|
|
||||||
|
|
||||||
compiler=generic
|
|
||||||
# Check whether the compiler supports the assembly syntax we provide.
|
|
||||||
if test "X$GCC" = "Xyes"; then
|
|
||||||
# GCC's ASM extension always works
|
|
||||||
compiler=gcc
|
|
||||||
if test $arch = "x86_64"; then
|
|
||||||
# We can share the same code for gcc with x86_32
|
|
||||||
arch=x86_32
|
|
||||||
fi
|
|
||||||
if test $arch = "powerpc"; then
|
|
||||||
#
|
|
||||||
# The MacOS (and maybe others) uses "r0" for register
|
|
||||||
# zero. Under linux/ibm it is "0" for register 0.
|
|
||||||
# Probe to see if we have a MacOS style assembler.
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([Checking for MacOS style assembler syntax])
|
|
||||||
AC_TRY_COMPILE(, [
|
|
||||||
__asm__ volatile ("li r0, 0x0\n"::);
|
|
||||||
], [
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
compiler="mac"
|
|
||||||
ISC_PLATFORM_USEMACASM="#define ISC_PLATFORM_USEMACASM 1"
|
|
||||||
], [AC_MSG_RESULT(no)])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
case "$compiler" in
|
|
||||||
gcc)
|
|
||||||
ISC_PLATFORM_USEGCCASM="#define ISC_PLATFORM_USEGCCASM 1"
|
|
||||||
;;
|
|
||||||
mac)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# See if the generic __asm function works. If not,
|
|
||||||
# we need to disable the atomic operations.
|
|
||||||
AC_TRY_LINK(, [
|
|
||||||
__asm("nop")
|
|
||||||
],
|
|
||||||
[compiler="standard"
|
|
||||||
ISC_PLATFORM_USESTDASM="#define ISC_PLATFORM_USESTDASM 1"],
|
|
||||||
[compiler="not supported (atomic operations disabled)"
|
|
||||||
have_atomic=no
|
|
||||||
arch=noatomic ]);
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_MSG_RESULT($compiler)
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "yes" = "$have_atomic"; then
|
|
||||||
ISC_PLATFORM_HAVEXADD="#define ISC_PLATFORM_HAVEXADD 1"
|
|
||||||
ISC_PLATFORM_HAVECMPXCHG="#define ISC_PLATFORM_HAVECMPXCHG 1"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTORE="#define ISC_PLATFORM_HAVEATOMICSTORE 1"
|
|
||||||
if test "yes" = "$have_xaddq"; then
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#define ISC_PLATFORM_HAVEXADDQ 1"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#define ISC_PLATFORM_HAVEATOMICSTOREQ 1"
|
|
||||||
else
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#undef ISC_PLATFORM_HAVEATOMICSTOREQ"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
ISC_PLATFORM_HAVEXADD="#undef ISC_PLATFORM_HAVEXADD"
|
|
||||||
ISC_PLATFORM_HAVECMPXCHG="#undef ISC_PLATFORM_HAVECMPXCHG"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTORE="#undef ISC_PLATFORM_HAVEATOMICSTORE"
|
|
||||||
ISC_PLATFORM_HAVEXADDQ="#undef ISC_PLATFORM_HAVEXADDQ"
|
|
||||||
ISC_PLATFORM_HAVEATOMICSTOREQ="#undef ISC_PLATFORM_HAVEATOMICSTOREQ"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVEXADD)
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVEXADDQ)
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVECMPXCHG)
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVEATOMICSTORE)
|
|
||||||
AC_SUBST(ISC_PLATFORM_HAVEATOMICSTOREQ)
|
|
||||||
|
|
||||||
AC_SUBST(ISC_PLATFORM_USEGCCASM)
|
|
||||||
AC_SUBST(ISC_PLATFORM_USESTDASM)
|
|
||||||
AC_SUBST(ISC_PLATFORM_USEMACASM)
|
|
||||||
|
|
||||||
ISC_ARCH_DIR=$arch
|
|
||||||
AC_SUBST(ISC_ARCH_DIR)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check for __builtin_expect
|
# Check for __builtin_expect
|
||||||
|
@@ -139,52 +139,6 @@
|
|||||||
*/
|
*/
|
||||||
@ISC_PLATFORM_HAVESYSUNH@
|
@ISC_PLATFORM_HAVESYSUNH@
|
||||||
|
|
||||||
/*
|
|
||||||
* If the "xadd" operation is available on this architecture,
|
|
||||||
* ISC_PLATFORM_HAVEXADD will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVEXADD@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the "xaddq" operation (64bit xadd) is available on this architecture,
|
|
||||||
* ISC_PLATFORM_HAVEXADDQ will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVEXADDQ@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the 32-bit "atomic swap" operation is available on this
|
|
||||||
* architecture, ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVEATOMICSTORE@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the 64-bit "atomic swap" operation is available on this
|
|
||||||
* architecture, ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVEATOMICSTOREQ@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the "compare-and-exchange" operation is available on this architecture,
|
|
||||||
* ISC_PLATFORM_HAVECMPXCHG will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVECMPXCHG@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If <stdatomic.h> is available on this architecture,
|
|
||||||
* ISC_PLATFORM_HAVESTDATOMIC will be defined.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_HAVESTDATOMIC@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define if gcc ASM extension is available
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_USEGCCASM@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define if the standard __asm function must be used.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_USESTDASM@
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define with the busy wait nop asm or function call.
|
* Define with the busy wait nop asm or function call.
|
||||||
*/
|
*/
|
||||||
@@ -205,12 +159,6 @@
|
|||||||
*** Windows dll support.
|
*** Windows dll support.
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/*
|
|
||||||
* Define if MacOS style of PPC assembly must be used.
|
|
||||||
* e.g. "r6", not "6", for register six.
|
|
||||||
*/
|
|
||||||
@ISC_PLATFORM_USEMACASM@
|
|
||||||
|
|
||||||
#ifndef ISC_PLATFORM_USEDECLSPEC
|
#ifndef ISC_PLATFORM_USEDECLSPEC
|
||||||
#define LIBISC_EXTERNAL_DATA
|
#define LIBISC_EXTERNAL_DATA
|
||||||
#define LIBDNS_EXTERNAL_DATA
|
#define LIBDNS_EXTERNAL_DATA
|
||||||
|
Reference in New Issue
Block a user