Whamcloud - gitweb
LU-5541 build: move libcfs and liblustreapi over to libtool 62/30562/6
authorJames Simmons <uja.ornl@yahoo.com>
Mon, 8 Jan 2018 22:30:23 +0000 (17:30 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Sun, 14 Jan 2018 02:37:04 +0000 (02:37 +0000)
Change libcfs into a convenience library using libtool. This allows
use to embbed libcfs library into both liblnetconfig and liblustreapi
so their is no longer a need to link applications to libcfs.a
anymore. With this change we need migrate liblustreapi to libtool.

libtool knows how to build both static and dymanic libraries for
liblusteapi, so no need to hack the Makefile. As two added benefits,
the utilities will now use the dynamic version, thus reducing their
footprint, and calling make twice in a row won't rebuild objects
already built.

Test-Parameters: trivial

Change-Id: Icc1e5d42df503b9bf393396fe09f4e4f1f242486
Signed-off-by: frank zago <fzago@cray.com>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/30562
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
19 files changed:
.gitignore
config/lustre-build.m4
configure.ac
debian/.gitignore
debian/control
debian/control.main
debian/rules
libcfs/libcfs/autoMakefile.am
lnet/utils/Makefile.am
lnet/utils/lnetconfig/Makefile.am
lustre-dkms_pre-build.sh
lustre.spec.in
lustre/conf/Makefile.am
lustre/tests/.gitignore
lustre/tests/Makefile.am
lustre/tests/mpi/Makefile.am
lustre/utils/Makefile.am
lustre/utils/gss/Makefile.am
snmp/Makefile.am

index 992b0c7..fcd86fd 100644 (file)
@@ -13,6 +13,7 @@
 #
 # Normal rules
 #
 #
 # Normal rules
 #
+.dirstamp
 .deps
 .depend
 .DS_Store
 .deps
 .depend
 .DS_Store
index b41ce46..eb9c8c9 100644 (file)
@@ -472,7 +472,6 @@ for arg; do
                --enable-tests | --disable-tests ) ;;
                --enable-utils | --disable-utils ) ;;
                --enable-iokit | --disable-iokit ) ;;
                --enable-tests | --disable-tests ) ;;
                --enable-utils | --disable-utils ) ;;
                --enable-iokit | --disable-iokit ) ;;
-               --enable-dlc | --disable-dlc ) ;;
                --enable-manpages | --disable-manpages ) ;;
                * ) CONFIGURE_ARGS="$CONFIGURE_ARGS '$arg'" ;;
        esac
                --enable-manpages | --disable-manpages ) ;;
                * ) CONFIGURE_ARGS="$CONFIGURE_ARGS '$arg'" ;;
        esac
index 2e8b837..57c0c47 100644 (file)
@@ -9,7 +9,7 @@ LC_CONFIG_SRCDIR
 
 AC_CANONICAL_SYSTEM
 
 
 AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE([1.10 tar-ustar -Wno-portability])
+AM_INIT_AUTOMAKE([1.10 tar-ustar -Wno-portability subdir-objects])
 AM_MAINTAINER_MODE([enable])
 
 AC_PROG_CC
 AM_MAINTAINER_MODE([enable])
 
 AC_PROG_CC
