Index: configure.in =================================================================== RCS file: /cvs/dm/device-mapper/configure.in,v retrieving revision 1.49 diff -u -r1.49 configure.in --- configure.in 6 Jun 2008 20:44:35 -0000 1.49 +++ configure.in 20 Jun 2008 20:32:16 -0000 @@ -59,6 +59,18 @@ CLUSTER=none FSADM=no ;; + + netbsd*) + COPTIMISE_FLAG="-O2" + CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" + CLDWHOLEARCHIVE="-Wl,-whole-archive" + CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" + LDDEPS="$LDDEPS .export.sym" + LIB_SUFFIX=so + DEVMAPPER=yes + ODIRECT=yes + DM_IOCTLS=yes + ;; esac ################################################################################ @@ -319,7 +331,7 @@ if test x$INTL = xyes; then INTL_PACKAGE="device-mapper" AC_PATH_PROG(MSGFMT, msgfmt) - if [[ "x$MSGFMT" == x ]]; + if [[ "x$MSGFMT" = x ]]; then AC_MSG_ERROR( msgfmt not found in path $PATH ) @@ -332,6 +344,15 @@ fi ################################################################################ +dnl -- Check for netbsd specific kernel files +AC_MSG_CHECKING(for NetBSD specific checks) +AC_ARG_ENABLE(netbsd, [ --enable-netbsd Enable NetBSD support], + INTL=$enableval, INTL=no) +AC_MSG_RESULT($INTL) + +if test x$INTL = xno; then + +################################################################################ dnl -- Where the linux src tree is AC_MSG_CHECKING(for kernel directory) AC_ARG_WITH(kerneldir, @@ -401,6 +422,43 @@ tmpdir="$with_tmpdir" fi +else + +################################################################################ +dnl -- NetBSD doesn't have dm-ioctl.h + + missingkernel=yes + +################################################################################ +dnl -- NetBSD kernel version +AC_MSG_CHECKING(for kernel version) +AC_ARG_WITH(kernel-version, + [ --with-kernel-version=VERSION NetBSD kernel version] ) + +if test "${with_kernel-version+set}" = set; then + kernelvsn="$with_kernel-version" +fi +if test "${with_kernelvsn+set}" = set; then + kernelvsn="$with_kernelvsn" +fi +if test "${with_kernel_version+set}" = set; then + kernelvsn="$with_kernel_version" +fi +if test "${with_kernelversion+set}" = set; then + kernelvsn="$with_kernelversion" +fi + +if test "x${kernelvsn}" = x; then + if test "x${missingkernel}" = "x"; then + kernelvsn=`uname -r` + else + kernelvsn="UNKNOWN" + fi +fi + AC_MSG_RESULT($kernelvsn) + +fi + ################################################################################ dnl -- which kernel interface to use (ioctl only) AC_MSG_CHECKING(for kernel interface choice) Index: make.tmpl.in =================================================================== RCS file: /cvs/dm/device-mapper/make.tmpl.in,v retrieving revision 1.37 diff -u -r1.37 make.tmpl.in --- make.tmpl.in 6 Jun 2008 20:44:35 -0000 1.37 +++ make.tmpl.in 20 Jun 2008 20:32:16 -0000 @@ -31,6 +31,8 @@ LDFLAGS += @LDFLAGS@ LIB_SUFFIX = @LIB_SUFFIX@ +OPSYS=$(shell uname -s) + # Setup directory variables prefix = @prefix@ exec_prefix = @exec_prefix@ @@ -85,6 +87,15 @@ DEFS += -DDM_IOCTLS endif +ifeq ("${OPSYS}", "NetBSD") + LDFLAGS += -lprop + CFLAGS += -D__LIB_DEVMAPPER__ -D__NetBSD__ + OWNERSHIP = +else + OWNERSHIP = -D $(OWNER) $(GROUP) + +endif + #DEFS += -DDEBUG_POOL #DEFS += -DBOUNDS_CHECK Index: lib/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/lib/Makefile.in,v retrieving revision 1.38 diff -u -r1.38 Makefile.in --- lib/Makefile.in 6 Jun 2008 20:44:35 -0000 1.38 +++ lib/Makefile.in 20 Jun 2008 20:32:16 -0000 @@ -29,8 +29,17 @@ mm/pool.c \ regex/matcher.c \ regex/parse_rx.c \ - regex/ttree.c \ - $(interface)/libdm-iface.c + regex/ttree.c + +OPSYS=$(shell uname -s) + +ifeq ("${OPSYS}", "NetBSD") + SOURCES += \ + $(interface)/libdm-nbsd-iface.c \ + $(interface)/libdm_netbsd.c + else + SOURCES += $(interface)/libdm-iface.c + endif INCLUDES = -I$(interface) @@ -65,7 +74,7 @@ install: $(INSTALL_TYPE) install_include install_include: - $(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper.h \ + $(INSTALL) $(OWNERSHIP) -m 444 libdevmapper.h \ $(includedir)/libdevmapper.h install_dynamic: install_@interface@ @@ -76,15 +85,15 @@ $(LN_S) -f libdevmapper.a.$(LIB_VERSION) $(libdir)/libdevmapper.a install_ioctl: ioctl/libdevmapper.$(LIB_SUFFIX) - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION) install_pkgconfig: - $(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper.pc \ + $(INSTALL) $(OWNERSHIP) -m 444 libdevmapper.pc \ $(usrlibdir)/pkgconfig/devmapper.pc install_ioctl_static: ioctl/libdevmapper.a - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libdevmapper.a.$(LIB_VERSION) $(VERSIONED_SHLIB): %.$(LIB_SUFFIX).$(LIB_VERSION): $(interface)/%.$(LIB_SUFFIX) Index: dmsetup/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/dmsetup/Makefile.in,v retrieving revision 1.18 diff -u -r1.18 Makefile.in --- dmsetup/Makefile.in 21 Aug 2007 20:32:30 -0000 1.18 +++ dmsetup/Makefile.in 20 Jun 2008 20:32:16 -0000 @@ -44,8 +44,8 @@ .PHONY: install_dynamic install_static install_dynamic: dmsetup - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< $(sbindir)/$< + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< $(sbindir)/$< install_static: dmsetup.static - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< $(sbindir)/$< + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< $(sbindir)/$< Index: dmeventd/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/dmeventd/Makefile.in,v retrieving revision 1.19 diff -u -r1.19 Makefile.in --- dmeventd/Makefile.in 21 Aug 2007 16:26:06 -0000 1.19 +++ dmeventd/Makefile.in 20 Jun 2008 20:32:16 -0000 @@ -30,8 +30,17 @@ include ../make.tmpl -LDFLAGS += -ldl -ldevmapper -lpthread -CLDFLAGS += -ldl -ldevmapper -lpthread +OPSYS=$(shell uname -s) + +ifeq ("${OPSYS}", "Linux") + LDFLAGS += -ldl + REALLIB += ${LIB_SHARED} +else + REALLIB = ${LIB_STATIC} +endif + +LDFLAGS += -ldevmapper -lpthread +CLDFLAGS += -ldevmapper -lpthread dmeventd: $(LIB_SHARED) dmeventd.o $(CC) -o $@ dmeventd.o $(CFLAGS) $(LDFLAGS) \ @@ -53,24 +62,24 @@ install: $(INSTALL_TYPE) install_include install_dmeventd install_include: - $(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper-event.h \ + $(INSTALL) $(OWNERSHIP) -m 444 libdevmapper-event.h \ $(includedir)/libdevmapper-event.h install_dynamic: libdevmapper-event.$(LIB_SUFFIX) - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libdevmapper-event.$(LIB_SUFFIX).$(LIB_VERSION) $(LN_S) -f libdevmapper-event.$(LIB_SUFFIX).$(LIB_VERSION) \ $(libdir)/libdevmapper-event.$(LIB_SUFFIX) install_dmeventd: dmeventd - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< $(sbindir)/$< + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< $(sbindir)/$< install_pkgconfig: - $(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper-event.pc \ + $(INSTALL) $(OWNERSHIP) -m 444 libdevmapper-event.pc \ $(usrlibdir)/pkgconfig/devmapper-event.pc install_static: libdevmapper-event.a - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libdevmapper-event.a.$(LIB_VERSION) $(LN_S) -f libdevmapper-event.a.$(LIB_VERSION) $(libdir)/libdevmapper-event.a Index: man/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/man/Makefile.in,v retrieving revision 1.5 diff -u -r1.5 Makefile.in --- man/Makefile.in 19 Apr 2004 13:10:06 -0000 1.5 +++ man/Makefile.in 20 Jun 2008 20:32:16 -0000 @@ -26,6 +26,6 @@ @for f in $(MANUALS); \ do \ $(RM) $(MAN8DIR)/$$f; \ - @INSTALL@ -D $(OWNER) $(GROUP) -m 444 $$f $(MAN8DIR)/$$f; \ + @INSTALL@ $(OWNERSHIP) -m 444 $$f $(MAN8DIR)/$$f; \ done Index: po/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/po/Makefile.in,v retrieving revision 1.4 diff -u -r1.4 Makefile.in --- po/Makefile.in 21 Aug 2007 16:26:07 -0000 1.4 +++ po/Makefile.in 20 Jun 2008 20:32:16 -0000 @@ -28,7 +28,7 @@ @echo Installing translation files in $(localedir) @( \ for lang in $(LANGS); do \ - $(INSTALL) -D $(OWNER) $(GROUP) -m 444 $$lang.mo \ + $(INSTALL) $(OWNERSHIP) -m 444 $$lang.mo \ $(localedir)/$$lang/LC_MESSAGES/@INTL_PACKAGE@.mo;\ done; \ ) Index: multilog/Makefile.in =================================================================== RCS file: /cvs/dm/device-mapper/multilog/Makefile.in,v retrieving revision 1.3 diff -u -r1.3 Makefile.in --- multilog/Makefile.in 4 May 2005 17:55:12 -0000 1.3 +++ multilog/Makefile.in 20 Jun 2008 20:32:17 -0000 @@ -28,7 +28,13 @@ LIB_SHARED = libmultilog.so endif -LDFLAGS += -ldl -ldevmapper -lpthread -L.. +LDFLAGS += -ldevmapper -lpthread -L.. + +OPSYS=$(shell uname -s) + +ifeq ("${OPSYS}", "Linux") + LDFLAGS += -ldl +endif include ../make.tmpl @@ -43,13 +49,13 @@ install: $(INSTALL_TYPE) install_dynamic: libmultilog.$(LIB_SUFFIX) - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libmultilog.$(LIB_SUFFIX).$(LIB_VERSION) $(LN_S) -f libmultilog.$(LIB_SUFFIX).$(LIB_VERSION) \ $(libdir)/libmultilog.$(LIB_SUFFIX) install_static: libmultilog.a - $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \ + $(INSTALL) $(OWNERSHIP) -m 555 $(STRIP) $< \ $(libdir)/libmultilog.a.$(LIB_VERSION) $(LN_S) -f libmultilog.a.$(LIB_VERSION) $(libdir)/libmultilog.a