From 7b659a1e68174212c443761be1880774b440a901 Mon Sep 17 00:00:00 2001 From: James Simmons Date: Mon, 8 Jan 2018 17:30:23 -0500 Subject: [PATCH] LU-5541 build: move libcfs and liblustreapi over to libtool 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 Signed-off-by: James Simmons Reviewed-on: https://review.whamcloud.com/30562 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Nathaniel Clark Reviewed-by: Oleg Drokin --- .gitignore | 1 + config/lustre-build.m4 | 1 - configure.ac | 2 +- debian/.gitignore | 1 + debian/control | 2 +- debian/control.main | 2 +- debian/rules | 1 - libcfs/libcfs/autoMakefile.am | 14 +++---- lnet/utils/Makefile.am | 10 ++--- lnet/utils/lnetconfig/Makefile.am | 3 +- lustre-dkms_pre-build.sh | 2 +- lustre.spec.in | 10 ++++- lustre/conf/Makefile.am | 9 +++-- lustre/tests/.gitignore | 1 + lustre/tests/Makefile.am | 78 +++++++++++++++++------------------- lustre/tests/mpi/Makefile.am | 24 ++++++----- lustre/utils/Makefile.am | 84 ++++++++++++++++----------------------- lustre/utils/gss/Makefile.am | 13 ++---- snmp/Makefile.am | 2 +- 19 files changed, 126 insertions(+), 134 deletions(-) diff --git a/.gitignore b/.gitignore index 992b0c7..fcd86fd 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ # # Normal rules # +.dirstamp .deps .depend .DS_Store diff --git a/config/lustre-build.m4 b/config/lustre-build.m4 index b41ce46..eb9c8c9 100644 --- a/config/lustre-build.m4 +++ b/config/lustre-build.m4 @@ -472,7 +472,6 @@ for arg; do --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 diff --git a/configure.ac b/configure.ac index 2e8b837..57c0c47 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ LC_CONFIG_SRCDIR 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 diff --git a/debian/.gitignore b/debian/.gitignore index 73db5ee..a27dd02 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -1,5 +1,6 @@ /*.log /*.substvars +/.debhelper /files /linux-patch-lustre /lustre-dev diff --git a/debian/control b/debian/control index 22e8720e..3ba6fe4 100644 --- a/debian/control +++ b/debian/control @@ -59,7 +59,7 @@ Package: lustre-tests 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 diff --git a/debian/control.main b/debian/control.main index 22e8720e..3ba6fe4 100644 --- a/debian/control.main +++ b/debian/control.main @@ -59,7 +59,7 @@ Package: lustre-tests 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 diff --git a/debian/rules b/debian/rules index 70cc1d8..c71560b 100755 --- a/debian/rules +++ b/debian/rules @@ -340,7 +340,6 @@ kdist_config: prep-deb-files patch-stamp --disable-quilt \ --disable-dependency-tracking \ --disable-doc \ - --disable-utils \ --disable-iokit \ --disable-snmp \ --disable-tests \ diff --git a/libcfs/libcfs/autoMakefile.am b/libcfs/libcfs/autoMakefile.am index dbb7cdb..8f25614 100644 --- a/libcfs/libcfs/autoMakefile.am +++ b/libcfs/libcfs/autoMakefile.am @@ -35,17 +35,17 @@ 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 -libcfs_a_SOURCES += util/parser.c util/l_ioctl.c +libcfs_la_SOURCES += util/parser.c util/l_ioctl.c 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 -libcfs_a_CPPFLAGS += -DLUSTRE_UTILS=1 +libcfs_la_CPPFLAGS += -DLUSTRE_UTILS=1 endif -libcfs_a_CFLAGS := -fPIC +libcfs_la_CFLAGS := -fPIC if MODULES diff --git a/lnet/utils/Makefile.am b/lnet/utils/Makefile.am index 14b93fa..97c52d8 100644 --- a/lnet/utils/Makefile.am +++ b/lnet/utils/Makefile.am @@ -37,17 +37,15 @@ AM_LDFLAGS := -L. SUBDIRS = lnetconfig -LIBCFS= $(top_builddir)/libcfs/libcfs/libcfs.a - 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_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 @@ -57,5 +55,5 @@ endif # TESTS lnetctl_SOURCES = lnetctl.c lnetctl_LDADD = $(top_builddir)/lnet/utils/lnetconfig/liblnetconfig.la \ - $(LIBCFS) $(LIBREADLINE) $(LIBEFENCE) + $(LIBEFENCE) endif # UTILS diff --git a/lnet/utils/lnetconfig/Makefile.am b/lnet/utils/lnetconfig/Makefile.am index f8f5fe1..b14785f 100644 --- a/lnet/utils/lnetconfig/Makefile.am +++ b/lnet/utils/lnetconfig/Makefile.am @@ -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 \ - -version-info 2:0:0 + $(LIBREADLINE) -version-info 4:0:0 +liblnetconfig_la_LIBADD = $(top_builddir)/libcfs/libcfs/libcfs.la EXTRA_DIST = diff --git a/lustre-dkms_pre-build.sh b/lustre-dkms_pre-build.sh index f793238..2d7d381 100755 --- a/lustre-dkms_pre-build.sh +++ b/lustre-dkms_pre-build.sh @@ -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 \ - --disable-manpages --disable-dlc + --disable-manpages if [ $? != 0 ] ; then echo "configure error, check $7/$1/$2/build/config.log" diff --git a/lustre.spec.in b/lustre.spec.in index 7c94d70..d548c06 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -414,6 +414,8 @@ fi 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 @@ -447,8 +449,12 @@ echo '%{_sbindir}/wiretest' >>lustre-tests.files %{_bindir}/lfs %{_bindir}/lfs_migrate /sbin/mount.lustre +%if %{with static} %{_libdir}/liblustreapi.a -%{_libdir}/liblustreapi.so +%endif +%if %{with shared} +%{_libdir}/liblustreapi.so* +%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 +%if %{with zfs} %config(noreplace) %{_sysconfdir}/ldev.conf +%endif %config(noreplace) %{_sysconfdir}/lnet.conf %config(noreplace) %{_sysconfdir}/modprobe.d/ko2iblnd.conf %if %{with lustre_utils} diff --git a/lustre/conf/Makefile.am b/lustre/conf/Makefile.am index db2bf47..c3626ba 100644 --- a/lustre/conf/Makefile.am +++ b/lustre/conf/Makefile.am @@ -37,7 +37,7 @@ EXTRA_DIST = lustre.dtd slapd-lustre.conf lustre2ldif.xsl top.ldif \ lnet_routes.conf lnet.conf ldapconfdir = $(sysconfdir)/openldap -sysconf_DATA = ldev.conf +sysconf_DATA = lnet.conf if UTILS noinst_SCRIPTS = slapd-lustre.conf @@ -48,14 +48,15 @@ endif udevrulesdir = $(sysconfdir)/udev/rules.d udevrules_DATA = 99-lustre.rules -if RHEL if SERVER +if ZFS_ENABLED +sysconf_DATA += ldev.conf +endif +if RHEL sysconfigdir = $(sysconfdir)/sysconfig sysconfig_DATA = lustre lsvcgss endif endif -sysconf_DATA += lnet.conf - modprobedir = $(sysconfdir)/modprobe.d modprobe_DATA = ko2iblnd.conf diff --git a/lustre/tests/.gitignore b/lustre/tests/.gitignore index 35cd3f1..65c4389 100644 --- a/lustre/tests/.gitignore +++ b/lustre/tests/.gitignore @@ -40,6 +40,7 @@ /lovstripe /mcreate /memhog +/mirror_io /mkdirmany /mlink /mmap_cat diff --git a/lustre/tests/Makefile.am b/lustre/tests/Makefile.am index ddd1795..3aee134 100644 --- a/lustre/tests/Makefile.am +++ b/lustre/tests/Makefile.am @@ -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 \ - -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 @@ -61,51 +59,49 @@ nobase_noinst_DATA += clientapi/simple_test.c 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 -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 -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) +else # !TESTS +noinst_PROGRAMS = $(THETESTS) 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) diff --git a/lustre/tests/mpi/Makefile.am b/lustre/tests/mpi/Makefile.am index ac7acb1..a04dcb6 100644 --- a/lustre/tests/mpi/Makefile.am +++ b/lustre/tests/mpi/Makefile.am @@ -1,15 +1,21 @@ # 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@ -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 -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 @@ -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 -cascading_rw_LDADD=-L$(top_builddir)/lustre/utils -llustreapi $(LIBCFS) +cascading_rw_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la mdsrate_SOURCES=mdsrate.c -mdsrate_LDADD=-L$(top_builddir)/lustre/utils -llustreapi $(LIBCFS) +mdsrate_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la diff --git a/lustre/utils/Makefile.am b/lustre/utils/Makefile.am index 56aba33..3cccbf0 100644 --- a/lustre/utils/Makefile.am +++ b/lustre/utils/Makefile.am @@ -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 -LIBCFS := $(top_builddir)/libcfs/libcfs/libcfs.a - if TESTS EXTRA_PROGRAMS = wirecheck endif @@ -13,7 +11,7 @@ endif 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 @@ -43,31 +41,34 @@ if LIBPTHREAD sbin_PROGRAMS += lhsmtool_posix endif -pkglib_LTLIBRARIES = -lib_LIBRARIES = liblustreapi.a +lib_LIBRARIES = +noinst_LIBRARIES = if LDISKFS_ENABLED +libiam_a_SOURCES = libiam.c 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 -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_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_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_LDADD := liblustreapi.a +lshowmount_LDADD := liblustreapi.la if EXT2FS_DEVEL EXT2FSLIB = -lext2fs @@ -87,17 +88,18 @@ llverfs_LDADD := $(EXT2FSLIB) $(E2PLIB) 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 -LIB_TARGETS = liblustreapi.so +LIB_TARGETS = if PLUGINS if LDISKFS_ENABLED LIB_TARGETS += mount_osd_ldiskfs.so @@ -107,12 +109,6 @@ LIB_TARGETS += mount_osd_zfs.so 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) @@ -120,29 +116,18 @@ install-exec-hook: 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 -if LDISKFS_ENABLED -libiam_a_SOURCES = libiam.c -endif - 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 -lib_LTLIBRARIES = - 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_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} @@ -202,12 +188,12 @@ tunefs_lustre_LDFLAGS := ${MNTMODLDFLAGS} 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_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)\"" diff --git a/lustre/utils/gss/Makefile.am b/lustre/utils/gss/Makefile.am index 5bac807..f11b3c3 100644 --- a/lustre/utils/gss/Makefile.am +++ b/lustre/utils/gss/Makefile.am @@ -4,8 +4,6 @@ AM_CFLAGS := -fPIC \ -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 @@ -68,9 +66,8 @@ lsvcgssd_SOURCES = \ 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_DEPENDENCIES = $(LIBCFS) l_idmap_SOURCES = \ l_idmap.c \ @@ -79,7 +76,7 @@ l_idmap_SOURCES = \ \ lsupport.h -l_idmap_LDADD = $(LIBCFS) +l_idmap_LDADD = $(top_builddir)/lustre/utils/liblustreapi.la 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_ -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_DEPENDENCIES = $(LIBCFS) 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) -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_DEPENDENCIES = $(LIBCFS) endif EXTRA_DIST = diff --git a/snmp/Makefile.am b/snmp/Makefile.am index 453f3ff..f7d114c 100644 --- a/snmp/Makefile.am +++ b/snmp/Makefile.am @@ -9,7 +9,7 @@ liblustresnmp_la_SOURCES = \ 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) -- 1.8.3.1