index 73db5ee..a27dd02 100644 (file)
@@ -1,5 +1,6 @@
 /*.log
 /*.substvars
 /*.log
 /*.substvars
+/.debhelper
 /files
 /linux-patch-lustre
 /lustre-dev
 /files
 /linux-patch-lustre
 /lustre-dev
index 22e8720..3ba6fe4 100644 (file)
@@ -59,7 +59,7 @@ Package: lustre-tests
 Section: utils
 Architecture: i386 powerpc ppc64el amd64 ia64 arm64
 Priority: optional
 Section: utils
 Architecture: i386 powerpc ppc64el amd64 ia64 arm64
 Priority: optional
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: lustre-utils (= ${binary:Version})
 Description: Test suite for the Lustre filesystem
  Lustre is a scalable, secure, robust, highly-available cluster file system.
  This release is maintained by Intel Corporation and available from
 Description: Test suite for the Lustre filesystem
  Lustre is a scalable, secure, robust, highly-available cluster file system.
  This release is maintained by Intel Corporation and available from
index 22e8720..3ba6fe4 100644 (file)
@@ -59,7 +59,7 @@ Package: lustre-tests
 Section: utils
 Architecture: i386 powerpc ppc64el amd64 ia64 arm64
 Priority: optional
 Section: utils
 Architecture: i386 powerpc ppc64el amd64 ia64 arm64
 Priority: optional
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: lustre-utils (= ${binary:Version})
 Description: Test suite for the Lustre filesystem
  Lustre is a scalable, secure, robust, highly-available cluster file system.
  This release is maintained by Intel Corporation and available from
 Description: Test suite for the Lustre filesystem
  Lustre is a scalable, secure, robust, highly-available cluster file system.
  This release is maintained by Intel Corporation and available from
index 70cc1d8..c71560b 100755 (executable)
@@ -340,7 +340,6 @@ kdist_config: prep-deb-files patch-stamp
                    --disable-quilt  \
                    --disable-dependency-tracking \
                    --disable-doc  \
                    --disable-quilt  \
                    --disable-dependency-tracking \
                    --disable-doc  \
-                   --disable-utils \
                    --disable-iokit \
                    --disable-snmp \
                    --disable-tests \
                    --disable-iokit \
                    --disable-snmp \
                    --disable-tests \
index dbb7cdb..8f25614 100644 (file)
 SUBDIRS = linux util
 DIST_SUBDIRS = linux util
 
 SUBDIRS = linux util
 DIST_SUBDIRS = linux util
 
-noinst_LIBRARIES  = libcfs.a
-libcfs_a_SOURCES  := util/string.c util/nidstrings.c util/param.c
+noinst_LTLIBRARIES = libcfs.la
+libcfs_la_SOURCES  := util/string.c util/nidstrings.c util/param.c
 if UTILS
 if UTILS
-libcfs_a_SOURCES  += util/parser.c util/l_ioctl.c
+libcfs_la_SOURCES  += util/parser.c util/l_ioctl.c
 endif # UTILS
 endif # UTILS
-libcfs_a_CPPFLAGS := -D_GNU_SOURCE
-libcfs_a_CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64
+libcfs_la_CPPFLAGS := -D_GNU_SOURCE
+libcfs_la_CPPFLAGS += -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64
 if UTILS
 if UTILS
-libcfs_a_CPPFLAGS += -DLUSTRE_UTILS=1
+libcfs_la_CPPFLAGS += -DLUSTRE_UTILS=1
 endif
 endif
-libcfs_a_CFLAGS   := -fPIC
+libcfs_la_CFLAGS := -fPIC
 
 if MODULES
 
 
 if MODULES
 
index 14b93fa..97c52d8 100644 (file)
@@ -37,17 +37,15 @@ AM_LDFLAGS := -L.
 
 SUBDIRS = lnetconfig
 
 
 SUBDIRS = lnetconfig
 
-LIBCFS= $(top_builddir)/libcfs/libcfs/libcfs.a
-
 if UTILS
 sbin_PROGRAMS = routerstat lst lnetctl
 
 routerstat_SOURCES = routerstat.c
 if UTILS
 sbin_PROGRAMS = routerstat lst lnetctl
 
 routerstat_SOURCES = routerstat.c
-routerstat_LDADD = $(LIBCFS)
+routerstat_LDADD = $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la
 
 lst_SOURCES = lst.c
 
 lst_SOURCES = lst.c
-lst_LDADD = $(LIBCFS) $(LIBREADLINE) $(LIBEFENCE)
-lst_LDADD += $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la
+lst_LDADD = $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la \
+           $(LIBEFENCE)
 
 if TESTS
 sbin_PROGRAMS += wirecheck
 
 if TESTS
 sbin_PROGRAMS += wirecheck
@@ -57,5 +55,5 @@ endif # TESTS
 
 lnetctl_SOURCES = lnetctl.c
 lnetctl_LDADD = $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la \
 
 lnetctl_SOURCES = lnetctl.c
 lnetctl_LDADD = $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la \
-               $(LIBCFS) $(LIBREADLINE) $(LIBEFENCE)
+               $(LIBEFENCE)
 endif # UTILS
 endif # UTILS
index f8f5fe1..b14785f 100644 (file)
@@ -34,6 +34,7 @@ liblnetconfig_la_SOURCES  = liblnetconfig.c liblnetconfig.h \
 liblnetconfig_la_CPPFLAGS = -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 \
                            -DLUSTRE_UTILS=1 -I$(top_builddir)/lnet/include
 liblnetconfig_la_LDFLAGS = -L$(top_builddir)/libcfs/libcfs -lyaml -lm \
 liblnetconfig_la_CPPFLAGS = -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 \
                            -DLUSTRE_UTILS=1 -I$(top_builddir)/lnet/include
 liblnetconfig_la_LDFLAGS = -L$(top_builddir)/libcfs/libcfs -lyaml -lm \
-                          -version-info 2:0:0
+                          $(LIBREADLINE) -version-info 4:0:0
+liblnetconfig_la_LIBADD = $(top_builddir)/libcfs/libcfs/libcfs.la
 
 EXTRA_DIST =
 
 EXTRA_DIST =
index f793238..2d7d381 100755 (executable)
@@ -66,7 +66,7 @@ fi
 ./configure --prefix=/usr --enable-modules --disable-iokit --disable-snmp \
        --disable-doc --disable-utils --disable-tests --disable-maintainer-mode \
        $KERNEL_STUFF $GSS $SERVER $DKMS_CONFIG_OPTS \
 ./configure --prefix=/usr --enable-modules --disable-iokit --disable-snmp \
        --disable-doc --disable-utils --disable-tests --disable-maintainer-mode \
        $KERNEL_STUFF $GSS $SERVER $DKMS_CONFIG_OPTS \
-       --disable-manpages --disable-dlc
+       --disable-manpages
 
 if [ $? != 0 ] ; then
        echo "configure error, check $7/$1/$2/build/config.log"
 
 if [ $? != 0 ] ; then
        echo "configure error, check $7/$1/$2/build/config.log"
index 7c94d70..d548c06 100644 (file)
@@ -414,6 +414,8 @@ fi
 find $RPM_BUILD_ROOT/lib/modules -name \*.ko -type f -exec chmod u+x {} \;
 %endif
 
 find $RPM_BUILD_ROOT/lib/modules -name \*.ko -type f -exec chmod u+x {} \;
 %endif
 
+rm -f $RPM_BUILD_ROOT%{_libdir}/liblustreapi.la
+
 %if %{with lustre_tests}
 :> lustre-tests.files
 echo '%{_libdir}/lustre/tests/*' >>lustre-tests.files
 %if %{with lustre_tests}
 :> lustre-tests.files
 echo '%{_libdir}/lustre/tests/*' >>lustre-tests.files
@@ -447,8 +449,12 @@ echo '%{_sbindir}/wiretest' >>lustre-tests.files
 %{_bindir}/lfs
 %{_bindir}/lfs_migrate
 /sbin/mount.lustre
 %{_bindir}/lfs
 %{_bindir}/lfs_migrate
 /sbin/mount.lustre
+%if %{with static}
 %{_libdir}/liblustreapi.a
 %{_libdir}/liblustreapi.a
-%{_libdir}/liblustreapi.so
+%endif
+%if %{with shared}
+%{_libdir}/liblustreapi.so*
+%endif
 %if %{with manpages}
 %{_mandir}/man?/*
 %endif
 %if %{with manpages}
 %{_mandir}/man?/*
 %endif
@@ -458,7 +464,9 @@ echo '%{_sbindir}/wiretest' >>lustre-tests.files
 %{_includedir}/linux/lustre
 %endif
 %{_sysconfdir}/udev/rules.d/99-lustre.rules
 %{_includedir}/linux/lustre
 %endif
 %{_sysconfdir}/udev/rules.d/99-lustre.rules
+%if %{with zfs}
 %config(noreplace) %{_sysconfdir}/ldev.conf
 %config(noreplace) %{_sysconfdir}/ldev.conf
+%endif
 %config(noreplace) %{_sysconfdir}/lnet.conf
 %config(noreplace) %{_sysconfdir}/modprobe.d/ko2iblnd.conf
 %if %{with lustre_utils}
 %config(noreplace) %{_sysconfdir}/lnet.conf
 %config(noreplace) %{_sysconfdir}/modprobe.d/ko2iblnd.conf
 %if %{with lustre_utils}
index db2bf47..c3626ba 100644 (file)
@@ -37,7 +37,7 @@ EXTRA_DIST = lustre.dtd slapd-lustre.conf lustre2ldif.xsl top.ldif \
              lnet_routes.conf lnet.conf
 ldapconfdir = $(sysconfdir)/openldap
 
              lnet_routes.conf lnet.conf
 ldapconfdir = $(sysconfdir)/openldap
 
-sysconf_DATA = ldev.conf
+sysconf_DATA = lnet.conf
 
 if UTILS
 noinst_SCRIPTS = slapd-lustre.conf
 
 if UTILS
 noinst_SCRIPTS = slapd-lustre.conf
@@ -48,14 +48,15 @@ endif
 udevrulesdir = $(sysconfdir)/udev/rules.d
 udevrules_DATA = 99-lustre.rules
 
 udevrulesdir = $(sysconfdir)/udev/rules.d
 udevrules_DATA = 99-lustre.rules
 
-if RHEL
 if SERVER
 if SERVER
+if ZFS_ENABLED
+sysconf_DATA += ldev.conf
+endif
+if RHEL
 sysconfigdir = $(sysconfdir)/sysconfig
 sysconfig_DATA = lustre lsvcgss
 endif
 endif
 
 sysconfigdir = $(sysconfdir)/sysconfig
 sysconfig_DATA = lustre lsvcgss
 endif
 endif
 
-sysconf_DATA += lnet.conf
-
 modprobedir = $(sysconfdir)/modprobe.d
 modprobe_DATA = ko2iblnd.conf
 modprobedir = $(sysconfdir)/modprobe.d
 modprobe_DATA = ko2iblnd.conf
index 35cd3f1..65c4389 100644 (file)
@@ -40,6 +40,7 @@
 /lovstripe
 /mcreate
 /memhog
 /lovstripe
 /mcreate
 /memhog
+/mirror_io
 /mkdirmany
 /mlink
 /mmap_cat
 /mkdirmany
 /mlink
 /mmap_cat
index ddd1795..3aee134 100644 (file)
@@ -1,10 +1,8 @@
-LIBCFS = $(top_builddir)/libcfs/libcfs/libcfs.a
-LIBLUSTREAPI = $(top_builddir)/lustre/utils/liblustreapi.a
-
 # Lustre test Makefile
 AM_CFLAGS := -fPIC -D_GNU_SOURCE \
 # Lustre test Makefile
 AM_CFLAGS := -fPIC -D_GNU_SOURCE \
-            -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 \
-            -I/opt/lam/include
+            -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64
+
+LIBLUSTREAPI = $(top_builddir)/lustre/utils/liblustreapi.la
 
 DIST_SUBDIRS = mpi
 
 
 DIST_SUBDIRS = mpi
 
@@ -61,51 +59,49 @@ nobase_noinst_DATA += clientapi/simple_test.c
 EXTRA_DIST = $(noinst_SCRIPTS) $(noinst_DATA) \
              $(nobase_noinst_SCRIPTS) $(nobase_noinst_DATA)
 
 EXTRA_DIST = $(noinst_SCRIPTS) $(noinst_DATA) \
              $(nobase_noinst_SCRIPTS) $(nobase_noinst_DATA)
 
+THETESTS = openunlink truncate directio writeme mlink utime
+THETESTS += tchmod fsx test_brw sendfile
+THETESTS += createmany chownmany statmany multifstat createtest
+THETESTS += opendirunlink opendevunlink unlinkmany checkstat
+THETESTS += statone runas openfile rmdirmany smalliomany
+THETESTS += small_write multiop ll_sparseness_verify
+THETESTS += ll_sparseness_write mrename ll_dirstripe_verify mkdirmany
+THETESTS += openfilleddirunlink rename_many memhog
+THETESTS += mmap_sanity writemany reads flocks_test flock_deadlock
+THETESTS += write_time_limit rwv lgetxattr_size_check checkfiemap
+THETESTS += listxattr_size_check check_fhandle_syscalls badarea_io
+THETESTS += llapi_layout_test orphan_linkea_check llapi_hsm_test
+THETESTS += group_lock_test llapi_fid_test sendfile_grouplock mmap_cat
+THETESTS += swap_lock_test lockahead_test mirror_io
+
 if TESTS
 if MPITESTS
 SUBDIRS = mpi
 endif
 if TESTS
 if MPITESTS
 SUBDIRS = mpi
 endif
-noinst_PROGRAMS = openunlink truncate directio writeme mlink utime
-noinst_PROGRAMS += tchmod fsx test_brw sendfile
-noinst_PROGRAMS += createmany chownmany statmany multifstat createtest
-noinst_PROGRAMS += opendirunlink opendevunlink unlinkmany checkstat
-noinst_PROGRAMS += statone runas openfile rmdirmany smalliomany
-noinst_PROGRAMS += small_write multiop ll_sparseness_verify
-noinst_PROGRAMS += ll_sparseness_write mrename ll_dirstripe_verify mkdirmany
-noinst_PROGRAMS += openfilleddirunlink rename_many memhog
-noinst_PROGRAMS += mmap_sanity writemany reads flocks_test flock_deadlock
-noinst_PROGRAMS += write_time_limit rwv lgetxattr_size_check checkfiemap
-noinst_PROGRAMS += listxattr_size_check check_fhandle_syscalls badarea_io
-noinst_PROGRAMS += llapi_layout_test orphan_linkea_check llapi_hsm_test
-noinst_PROGRAMS += group_lock_test llapi_fid_test sendfile_grouplock mmap_cat
-noinst_PROGRAMS += swap_lock_test lockahead_test mirror_io
 
 bin_PROGRAMS = mcreate munlink
 testdir = $(libdir)/lustre/tests
 
 bin_PROGRAMS = mcreate munlink
 testdir = $(libdir)/lustre/tests
-test_SCRIPTS = $(noinst_SCRIPTS) $(noinst_PROGRAMS)
+test_SCRIPTS = $(noinst_SCRIPTS)
+test_PROGRAMS = $(THETESTS)
 nobase_test_SCRIPTS = $(nobase_noinst_SCRIPTS)
 test_DATA = $(noinst_DATA)
 nobase_test_DATA = $(nobase_noinst_DATA)
 nobase_test_SCRIPTS = $(nobase_noinst_SCRIPTS)
 test_DATA = $(noinst_DATA)
 nobase_test_DATA = $(nobase_noinst_DATA)
+else # !TESTS
+noinst_PROGRAMS = $(THETESTS)
 endif # TESTS
 
 endif # TESTS
 
-mmap_sanity_SOURCES= mmap_sanity.c
-mmap_sanity_LDADD=$(LIBCFS)
-
-multiop_LDADD=$(LIBLUSTREAPI) $(LIBCFS) $(PTHREAD_LIBS)
-llapi_layout_test_LDADD=$(LIBLUSTREAPI)
-llapi_hsm_test_LDADD=$(LIBLUSTREAPI)
-group_lock_test_LDADD=$(LIBLUSTREAPI)
-llapi_fid_test_LDADD=$(LIBLUSTREAPI)
-sendfile_grouplock_LDADD=$(LIBLUSTREAPI)
-swap_lock_test_LDADD=$(LIBLUSTREAPI)
-statmany_LDADD=$(LIBLUSTREAPI)
-statone_LDADD=$(LIBLUSTREAPI)
-rwv_LDADD=$(LIBCFS)
-lockahead_test_LDADD=$(LIBLUSTREAPI)
-mirror_io_LDADD=$(LIBLUSTREAPI)
-
-ll_dirstripe_verify_SOURCES = ll_dirstripe_verify.c
-ll_dirstripe_verify_LDADD = $(LIBLUSTREAPI) $(LIBCFS) $(PTHREAD_LIBS)
-
-flocks_test_SOURCES=flocks_test.c
-flocks_test_LDADD=$(PTHREAD_LIBS)
+mmap_sanity_LDADD = $(LIBLUSTREAPI)
+multiop_LDADD = $(LIBLUSTREAPI) $(PTHREAD_LIBS)
+llapi_layout_test_LDADD = $(LIBLUSTREAPI)
+llapi_hsm_test_LDADD = $(LIBLUSTREAPI)
+group_lock_test_LDADD = $(LIBLUSTREAPI)
+llapi_fid_test_LDADD = $(LIBLUSTREAPI)
+sendfile_grouplock_LDADD = $(LIBLUSTREAPI)
+swap_lock_test_LDADD = $(LIBLUSTREAPI)
+statmany_LDADD = $(LIBLUSTREAPI)
+statone_LDADD = $(LIBLUSTREAPI)
+rwv_LDADD = $(LIBLUSTREAPI)
+lockahead_test_LDADD = $(LIBLUSTREAPI)
+mirror_io_LDADD = $(LIBLUSTREAPI)
+ll_dirstripe_verify_LDADD = $(LIBLUSTREAPI)
+flocks_test_LDADD = $(LIBLUSTREAPI) $(PTHREAD_LIBS)
index ac7acb1..a04dcb6 100644 (file)
@@ -1,15 +1,21 @@
 # Lustre MPI test Makefile
 # Lustre MPI test Makefile
-AM_CFLAGS := -fPIC \
-            -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1
-
-LIBCFS :=  $(top_builddir)/libcfs/libcfs/libcfs.a
+AM_CFLAGS := -fPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64
 
 CC = @MPICC_WRAPPER@
 
 
 CC = @MPICC_WRAPPER@
 
-noinst_PROGRAMS = parallel_grouplock write_append_truncate createmany_mpi
-noinst_PROGRAMS += mdsrate write_disjoint cascading_rw
+THETESTS = parallel_grouplock write_append_truncate createmany_mpi \
+          mdsrate write_disjoint cascading_rw
+
+if TESTS
+if MPITESTS
 testdir = $(libdir)/lustre/tests
 testdir = $(libdir)/lustre/tests
-test_SCRIPTS = $(noinst_PROGRAMS)
+test_PROGRAMS = $(THETESTS)
+else
+noinst_PROGRAMS = $(THETESTS)
+endif
+else
+noinst_PROGRAMS = $(THETESTS)
+endif
 
 write_append_truncate_SOURCES=write_append_truncate.c
 write_disjoint_SOURCES=write_disjoint.c
 
 write_append_truncate_SOURCES=write_append_truncate.c
 write_disjoint_SOURCES=write_disjoint.c
@@ -17,7 +23,7 @@ createmany_mpi_SOURCES=createmany-mpi.c
 parallel_grouplock_SOURCES=parallel_grouplock.c lp_utils.c lp_utils.h
 
 cascading_rw_SOURCES=cascading_rw.c lp_utils.c lp_utils.h
 parallel_grouplock_SOURCES=parallel_grouplock.c lp_utils.c lp_utils.h
 
 cascading_rw_SOURCES=cascading_rw.c lp_utils.c lp_utils.h
-cascading_rw_LDADD=-L$(top_builddir)/lustre/utils -llustreapi $(LIBCFS)
+cascading_rw_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la
 
 mdsrate_SOURCES=mdsrate.c
 
 mdsrate_SOURCES=mdsrate.c
-mdsrate_LDADD=-L$(top_builddir)/lustre/utils -llustreapi $(LIBCFS)
+mdsrate_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la
index 56aba33..3cccbf0 100644 (file)
@@ -4,8 +4,6 @@ AM_CFLAGS  := -fPIC -D_GNU_SOURCE \
              -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1
 AM_LDFLAGS := -L$(top_builddir)/lnet/utils
 
              -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1
 AM_LDFLAGS := -L$(top_builddir)/lnet/utils
 
-LIBCFS := $(top_builddir)/libcfs/libcfs/libcfs.a
-
 if TESTS
 EXTRA_PROGRAMS = wirecheck
 endif
 if TESTS
 EXTRA_PROGRAMS = wirecheck
 endif
@@ -13,7 +11,7 @@ endif
 if UTILS
 
 if GSS
 if UTILS
 
 if GSS
-SUBDIRS = gss
+SUBDIRS = gss
 GSSSRC = gss/err_util.c gss/err_util.h
 if GSS_SSK
 GSSSRC += gss/sk_utils.c gss/sk_utils.h
 GSSSRC = gss/err_util.c gss/err_util.h
 if GSS_SSK
 GSSSRC += gss/sk_utils.c gss/sk_utils.h
@@ -43,31 +41,34 @@ if LIBPTHREAD
 sbin_PROGRAMS += lhsmtool_posix
 endif
 
 sbin_PROGRAMS += lhsmtool_posix
 endif
 
-pkglib_LTLIBRARIES =
-lib_LIBRARIES = liblustreapi.a
+lib_LIBRARIES =
+noinst_LIBRARIES =
 if LDISKFS_ENABLED
 if LDISKFS_ENABLED
+libiam_a_SOURCES = libiam.c
 lib_LIBRARIES += libiam.a
 endif
 lib_LIBRARIES += libiam.a
 endif
-noinst_LIBRARIES = liblustreapitmp.a
+
+pkglib_LTLIBRARIES =
+lib_LTLIBRARIES = liblustreapi.la
 endif # UTILS
 
 lctl_SOURCES = portals.c debug.c obd.c lustre_cfg.c lctl.c obdctl.h
 if SERVER
 lctl_SOURCES += lustre_lfsck.c lsnapshot.c
 endif
 endif # UTILS
 
 lctl_SOURCES = portals.c debug.c obd.c lustre_cfg.c lctl.c obdctl.h
 if SERVER
 lctl_SOURCES += lustre_lfsck.c lsnapshot.c
 endif
-lctl_LDADD :=  liblustreapi.a $(LIBCFS) $(LIBREADLINE) $(PTHREAD_LIBS)
-lctl_DEPENDENCIES := $(LIBCFS) liblustreapi.a
+lctl_LDADD :=  liblustreapi.la $(PTHREAD_LIBS)
+lctl_DEPENDENCIES := liblustreapi.la
 
 lfs_SOURCES = lfs.c lfs_project.c lfs_project.h
 
 lfs_SOURCES = lfs.c lfs_project.c lfs_project.h
-lfs_LDADD := liblustreapi.a $(LIBCFS) $(LIBREADLINE)
-lfs_DEPENDENCIES := $(LIBCFS) liblustreapi.a
+lfs_LDADD := liblustreapi.la
+lfs_DEPENDENCIES := liblustreapi.la
 
 lustre_rsync_SOURCES = lustre_rsync.c lustre_rsync.h
 
 lustre_rsync_SOURCES = lustre_rsync.c lustre_rsync.h
-lustre_rsync_LDADD :=  liblustreapi.a $(LIBCFS) $(LIBREADLINE) $(PTHREAD_LIBS)
-lustre_rsync_DEPENDENCIES := $(LIBCFS) liblustreapi.a
+lustre_rsync_LDADD :=  liblustreapi.la $(PTHREAD_LIBS)
+lustre_rsync_DEPENDENCIES := liblustreapi.la
 
 lshowmount_SOURCES = lshowmount.c nidlist.c nidlist.h
 
 lshowmount_SOURCES = lshowmount.c nidlist.c nidlist.h
-lshowmount_LDADD :=  liblustreapi.a
+lshowmount_LDADD :=  liblustreapi.la
 
 if EXT2FS_DEVEL
 EXT2FSLIB = -lext2fs
 
 if EXT2FS_DEVEL
 EXT2FSLIB = -lext2fs
@@ -87,17 +88,18 @@ llverfs_LDADD := $(EXT2FSLIB) $(E2PLIB)
 
 llverdev_LDADD := $(EXT2FSLIB) $(BLKIDLIB)
 
 
 llverdev_LDADD := $(EXT2FSLIB) $(BLKIDLIB)
 
-liblustreapitmp_a_SOURCES = liblustreapi.c liblustreapi_hsm.c \
-                           liblustreapi_nodemap.c lustreapi_internal.h \
-                           liblustreapi_json.c liblustreapi_layout.c \
-                           liblustreapi_lease.c liblustreapi_util.c \
-                           liblustreapi_kernelconn.c liblustreapi_param.c \
-                           liblustreapi_mirror.c \
-                           $(top_builddir)/libcfs/libcfs/util/string.c \
-                           $(top_builddir)/libcfs/libcfs/util/param.c \
-                           liblustreapi_ladvise.c liblustreapi_chlg.c
+liblustreapi_la_SOURCES = liblustreapi.c liblustreapi_hsm.c \
+                         liblustreapi_nodemap.c lustreapi_internal.h \
+                         liblustreapi_json.c liblustreapi_layout.c \
+                         liblustreapi_lease.c liblustreapi_util.c \
+                         liblustreapi_kernelconn.c liblustreapi_param.c \
+                         liblustreapi_mirror.c \
+                         liblustreapi_ladvise.c liblustreapi_chlg.c
+liblustreapi_la_LDFLAGS = $(LIBREADLINE) -version-info 1:0:0
+liblustreapi_la_LIBADD = $(top_builddir)/libcfs/libcfs/libcfs.la
+
 if UTILS
 if UTILS
-LIB_TARGETS = liblustreapi.so
+LIB_TARGETS =
 if PLUGINS
 if LDISKFS_ENABLED
 LIB_TARGETS += mount_osd_ldiskfs.so
 if PLUGINS
 if LDISKFS_ENABLED
 LIB_TARGETS += mount_osd_ldiskfs.so
@@ -107,12 +109,6 @@ LIB_TARGETS += mount_osd_zfs.so
 endif
 endif
 
 endif
 endif
 
-# build static and shared lib lustreapi
-liblustreapi.a : liblustreapitmp.a
-       rm -f liblustreapi.a liblustreapi.so
-       $(CC) $(LDFLAGS) -shared -o liblustreapi.so `$(AR) -t liblustreapitmp.a`
-       mv liblustreapitmp.a liblustreapi.a
-
 install-exec-hook:
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
 install-exec-hook:
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libdir)
@@ -120,29 +116,18 @@ install-exec-hook:
        for p in $(LIB_TARGETS); do \
          if test -f $$p; then \
            f="`echo $$p | sed -e 's|^.*/||'`"; \
        for p in $(LIB_TARGETS); do \
          if test -f $$p; then \
            f="`echo $$p | sed -e 's|^.*/||'`"; \
-           if `echo -n $$p | grep -q mount`; then \
-               echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/lustre/$$f"; \
-               $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/lustre/$$f; \
-           else \
-               echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$f"; \
-               $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$f; \
-           fi; \
+           echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/lustre/$$f"; \
+           $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/lustre/$$f; \
          else :; fi; \
        done
 endif # UTILS
 
          else :; fi; \
        done
 endif # UTILS
 
