blob: f47ad182dadc1a2d9ae2489850ac44e76dcb6c73 [file] [log] [blame]
dnl This file was derived from acinclude.m4.
dnl
dnl Copyright (C) 2012-2023 Free Software Foundation, Inc.
dnl
dnl This file is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; see the file COPYING3. If not see
dnl <http://www.gnu.org/licenses/>.
dnl
dnl Check for sys/procfs.h, enforcing structured /proc on Solaris.
AC_DEFUN([BFD_SYS_PROCFS_H],
[AC_DEFINE(_STRUCTURED_PROC, 1, [Use structured /proc on Solaris.])
AC_CHECK_HEADERS(sys/procfs.h)])
dnl Check for existence of a type $1 in sys/procfs.h
AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE],
[AC_REQUIRE([BFD_SYS_PROCFS_H])
AC_MSG_CHECKING([for $1 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1,
[AC_TRY_COMPILE([
#define _SYSCALL32
#include <sys/procfs.h>],
[$1 avar],
bfd_cv_have_sys_procfs_type_$1=yes,
bfd_cv_have_sys_procfs_type_$1=no
)])
if test $bfd_cv_have_sys_procfs_type_$1 = yes; then
AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]), 1,
[Define if <sys/procfs.h> has $1.])
fi
AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_$1)
])
dnl Check for existence of member $2 in type $1 in sys/procfs.h
AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER],
[AC_REQUIRE([BFD_SYS_PROCFS_H])
AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2,
[AC_TRY_COMPILE([
#define _SYSCALL32
#include <sys/procfs.h>],
[$1 avar; void* aref = (void*) &avar.$2],
bfd_cv_have_sys_procfs_type_member_$1_$2=yes,
bfd_cv_have_sys_procfs_type_member_$1_$2=no
)])
if test $bfd_cv_have_sys_procfs_type_member_$1_$2 = yes; then
AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z])[_]translit($2, [a-z], [A-Z]), 1,
[Define if <sys/procfs.h> has $1.$2.])
fi
AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_member_$1_$2)
])