# Check for the existence of the <stdbool.h> header.
AC_CHECK_HEADERS(stdbool.h)
+ # Check for the existence of the <stdalign.h> header.
+ AC_CHECK_HEADERS(stdalign.h)
+
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
])
dnl
dnl Allow visibility attributes to be used on namespaces, objects, etc.
dnl
-dnl --enable-visibility enables attempt to use visibility attributes.
-dnl --disable-visibility turns off all use of visibility attributes.
-dnl + Usage: GLIBCXX_ENABLE_VISIBILITY[(DEFAULT)]
+dnl --enable-libstdcxx-visibility enables attempt to use visibility attributes.
+dnl --disable-libstdcxx-visibility turns off all use of visibility attributes.
+dnl + Usage: GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY[(DEFAULT)]
dnl Where DEFAULT is 'yes'.
dnl
-AC_DEFUN([GLIBCXX_ENABLE_VISIBILITY], [
-GLIBCXX_ENABLE(visibility,$1,,[enables visibility safe usage])
+AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], [
+GLIBCXX_ENABLE(libstdcxx-visibility,$1,,[enables visibility safe usage])
-if test x$enable_visibility = xyes ; then
+if test x$enable_libstdcxx_visibility = xyes ; then
dnl all hail libgfortran
dnl Check whether the target supports hidden visibility.
AC_CACHE_CHECK([whether the target supports hidden visibility],
glibcxx_cv_have_attribute_visibility=no)
CFLAGS="$save_CFLAGS"])
if test $glibcxx_cv_have_attribute_visibility = no; then
- enable_visibility=no
+ enable_libstdcxx_visibility=no
fi
fi
-GLIBCXX_CONDITIONAL(ENABLE_VISIBILITY, test $enable_visibility = yes)
-AC_MSG_NOTICE([visibility supported: $enable_visibility])
+GLIBCXX_CONDITIONAL(ENABLE_VISIBILITY, test $enable_libstdcxx_visibility = yes)
+AC_MSG_NOTICE([visibility supported: $enable_libstdcxx_visibility])
])
AC_LANG_RESTORE
])
+dnl
+dnl Check whether sysconf(_SC_NPROC_ONLN) is available in <unistd.h>, and define _GLIBCXX_USE_SC_NPROC_ONLN.
+dnl
+AC_DEFUN([GLIBCXX_CHECK_SC_NPROC_ONLN], [
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+
+ AC_MSG_CHECKING([for _SC_NPROC_ONLN])
+ AC_CACHE_VAL(glibcxx_cv_SC_NPROC_ONLN, [
+ GCC_TRY_COMPILE_OR_LINK(
+ [#include <unistd.h>],
+ [int n = sysconf(_SC_NPROC_ONLN);],
+ [glibcxx_cv_SC_NPROC_ONLN=yes],
+ [glibcxx_cv_SC_NPROC_ONLN=no])
+ ])
+ if test $glibcxx_cv_SC_NPROC_ONLN = yes; then
+ AC_DEFINE(_GLIBCXX_USE_SC_NPROC_ONLN, 1, [Define if _SC_NPROC_ONLN is available in <unistd.h>.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_SC_NPROC_ONLN)
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+
+dnl
+dnl Check whether pthread_num_processors_np is available in <pthread.h>, and define _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP.
+dnl
+AC_DEFUN([GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP], [
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+
+ AC_MSG_CHECKING([for pthreads_num_processors_np])
+ AC_CACHE_VAL(glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP, [
+ GCC_TRY_COMPILE_OR_LINK(
+ [#include <pthread.h>],
+ [int n = pthread_num_processors_np();],
+ [glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=yes],
+ [glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP=no])
+ ])
+ if test $glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP = yes; then
+ AC_DEFINE(_GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP, 1, [Define if pthreads_num_processors_np is available in <pthread.h>.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_PTHREADS_NUM_PROCESSORS_NP)
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+
+dnl
+dnl Check whether sysctl is available in <pthread.h>, and define _GLIBCXX_USE_SYSCTL_HW_NCPU.
+dnl
+AC_DEFUN([GLIBCXX_CHECK_SYSCTL_HW_NCPU], [
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+
+ AC_MSG_CHECKING([for hw.ncpu sysctl])
+ AC_CACHE_VAL(glibcxx_cv_SYSCTL_HW_NCPU, [
+ GCC_TRY_COMPILE_OR_LINK(
+ [
+ #include <stddef.h>
+ #include <sys/sysctl.h>
+ ],
+ [
+ int count;
+ size_t size = sizeof(count);
+ int mib[] = { CTL_HW, HW_NCPU };
+ sysctl(mib, 2, &count, &size, NULL, 0);
+ ],
+ [glibcxx_cv_SYSCTL_HW_NCPU=yes],
+ [glibcxx_cv_SYSCTL_HW_NCPU=no])
+ ])
+ if test $glibcxx_cv_SYSCTL_HW_NCPU = yes; then
+ AC_DEFINE(_GLIBCXX_USE_SYSCTL_HW_NCPU, 1, [Define if sysctl(), CTL_HW and HW_NCPU are available in <sys/sysctl.h>.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_SYSCTL_HW_NCPU)
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
# Macros from the top-level gcc directory.
m4_include([../config/gc++filt.m4])