-if LDISKFS_ENABLED
-libiam_a_SOURCES = libiam.c
-endif
-
 llog_reader_SOURCES = llog_reader.c
 llog_reader_SOURCES = llog_reader.c
-llog_reader_LDADD := $(LIBCFS) liblustreapi.a
-llog_reader_DEPENDENCIES := $(LIBCFS) liblustreapi.a
+llog_reader_LDADD := liblustreapi.la
+llog_reader_DEPENDENCIES := liblustreapi.la
 
 lr_reader_SOURCES = lr_reader.c
 
 
 lr_reader_SOURCES = lr_reader.c
 
-lib_LTLIBRARIES =
-
 if UTILS
 
 PLUGIN_LIB =
 if UTILS
 
 PLUGIN_LIB =
@@ -189,7 +174,8 @@ endif # LDISKFS_ENABLED
 mount_lustre_SOURCES = mount_lustre.c mount_utils.c mount_utils.h $(GSSSRC)
 mount_lustre_CPPFLAGS := ${MNTMODCFLAGS}
 mount_lustre_LDFLAGS  := ${MNTMODLDFLAGS}
 mount_lustre_SOURCES = mount_lustre.c mount_utils.c mount_utils.h $(GSSSRC)
 mount_lustre_CPPFLAGS := ${MNTMODCFLAGS}
 mount_lustre_LDFLAGS  := ${MNTMODLDFLAGS}
