Skip to content

Commit c9c0d07

Browse files
committed
Add build system
Add autoconf style build infrastructure to the ZFS tree. This includes autogen.sh, configure.ac, m4 macros, some scripts/*, and makefiles for all the core ZFS components.
1 parent 40b84e7 commit c9c0d07

File tree

108 files changed

+5853
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+5853
-0
lines changed

ChangeLog

+576
Large diffs are not rendered by default.

META

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Meta: 1
2+
Name: zfs
3+
Branch: 1.0
4+
Version: 0.5.0
5+
Release: 1
6+
Release-Tags: relext
7+
License: CDDL
8+
Author: Sun Microsystems/Oracle, Lawrence Livermore National Laboratory

Makefile.am

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
include $(top_srcdir)/config/rpm.am
2+
include ${top_srcdir}/config/deb.am
3+
include ${top_srcdir}/config/tgz.am
4+
5+
if CONFIG_USER
6+
USER_DIR = config etc man scripts lib cmd
7+
endif
8+
if CONFIG_KERNEL
9+
KERNEL_DIR = module
10+
endif
11+
SUBDIRS = $(USER_DIR) $(KERNEL_DIR)
12+
13+
AUTOMAKE_OPTIONS = foreign dist-zip
14+
EXTRA_DIST = autogen.sh zfs.spec.in zfs-modules.spec.in
15+
EXTRA_DIST += config/config.awk config/rpm.am config/deb.am config/tgz.am
16+
EXTRA_DIST += META DISCLAIMER COPYRIGHT GIT README.markdown
17+
EXTRA_DIST += OPENSOLARIS.LICENSE ZFS.RELEASE
18+
19+
noinst_HEADERS = zfs_config.h
20+
21+
distclean-local::
22+
-$(RM) -R autom4te*.cache
23+
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
24+
-o -name .pc -o -name .hg -o -name .git \) -prune -o \
25+
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
26+
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
27+
-o -name '.*.rej' -o -name 'aclocal.m4' -o -size 0 \
28+
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \
29+
-o -name 'Makefile' -o -name 'Module.symvers' \
30+
-o -name '*.order' -o -name '*.markers' \
31+
-o -name '.script-config' \) \
32+
-type f -print | xargs $(RM)
33+
34+
if CONFIG_KERNEL
35+
install-data-local:
36+
destname=zfs-$(ZFS_META_VERSION)/$(LINUX_VERSION); \
37+
instdest=$(DESTDIR)/usr/src/$$destname; \
38+
echo "${ZFS_META_VERSION}" >$$instdest/zfs.release; \
39+
for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
40+
$(INSTALL) -D $$instfile $$instdest/$$instfile; \
41+
done
42+
endif
43+
44+
ctags:
45+
$(RM) $(top_srcdir)/tags
46+
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags
47+
48+
etags:
49+
$(RM) $(top_srcdir)/TAGS
50+
find $(top_srcdir) -name .pc -prune -o -name '*.[hc]' | xargs etags -a
51+
52+
tags: ctags etags
53+
54+
pkg: @DEFAULT_PACKAGE@
55+
pkg-modules: @DEFAULT_PACKAGE@-modules
56+
pkg-utils: @DEFAULT_PACKAGE@-utils

autogen.sh

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/sh
2+
3+
aclocal -I config &&
4+
libtoolize --automake --copy
5+
autoheader &&
6+
automake --add-missing --include-deps --copy
7+
autoconf
8+
rm -rf autom4te.cache aclocal.m4

cmd/Makefile.am

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SUBDIRS = zfs zpool zpool_id zpool_layout zdb zinject ztest

cmd/zdb/Makefile.am

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
include $(top_srcdir)/config/Rules.am
2+
3+
DEFAULT_INCLUDES += \
4+
-I${top_srcdir}/lib/libspl/include \
5+
-I${top_srcdir}/lib/libefi/include \
6+
-I${top_srcdir}/lib/libzpool/include \
7+
-I${top_srcdir}/lib/libnvpair/include \
8+
-I${top_srcdir}/lib/libzfs/include \
9+
-I${top_srcdir}/module/zfs/include \
10+
-I${top_srcdir}/module/zcommon/include \
11+
-I${top_srcdir}/module/nvpair/include \
12+
-I${top_srcdir}/module/avl/include \
13+
-I${top_srcdir}/module/unicode/include
14+
15+
sbin_PROGRAMS = zdb
16+
17+
zdb_SOURCES = \
18+
${top_srcdir}/cmd/zdb/zdb.c \
19+
${top_srcdir}/cmd/zdb/zdb_il.c
20+
21+
zdb_LDADD = \
22+
$(top_builddir)/lib/libspl/libspl.la \
23+
$(top_builddir)/lib/libavl/libavl.la \
24+
$(top_builddir)/lib/libefi/libefi.la \
25+
$(top_builddir)/lib/libnvpair/libnvpair.la \
26+
$(top_builddir)/lib/libunicode/libunicode.la \
27+
$(top_builddir)/lib/libuutil/libuutil.la \
28+
$(top_builddir)/lib/libzpool/libzpool.la \
29+
$(top_builddir)/lib/libzfs/libzfs.la
30+
31+
zdb_LDFLAGS = -pthread -lm $(ZLIB) -lrt $(LIBUUID) $(LIBBLKID)

cmd/zfs/Makefile.am

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
include $(top_srcdir)/config/Rules.am
2+
3+
DEFAULT_INCLUDES += \
4+
-I${top_srcdir}/lib/libspl/include \
5+
-I${top_srcdir}/lib/libefi/include \
6+
-I${top_srcdir}/lib/libuutil/include \
7+
-I${top_srcdir}/lib/libzfs/include \
8+
-I${top_srcdir}/lib/libnvpair/include \
9+
-I${top_srcdir}/module/zcommon/include \
10+
-I${top_srcdir}/module/nvpair/include \
11+
-I${top_srcdir}/module/avl/include \
12+
-I${top_srcdir}/module/unicode/include
13+
14+
sbin_PROGRAMS = zfs
15+
16+
zfs_SOURCES = \
17+
${top_srcdir}/cmd/zfs/zfs_iter.c \
18+
${top_srcdir}/cmd/zfs/zfs_iter.h \
19+
${top_srcdir}/cmd/zfs/zfs_main.c \
20+
${top_srcdir}/cmd/zfs/zfs_util.h
21+
22+
zfs_LDADD = \
23+
$(top_builddir)/lib/libspl/libspl.la \
24+
$(top_builddir)/lib/libavl/libavl.la \
25+
$(top_builddir)/lib/libefi/libefi.la \
26+
$(top_builddir)/lib/libnvpair/libnvpair.la \
27+
$(top_builddir)/lib/libunicode/libunicode.la \
28+
$(top_builddir)/lib/libuutil/libuutil.la \
29+
$(top_builddir)/lib/libzpool/libzpool.la \
30+
$(top_builddir)/lib/libzfs/libzfs.la
31+
32+
zfs_LDFLAGS = -pthread -lm $(ZLIB) -lrt $(LIBUUID) $(LIBBLKID)

cmd/zinject/Makefile.am

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
include $(top_srcdir)/config/Rules.am
2+
3+
DEFAULT_INCLUDES += \
4+
-I${top_srcdir}/lib/libspl/include \
5+
-I${top_srcdir}/lib/libefi/include \
6+
-I${top_srcdir}/lib/libzpool/include \
7+
-I${top_srcdir}/lib/libuutil/include \
8+
-I${top_srcdir}/lib/libzfs/include \
9+
-I${top_srcdir}/lib/libnvpair/include \
10+
-I${top_srcdir}/module/zfs \
11+
-I${top_srcdir}/module/zfs/include \
12+
-I${top_srcdir}/module/zcommon/include \
13+
-I${top_srcdir}/module/nvpair/include \
14+
-I${top_srcdir}/module/avl/include \
15+
-I${top_srcdir}/module/unicode/include
16+
17+
sbin_PROGRAMS = zinject
18+
19+
zinject_SOURCES = \
20+
${top_srcdir}/cmd/zinject/translate.c \
21+
${top_srcdir}/cmd/zinject/zinject.c \
22+
${top_srcdir}/cmd/zinject/zinject.h
23+
24+
zinject_LDADD = \
25+
$(top_builddir)/lib/libspl/libspl.la \
26+
$(top_builddir)/lib/libavl/libavl.la \
27+
$(top_builddir)/lib/libefi/libefi.la \
28+
$(top_builddir)/lib/libnvpair/libnvpair.la \
29+
$(top_builddir)/lib/libunicode/libunicode.la \
30+
$(top_builddir)/lib/libuutil/libuutil.la \
31+
$(top_builddir)/lib/libzpool/libzpool.la \
32+
$(top_builddir)/lib/libzfs/libzfs.la
33+
34+
zinject_LDFLAGS = -pthread -lm $(ZLIB) -lrt $(LIBUUID) $(LIBBLKID)

cmd/zpool/Makefile.am

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
include $(top_srcdir)/config/Rules.am
2+
3+
DEFAULT_INCLUDES += \
4+
-I${top_srcdir}/lib/libspl/include \
5+
-I${top_srcdir}/lib/libefi/include \
6+
-I${top_srcdir}/lib/libuutil/include \
7+
-I${top_srcdir}/lib/libzfs/include \
8+
-I${top_srcdir}/lib/libnvpair/include \
9+
-I${top_srcdir}/module/zcommon/include \
10+
-I${top_srcdir}/module/zfs/include \
11+
-I${top_srcdir}/module/nvpair/include \
12+
-I${top_srcdir}/module/avl/include \
13+
-I${top_srcdir}/module/unicode/include
14+
15+
sbin_PROGRAMS = zpool
16+
17+
zpool_SOURCES = \
18+
${top_srcdir}/cmd/zpool/zpool_iter.c \
19+
${top_srcdir}/cmd/zpool/zpool_main.c \
20+
${top_srcdir}/cmd/zpool/zpool_util.c \
21+
${top_srcdir}/cmd/zpool/zpool_util.h \
22+
${top_srcdir}/cmd/zpool/zpool_vdev.c
23+
24+
zpool_LDADD = \
25+
$(top_builddir)/lib/libspl/libspl.la \
26+
$(top_builddir)/lib/libavl/libavl.la \
27+
$(top_builddir)/lib/libefi/libefi.la \
28+
$(top_builddir)/lib/libnvpair/libnvpair.la \
29+
$(top_builddir)/lib/libunicode/libunicode.la \
30+
$(top_builddir)/lib/libuutil/libuutil.la \
31+
$(top_builddir)/lib/libzpool/libzpool.la \
32+
$(top_builddir)/lib/libzfs/libzfs.la
33+
34+
zpool_LDFLAGS = -pthread -lm $(ZLIB) -lrt $(LIBUUID) $(LIBBLKID)

cmd/zpool_id/Makefile.am

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist_bin_SCRIPTS = zpool_id

cmd/zpool_id/zpool_id

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
3+
CONFIG=${CONFIG:-/etc/zfs/zdev.conf}
4+
PATH_ID=${PATH_ID:-/lib/udev/path_id}
5+
AWK=${AWK:-/bin/awk}
6+
7+
die() {
8+
echo "Error: $*"
9+
exit 1
10+
}
11+
12+
usage() {
13+
cat << EOF
14+
Usage: zpool_id [h] [-c configfile] <devpath>
15+
-c Alternate config file [default /etc/zfs/zdev.conf]
16+
-d Use path_id from device as the mapping key
17+
-h Show this message
18+
EOF
19+
exit 1
20+
}
21+
22+
while getopts 'c:d:h' OPTION; do
23+
case ${OPTION} in
24+
c)
25+
CONFIG=${OPTARG}
26+
;;
27+
d)
28+
DEVICE=${OPTARG}
29+
;;
30+
h)
31+
usage
32+
;;
33+
esac
34+
done
35+
36+
# Check that a device was requested
37+
[ -z ${DEVICE} ] && usage
38+
39+
# Check for the existence of a configuration file
40+
[ ! -f ${CONFIG} ] && die "Missing config file: ${CONFIG}"
41+
42+
# Use udev's path_id to generate a unique persistent key
43+
eval `${PATH_ID} ${DEVICE}`
44+
[ -z ${ID_PATH} ] && die "Missing ID_PATH for ${DEVICE}"
45+
46+
# Use the persistent key to lookup the zpool device id in the
47+
# configuration file which is of the format <device id> <key>.
48+
# Lines starting with #'s are treated as comments and ignored.
49+
# Exact matches are required, wild cards are not supported,
50+
# and only the first match is returned.
51+
ID_ZPOOL=`${AWK} "/${ID_PATH}\>/ && !/^#/ { print \\$1; exit }" ${CONFIG}`
52+
[ -z ${ID_ZPOOL} ] && die "Missing ID_ZPOOL for ID_PATH: ${ID_PATH}"
53+
54+
if [ ${ID_ZPOOL} ]; then
55+
echo "ID_PATH=${ID_PATH}"
56+
echo "ID_ZPOOL=${ID_ZPOOL}"
57+
echo "ID_ZPOOL_PATH=disk/zpool/${ID_ZPOOL}"
58+
fi
59+
60+
exit 0

cmd/zpool_layout/Makefile.am

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist_bin_SCRIPTS = zpool_layout

0 commit comments

Comments
 (0)