[lvm-devel] [PATCH] liblvm install environment
Thomas Woerner
twoerner at redhat.com
Fri Jul 17 15:38:22 UTC 2009
---
configure | 31 ++++++++++++++++++++-----------
configure.in | 18 +++++++++++-------
lib/misc/configure.h.in | 3 +++
liblvm/Makefile.in | 36 +++++++++++++++++++++++++++++++++---
liblvm/liblvm.pc.in | 11 +++++++++++
5 files changed, 78 insertions(+), 21 deletions(-)
create mode 100644 liblvm/liblvm.pc.in
diff --git a/configure b/configure
index 2b8d9d7..4187b31 100755
--- a/configure
+++ b/configure
@@ -690,11 +690,12 @@ CLDWHOLEARCHIVE
CLDNOWHOLEARCHIVE
CLDFLAGS
BUILD_DMEVENTD
+LVM_LIB_VERSION
APPLIB
MODPROBE_CMD
MSGFMT
LVM2CMD_LIB
-LVM2APP_LIB
+LVM_LIB
GENHTML
LCOV
CPG_LIBS
@@ -802,7 +803,7 @@ enable_devmapper
enable_compat
enable_ioctl
enable_o_direct
-enable_applib
+enable_api
enable_cmdlib
enable_pkgconfig
enable_fsadm
@@ -1470,7 +1471,7 @@ Optional Features:
--enable-compat Enable support for old device-mapper versions
--disable-driver Disable calls to device-mapper in the kernel
--disable-o_direct Disable O_DIRECT
- --enable-applib Build application library
+ --enable-api Build application library
--enable-cmdlib Build shared command library
--enable-pkgconfig Install pkgconfig support
--enable-fsadm Enable fsadm
@@ -9711,11 +9712,11 @@ _ACEOF
fi
################################################################################
-{ $as_echo "$as_me:$LINENO: checking whether to build liblvm2app.so application library" >&5
-$as_echo_n "checking whether to build liblvm2app.so application library... " >&6; }
-# Check whether --enable-applib was given.
-if test "${enable_applib+set}" = set; then
- enableval=$enable_applib; APPLIB=$enableval
+{ $as_echo "$as_me:$LINENO: checking whether to build liblvm application library" >&5
+$as_echo_n "checking whether to build liblvm application library... " >&6; }
+# Check whether --enable-api was given.
+if test "${enable_api+set}" = set; then
+ enableval=$enable_api; APPLIB=$enableval
else
APPLIB=no
fi
@@ -9724,8 +9725,8 @@ fi
$as_echo "$APPLIB" >&6; }
test x$APPLIB = xyes \
- && LVM2APP_LIB=-llvm2app \
- || LVM2APP_LIB=
+ && LVM_LIB=-llvm2 \
+ || LVM_LIB=
################################################################################
{ $as_echo "$as_me:$LINENO: checking whether to compile liblvm2cmd.so" >&5
@@ -12604,6 +12605,12 @@ _ACEOF
DM_LIB_PATCHLEVEL=`cat VERSION_DM | $AWK -F '[-. ]' '{printf "%s.%s.%s",$1,$2,$3}'`
LVM_VERSION="\"`cat VERSION 2>/dev/null || echo Unknown`\""
+LVM_LIB_VERSION=`cat VERSION | $AWK -F '[-. ]' '{printf "%s.%s.%s",$1,$2,$3}'`
+
+cat >>confdefs.h <<_ACEOF
+#define LVM_LIB_VERSION $LVM_LIB_VERSION
+_ACEOF
+
VER=`cat VERSION`
LVM_RELEASE_DATE="\"`echo $VER | $SED 's/.*(//;s/).*//'`\""
@@ -12681,8 +12688,9 @@ LVM_PATCHLEVEL=`echo "$VER" | $AWK -F '.' '{print $3}'`
+
################################################################################
-ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile"
+ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm.pc man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -13302,6 +13310,7 @@ do
"libdm/Makefile") CONFIG_FILES="$CONFIG_FILES libdm/Makefile" ;;
"libdm/libdevmapper.pc") CONFIG_FILES="$CONFIG_FILES libdm/libdevmapper.pc" ;;
"liblvm/Makefile") CONFIG_FILES="$CONFIG_FILES liblvm/Makefile" ;;
+ "liblvm/liblvm.pc") CONFIG_FILES="$CONFIG_FILES liblvm/liblvm.pc" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
"scripts/clvmd_init_red_hat") CONFIG_FILES="$CONFIG_FILES scripts/clvmd_init_red_hat" ;;
diff --git a/configure.in b/configure.in
index eb6278d..2a62284 100644
--- a/configure.in
+++ b/configure.in
@@ -424,16 +424,16 @@ if test x$ODIRECT = xyes; then
fi
################################################################################
-dnl -- Enable liblvm2app.so
-AC_MSG_CHECKING(whether to build liblvm2app.so application library)
-AC_ARG_ENABLE(applib,
- [ --enable-applib Build application library],
+dnl -- Enable liblvm2.so
+AC_MSG_CHECKING(whether to build liblvm application library)
+AC_ARG_ENABLE(api,
+ [ --enable-api Build application library],
APPLIB=$enableval, APPLIB=no)
AC_MSG_RESULT($APPLIB)
-AC_SUBST([LVM2APP_LIB])
+AC_SUBST([LVM_LIB])
test x$APPLIB = xyes \
- && LVM2APP_LIB=-llvm2app \
- || LVM2APP_LIB=
+ && LVM_LIB=-llvm2 \
+ || LVM_LIB=
################################################################################
dnl -- Enable cmdlib
@@ -748,6 +748,8 @@ AC_DEFINE_UNQUOTED(DM_LIB_VERSION, $DM_LIB_VERSION, [Library version])
DM_LIB_PATCHLEVEL=`cat VERSION_DM | $AWK -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'`
LVM_VERSION="\"`cat VERSION 2>/dev/null || echo Unknown`\""
+LVM_LIB_VERSION=`cat VERSION | $AWK -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'`
+AC_DEFINE_UNQUOTED(LVM_LIB_VERSION, $LVM_LIB_VERSION, [Library version])
VER=`cat VERSION`
LVM_RELEASE_DATE="\"`echo $VER | $SED 's/.*(//;s/).*//'`\""
@@ -760,6 +762,7 @@ LVM_PATCHLEVEL=`echo "$VER" | $AWK -F '.' '{print $3}'`
################################################################################
AC_SUBST(APPLIB)
+AC_SUBST(LVM_LIB_VERSION)
AC_SUBST(BUILD_DMEVENTD)
AC_SUBST(CFLAGS)
AC_SUBST(CFLOW_CMD)
@@ -850,6 +853,7 @@ lib/snapshot/Makefile
libdm/Makefile
libdm/libdevmapper.pc
liblvm/Makefile
+liblvm/liblvm.pc
man/Makefile
po/Makefile
scripts/clvmd_init_red_hat
diff --git a/lib/misc/configure.h.in b/lib/misc/configure.h.in
index ccab9f5..b5a57fe 100644
--- a/lib/misc/configure.h.in
+++ b/lib/misc/configure.h.in
@@ -355,6 +355,9 @@
/* Define to 1 to include built-in support for LVM1 metadata. */
#undef LVM1_INTERNAL
+/* Library version */
+#undef LVM_LIB_VERSION
+
/* Define to 1 to include built-in support for mirrors. */
#undef MIRRORED_INTERNAL
diff --git a/liblvm/Makefile.in b/liblvm/Makefile.in
index 643cc0c..8f96245 100644
--- a/liblvm/Makefile.in
+++ b/liblvm/Makefile.in
@@ -20,7 +20,7 @@ SOURCES =\
lvm_base.c \
lvm_vg.c
-LIB_NAME = liblvm2app
+LIB_NAME = liblvm2api
LIB_VERSION = $(LIB_VERSION_LVM)
VERSIONED_SHLIB = $(LIB_NAME).$(LIB_SUFFIX).$(LIB_VERSION_LVM)
@@ -29,7 +29,7 @@ LIB_STATIC = $(LIB_NAME).a
endif
LIB_SHARED = $(LIB_NAME).so
-CLEAN_TARGETS += liblvm.cflow
+CLEAN_TARGETS += $(LIB_NAME).cflow $(LIB_NAME).$(LIB_SUFFIX)
include $(top_srcdir)/make.tmpl
@@ -45,4 +45,34 @@ liblvm.cflow: $(SOURCES)
sed "s/^/ /;s/ / $(top_srcdir)\/lib\//g;s/$$//"; \
) > $@
-cflow: liblvm.cflow
+cflow: $(LIB_NAME).cflow
+
+.PHONY: install_dynamic install_include install_pkgconfig
+
+INSTALL_TYPE = install_dynamic
+
+ifeq ("@PKGCONFIG@", "yes")
+ INSTALL_TYPE += install_pkgconfig
+endif
+
+install: $(INSTALL_TYPE) install_include
+
+install_include:
+ $(INSTALL) -D $(OWNER) $(GROUP) -m 444 lvm.h \
+ $(includedir)/lvm.h
+
+install_dynamic:
+ $(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $(VERSIONED_SHLIB) \
+ $(libdir)/$(VERSIONED_SHLIB)
+ $(LN_S) -f $(VERSIONED_SHLIB) $(libdir)/$(LIB_NAME).$(LIB_SUFFIX)
+
+install_pkgconfig:
+ $(INSTALL) -D $(OWNER) $(GROUP) -m 444 $(LIB_NAME).pc \
+ $(usrlibdir)/pkgconfig/lvm2api.pc
+
+.PHONY: distclean_lib distclean
+
+distclean_lib:
+ $(RM) $(LIB_NAME).pc
+
+distclean: distclean_lib
diff --git a/liblvm/liblvm.pc.in b/liblvm/liblvm.pc.in
new file mode 100644
index 0000000..7961567
--- /dev/null
+++ b/liblvm/liblvm.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: lvm
+Description: lvm library
+Version: @LVM_LIB_VERSION@
+Cflags: -I${includedir}
+Libs: -L${libdir} -llvm
+Libs.private: -ldevmapper
--
1.6.2.5
More information about the lvm-devel
mailing list