-mount_lustre_LDADD    := $(LIBCFS) $(SELINUX) $(LDLIBMOUNT) $(PLUGIN_LIB) $(GSSLIB)
+mount_lustre_LDADD    := $(top_builddir)/libcfs/libcfs/libcfs.la \
+                        $(SELINUX) $(LDLIBMOUNT) $(PLUGIN_LIB) $(GSSLIB)
 
 mkfs_lustre_SOURCES = mkfs_lustre.c mount_utils.c mount_utils.h $(GSSSRC)
 mkfs_lustre_CPPFLAGS := -UTUNEFS ${MNTMODCFLAGS}
 
 mkfs_lustre_SOURCES = mkfs_lustre.c mount_utils.c mount_utils.h $(GSSSRC)
 mkfs_lustre_CPPFLAGS := -UTUNEFS ${MNTMODCFLAGS}
@@ -202,12 +188,12 @@ tunefs_lustre_LDFLAGS  := ${MNTMODLDFLAGS}
 tunefs_lustre_LDADD    := $(mkfs_lustre_LDADD)
 
 l_getidentity_SOURCES = l_getidentity.c
 tunefs_lustre_LDADD    := $(mkfs_lustre_LDADD)
 
 l_getidentity_SOURCES = l_getidentity.c
-l_getidentity_LDADD := $(LIBCFS)
-l_getidentity_DEPENDENCIES := $(LIBCFS)
+l_getidentity_LDADD := liblustreapi.la
+l_getidentity_DEPENDENCIES := liblustreapi.la
 
 lhsmtool_posix_SOURCES = lhsmtool_posix.c
 
 lhsmtool_posix_SOURCES = lhsmtool_posix.c
