Working version of M4 macro config
[zfs.git] / configure.ac
1 #
2 # This file is part of the ZFS Linux port.
3 #
4 # Copyright (c) 2008 Lawrence Livermore National Security, LLC.
5 # Produced at Lawrence Livermore National Laboratory
6 # Written by:
7 #         Brian Behlendorf <behlendorf1@llnl.gov>,
8 #         Herb Wartens <wartens2@llnl.gov>,
9 #         Jim Garlick <garlick@llnl.gov>
10 # LLNL-CODE-403049
11 #
12 # CDDL HEADER START
13 #
14 # The contents of this file are subject to the terms of the
15 # Common Development and Distribution License, Version 1.0 only
16 # (the "License").  You may not use this file except in compliance
17 # with the License.
18 #
19 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
20 # or http://www.opensolaris.org/os/licensing.
21 # See the License for the specific language governing permissions
22 # and limitations under the License.
23 #
24 # When distributing Covered Code, include this CDDL HEADER in each
25 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
26 # If applicable, add the following below this CDDL HEADER, with the
27 # fields enclosed by brackets "[]" replaced with your own identifying
28 # information: Portions Copyright [yyyy] [name of copyright owner]
29 #
30 # CDDL HEADER END
31 #
32
33 AC_INIT
34 AC_LANG(C)
35 ZFS_AC_META
36 AC_CONFIG_AUX_DIR([config])
37 AC_CANONICAL_SYSTEM
38 AM_INIT_AUTOMAKE([$ZFS_META_NAME], [$ZFS_META_VERSION])
39 AC_CONFIG_HEADERS([zfs_config.h])
40 AM_MAINTAINER_MODE
41
42 AC_PROG_INSTALL
43 AC_PROG_CC
44 AC_PROG_LIBTOOL
45
46 zfsconfig=kernel
47 kernelsrc=
48 kernelbuild=
49 splsrc=
50 splbuild=
51
52 ZFS_AC_KERNEL
53 ZFS_AC_SPL
54 ZFS_AC_CONFIG
55 ZFS_AC_LICENSE
56 ZFS_AC_DEBUG
57 ZFS_AC_2ARGS_BIO_END_IO_T
58
59 # Check for needed userspace bits
60 AC_CHECK_HEADERS(sys/types.h sys/byteorder.h sys/isa_defs.h \
61                  sys/systeminfo.h sys/u8_textprep.h libdiskmgt.h)
62
63 AC_CHECK_FUNCS(strlcat strlcpy strnlen issetugid setmntent getexecname)
64
65 AC_CHECK_LIB([diskmgt], [libdiskmgt_error],
66         [AC_DEFINE([HAVE_LIBDISKMGT], 1,
67         [Define to 1 if 'libdiskmgt' library available])])
68
69 AC_CHECK_LIB([efi], [efi_alloc_and_init],
70         [AC_DEFINE([HAVE_LIBEFI], 1,
71         [Define to 1 if 'libefi' library available])])
72
73 AC_CHECK_LIB([share], [sa_init],
74         [AC_DEFINE([HAVE_LIBSHARE], 1,
75         [Define to 1 if 'libshare' library available])])
76
77 AC_EGREP_HEADER(ioctl, unistd.h,
78         [AC_DEFINE([HAVE_IOCTL_IN_UNISTD_H], 1,
79         [Define to 1 if ioctl() is defined in <unistd.h> header file])])
80
81 AC_EGREP_HEADER(ioctl, sys/ioctl.h,
82         [AC_DEFINE([HAVE_IOCTL_IN_SYS_IOCTL_H], 1,
83         [Define to 1 if ioctl() is defined in <sys/ioctl.h> header file])])
84
85 AC_EGREP_HEADER(ioctl, stropts.h,
86         [AC_DEFINE([HAVE_IOCTL_IN_STROPTS_H], 1,
87         [Define to 1 if ioctl() is defined in <stropts.h> header file])])
88
89 AC_EGREP_HEADER(strcmp, strings.h, 
90         [AC_DEFINE([HAVE_STRCMP_IN_STRINGS_H], 1,
91         [Define to 1 if strcmpl() is defined in <strings.h> header file])])
92
93 AC_EGREP_HEADER(sysinfo, sys/systeminfo.h, 
94         [AC_DEFINE([HAVE_SYSINFO_IN_SYS_SYSTEMINFO_H], 1,
95         [Define to 1 if sysinfo() is defined in <sys/systeminfo.h> header file])])
96
97 #AC_DEFINE([HAVE_ZVOL], 1, ["Define to 1 to include ZVOL support"])
98 #AC_DEFINE([HAVE_ZPL], 1, ["Define to 1 to include ZPL support"])
99 #AC_DEFINE([WANT_FAKE_IOCTL], 1, ["Define to 1 to use fake ioctl() support"])
100 #AC_DEFINE([HAVE_DM_INUSE_SWAP], 1, ["None"])
101 #AC_DEFINE([HAVE_UNICODE], 1, ["None"])
102 #AC_DEFINE([HAVE_INTTYPES], 1, [Define to 1 if unint16 defined in <sys/types.h> header file])
103
104 AC_CONFIG_FILES([ Makefile
105                   config/Makefile
106                   doc/Makefile
107                   scripts/Makefile
108                   zfs/Makefile
109                   zfs/lib/libudmu/include/Makefile
110                   zfs/lib/libudmu/Makefile
111                   zfs/lib/Makefile
112                   zfs/lib/libnvpair/include/sys/Makefile
113                   zfs/lib/libnvpair/include/Makefile
114                   zfs/lib/libnvpair/Makefile
115                   zfs/lib/libsolcompat/sparc64/Makefile
116                   zfs/lib/libsolcompat/Makefile
117                   zfs/lib/libsolcompat/include/tsol/Makefile
118                   zfs/lib/libsolcompat/include/sparc64/sys/Makefile
119                   zfs/lib/libsolcompat/include/sparc64/Makefile
120                   zfs/lib/libsolcompat/include/rpc/Makefile
121                   zfs/lib/libsolcompat/include/i386/sys/Makefile
122                   zfs/lib/libsolcompat/include/i386/Makefile
123                   zfs/lib/libsolcompat/include/ia32/sys/Makefile
124                   zfs/lib/libsolcompat/include/ia32/Makefile
125                   zfs/lib/libsolcompat/include/amd64/sys/Makefile
126                   zfs/lib/libsolcompat/include/amd64/Makefile
127                   zfs/lib/libsolcompat/include/sys/sysevent/Makefile
128                   zfs/lib/libsolcompat/include/sys/fm/Makefile
129                   zfs/lib/libsolcompat/include/sys/Makefile
130                   zfs/lib/libsolcompat/include/Makefile
131                   zfs/lib/libsolcompat/i386/Makefile
132                   zfs/lib/libsolcompat/amd64/Makefile
133                   zfs/lib/libavl/include/sys/Makefile
134                   zfs/lib/libavl/include/Makefile
135                   zfs/lib/libavl/Makefile
136                   zfs/lib/libuutil/include/Makefile
137                   zfs/lib/libuutil/Makefile
138                   zfs/lib/libzfs/include/Makefile
139                   zfs/lib/libzfs/Makefile
140                   zfs/lib/libumem/include/Makefile
141                   zfs/lib/libumem/Makefile
142                   zfs/lib/libumem/sys/Makefile
143                   zfs/lib/libzcommon/include/Makefile
144                   zfs/lib/libzcommon/include/sys/fm/fs/Makefile
145                   zfs/lib/libzcommon/include/sys/fm/Makefile
146                   zfs/lib/libzcommon/include/sys/Makefile
147                   zfs/lib/libzcommon/include/sys/fs/Makefile
148                   zfs/lib/libzcommon/Makefile
149                   zfs/lib/libzpool/Makefile
150                   zfs/lib/libport/include/sys/Makefile
151                   zfs/lib/libport/include/Makefile
152                   zfs/lib/libport/Makefile
153                   zfs/lib/libdmu-ctl/include/sys/Makefile
154                   zfs/lib/libdmu-ctl/include/Makefile
155                   zfs/lib/libdmu-ctl/Makefile
156                   zfs/zcmd/ztest/Makefile
157                   zfs/zcmd/Makefile
158                   zfs/zcmd/zfs/Makefile
159                   zfs/zcmd/zdb/Makefile
160                   zfs/zcmd/zinject/Makefile
161                   zfs/zcmd/zdump/Makefile
162                   zfs/zcmd/zpool/Makefile
163                ])
164 AC_OUTPUT