1#   BAREOS® - Backup Archiving REcovery Open Sourced
2#
3#   Copyright (C) 2017-2020 Bareos GmbH & Co. KG
4#
5#   This program is Free Software; you can redistribute it and/or
6#   modify it under the terms of version three of the GNU Affero General Public
7#   License as published by the Free Software Foundation and included
8#   in the file LICENSE.
9#
10#   This program is distributed in the hope that it will be useful, but
11#   WITHOUT ANY WARRANTY; without even the implied warranty of
12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13#   Affero General Public License for more details.
14#
15#   You should have received a copy of the GNU Affero General Public License
16#   along with this program; if not, write to the Free Software
17#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18#   02110-1301, USA.
19
20include(CheckIncludeFiles)
21include(CheckIncludeFileCXX)
22
23check_include_files(alloca.h HAVE_ALLOCA_H)
24check_include_files(afs/afsint.h HAVE_AFS_AFSINT_H)
25check_include_files(afs/venus.h HAVE_AFS_VENUS_H)
26check_include_files(arpa/nameser.h HAVE_ARPA_NAMESER_H)
27check_include_files(attr.h HAVE_ATTR_H)
28check_include_files(demangle.h HAVE_DEMANGLE_H)
29check_include_files(execinfo.h HAVE_EXECINFO_H)
30check_include_files(grp.h HAVE_GRP_H)
31check_include_files(libutil.h HAVE_LIBUTIL_H)
32check_include_files(mtio.h HAVE_MTIO_H)
33check_include_files(pwd.h HAVE_PWD_H)
34check_include_files(regex.h HAVE_REGEX_H)
35check_include_files("sys/types.h;sys/not_acl.h" HAVE_SYS_ACL_H)
36check_include_files(sys/attr.h HAVE_SYS_ATTR_H)
37check_include_files(sys/bitypes.h HAVE_SYS_BITYPES_H)
38check_include_files(sys/capability.h HAVE_SYS_CAPABILITY_H)
39check_include_files(sys/ea.h HAVE_SYS_EA_H)
40check_include_files("sys/types.h;sys/extattr.h" HAVE_SYS_EXTATTR_H)
41check_include_files(sys/mtio.h HAVE_SYS_MTIO_H)
42check_include_files(sys/nvpair.h HAVE_SYS_NVPAIR_H)
43
44check_include_files("sys/types.h;sys/tape.h" HAVE_SYS_TAPE_H)
45
46check_include_files(sys/time.h HAVE_SYS_TIME_H)
47
48check_include_file_cxx(cxxabi.h HAVE_CXXABI_H)
49check_include_files(curses.h HAVE_CURSES_H)
50check_include_files(poll.h HAVE_POLL_H)
51check_include_files(sys/poll.h HAVE_SYS_POLL_H)
52check_include_files(sys/statvfs.h HAVE_SYS_STATVFS_H)
53check_include_files(umem.h HAVE_UMEM_H)
54check_include_files(ucontext.h HAVE_UCONTEXT_H)
55check_include_files(demangle.h HAVE_DEMANGLE_H)
56
57check_include_files(sys/extattr.h HAVE_SYS_EXTATTR_H)
58check_include_files(libutil.h HAVE_LIBUTIL_H)
59check_include_files(sys/ea.h HAVE_SYS_EA_H)
60check_include_files(sys/proplist.h HAVE_SYS_PROPLIST_H)
61check_include_files(sys/xattr.h HAVE_SYS_XATTR_H)
62
63if(cephfs)
64  include(CheckSymbolExists)
65  include(CMakePushCheckState)
66  cmake_push_check_state()
67  set(CMAKE_REQUIRED_LIBRARIES cephfs)
68  check_include_files("sys/stat.h;cephfs/ceph_ll_client.h" HAVE_CEPH_STATX)
69  cmake_pop_check_state()
70endif()
71
72if(rados)
73  check_include_files(rados/librados.h HAVE_RADOS_LIBRADOS_H)
74  check_include_files(
75    radosstriper/libradosstriper.h HAVE_RADOSSTRIPER_LIBRADOSSTRIPER_H
76  )
77endif()
78
79if(gfapi)
80  check_include_files(glusterfs/api/glfs.h HAVE_GLUSTERFS_API_GLFS_H)
81endif()
82
83check_include_files(sys/prctl.h HAVE_SYS_PRCTL_H)
84
85check_include_files(sys/capability.h HAVE_SYS_CAPABILITY_H)
86check_include_files(zlib.h HAVE_ZLIB_H)
87
88check_include_files(scsi/scsi.h HAVE_SCSI_SCSI_H)
89
90check_include_files("stddef.h;scsi/sg.h" HAVE_SCSI_SG_H)
91
92check_include_files(
93  "sys/types.h;sys/scsi/impl/uscsi.h" HAVE_SYS_SCSI_IMPL_USCSI_H
94)
95check_include_files("stdio.h;camlib.h" HAVE_CAMLIB_H)
96check_include_files(cam/scsi/scsi_message.h HAVE_CAM_SCSI_SCSI_MESSAGE_H)
97check_include_files(dev/scsipi/scsipi_all.h HAVE_DEV_SCSIPI_SCSIPI_ALL_H)
98
99check_include_files(scsi/uscsi_all.h HAVE_USCSI_ALL_H)
100