-lhsmtool_posix_LDADD := liblustreapi.a $(LIBCFS) $(PTHREAD_LIBS)
-lhsmtool_posix_DEPENDENCIES := liblustreapi.a $(LIBCFS)
+lhsmtool_posix_LDADD := liblustreapi.la $(PTHREAD_LIBS)
+lhsmtool_posix_DEPENDENCIES := liblustreapi.la
 
 wirecheck_SOURCES = wirecheck.c
 wirecheck_CPPFLAGS := -DCC="\"$(CC)\""
 
 wirecheck_SOURCES = wirecheck.c
 wirecheck_CPPFLAGS := -DCC="\"$(CC)\""
index 5bac807..f11b3c3 100644 (file)
@@ -4,8 +4,6 @@ AM_CFLAGS := -fPIC \
             -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 \
             -D_GNU_SOURCE
 
             -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLUSTRE_UTILS=1 \
             -D_GNU_SOURCE
 
-LIBCFS := $(top_builddir)/libcfs/libcfs/libcfs.a
-
 sbin_PROGRAMS = lsvcgssd l_idmap
 
 if GSS_KEYRING
 sbin_PROGRAMS = lsvcgssd l_idmap
 
 if GSS_KEYRING
@@ -68,9 +66,8 @@ lsvcgssd_SOURCES = \
         svcgssd.h
 
 lsvcgssd_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS)
         svcgssd.h
 
 lsvcgssd_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS)
-lsvcgssd_LDADD = $(LIBCFS) $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lkeyutils -lm
+lsvcgssd_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lkeyutils -lm
 lsvcgssd_LDFLAGS = $(KRBLDFLAGS)
 lsvcgssd_LDFLAGS = $(KRBLDFLAGS)
-lsvcgssd_DEPENDENCIES = $(LIBCFS)
 
 l_idmap_SOURCES = \
        l_idmap.c \
 
 l_idmap_SOURCES = \
        l_idmap.c \
@@ -79,7 +76,7 @@ l_idmap_SOURCES = \
        \
        lsupport.h
 
        \
        lsupport.h
 
-l_idmap_LDADD = $(LIBCFS)
+l_idmap_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la
 
 lgss_keyring_SOURCES = \
        lgss_keyring.c \
 
 lgss_keyring_SOURCES = \
        lgss_keyring.c \
@@ -98,9 +95,8 @@ lgss_keyring_SOURCES = \
        lsupport.h
 
 lgss_keyring_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS) -D _NEW_BUILD_
        lsupport.h
 
 lgss_keyring_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS) -D _NEW_BUILD_
-lgss_keyring_LDADD = $(LIBCFS) $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lm -lkeyutils
+lgss_keyring_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lm -lkeyutils
 lgss_keyring_LDFLAGS = $(KRBLDFLAGS)
 lgss_keyring_LDFLAGS = $(KRBLDFLAGS)
-lgss_keyring_DEPENDENCIES = $(LIBCFS)
 
 if GSS_SSK
 lgss_keyring_SOURCES += sk_utils.c sk_utils.h lgss_sk_utils.c
 
 if GSS_SSK
 lgss_keyring_SOURCES += sk_utils.c sk_utils.h lgss_sk_utils.c
@@ -112,9 +108,8 @@ lgss_sk_SOURCES = \
        sk_utils.h
 
 lgss_sk_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS)
        sk_utils.h
 
 lgss_sk_CFLAGS = $(AM_CFLAGS) $(CFLAGS) $(KRBCFLAGS)
-lgss_sk_LDADD = $(LIBCFS) $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lm -lkeyutils
+lgss_sk_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la $(GSSAPI_LIBS) $(KRBLIBS) -lcrypto -lssl -lm -lkeyutils
 lgss_sk_LDFLAGS = $(KRBLDFLAGS)
 lgss_sk_LDFLAGS = $(KRBLDFLAGS)
-lgss_sk_DEPENDENCIES = $(LIBCFS)
 endif
 
 EXTRA_DIST =
 endif
 
 EXTRA_DIST =
index 453f3ff..f7d114c 100644 (file)
@@ -9,7 +9,7 @@ liblustresnmp_la_SOURCES =      \
        lustre-snmp-util.c      \
        lustre-snmp-util.h
 
        lustre-snmp-util.c      \
        lustre-snmp-util.h
 
-LIBCFS = $(top_builddir)/libcfs/libcfs/libcfs.a
+LIBCFS = $(top_builddir)/libcfs/libcfs/libcfs.la
 
 liblustresnmp_la_CFLAGS := $(NET_SNMP_CFLAGS)
 liblustresnmp_la_LIBADD := $(NET_SNMP_LIBS) $(LIBCFS)
 
 liblustresnmp_la_CFLAGS := $(NET_SNMP_CFLAGS)
 liblustresnmp_la_LIBADD := $(NET_SNMP_LIBS) $(LIBCFS)