[lvm-devel] Re: LVM2/tools/fsadm Makefile.in
Jim Meyering
jim at meyering.net
Wed Oct 3 14:59:51 UTC 2007
Alasdair G Kergon <agk at redhat.com> wrote:
> On Wed, Oct 03, 2007 at 09:46:58AM -0000, meyering at sourceware.org wrote:
>> * tools/fsadm/Makefile.in (LVMLIBS): Define.
>> (fsadm): Link with $(LVMLIBS).
>
>> fsadm: $(OBJECTS)
>> - $(CC) -o $@ $(CFLAGS) $(OBJECTS) -rdynamic
>> + $(CC) -o $@ $(CFLAGS) $(OBJECTS) $(LDFLAGS) $(LVMLIBS) -rdynamic
>
> fsadm is meant to be independent of LVM2 so should not be using LVMLIBS.
> What should be done to deal with this?
Unless I hear otherwise, I'll fix it by reverting the
Makefile.in change and applying this one instead:
-------------
Fix fsadm build failure a different way, so that fsadm doesn't use -llvm.
* lib/misc/util.c (last_path_component): Move definition to ...
* lib/misc/last-path-component.h (last_path_component): ...here.
New file. Make the function "static inline".
* include/.symlinks: Add last-path-component.h.
* lib/misc/util.h (last_path_component): Remove declaration.
* tools/fsadm/fsadm.c: Include "last-path-component.h".
* tools/lvmcmdline.c: Likewise.
Signed-off-by: Jim Meyering <meyering at redhat.com>
---
include/.symlinks | 1 +
lib/misc/last-path-component.h | 27 +++++++++++++++++++++++++++
lib/misc/util.c | 7 +------
lib/misc/util.h | 2 --
tools/fsadm/fsadm.c | 1 +
tools/lvmcmdline.c | 1 +
6 files changed, 31 insertions(+), 8 deletions(-)
create mode 100644 lib/misc/last-path-component.h
diff --git a/include/.symlinks b/include/.symlinks
index a127e2c..7c54d9e 100644
--- a/include/.symlinks
+++ b/include/.symlinks
@@ -39,6 +39,7 @@
../lib/misc/crc.h
../lib/misc/intl.h
../lib/misc/util.h
+../lib/misc/last-path-component.h
../lib/misc/lib.h
../lib/misc/lvm-exec.h
../lib/misc/lvm-file.h
diff --git a/lib/misc/last-path-component.h b/lib/misc/last-path-component.h
new file mode 100644
index 0000000..69a1ce0
--- /dev/null
+++ b/lib/misc/last-path-component.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2007 Red Hat, Inc. All rights reserved.
+ *
+ * This file is part of LVM2.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License v.2.1.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*
+ * Return the address of the last file name component of NAME.
+ * If NAME ends in a slash, return the empty string.
+ */
+
+#include <string.h>
+
+static inline char *last_path_component(char const *name)
+{
+ char const *slash = strrchr (name, '/');
+ char const *res = slash ? slash + 1 : name;
+ return (char *) res;
+}
diff --git a/lib/misc/util.c b/lib/misc/util.c
index b134c5e..75c7afa 100644
--- a/lib/misc/util.c
+++ b/lib/misc/util.c
@@ -19,9 +19,4 @@
#include "lib.h"
-char *last_path_component(char const *name)
-{
- char const *slash = strrchr (name, '/');
- char const *res = slash ? slash + 1 : name;
- return (char *) res;
-}
+/* empty for now. */
diff --git a/lib/misc/util.h b/lib/misc/util.h
index 694864c..5e5677d 100644
--- a/lib/misc/util.h
+++ b/lib/misc/util.h
@@ -25,6 +25,4 @@
(void) (&_a == &_b); \
_a > _b ? _a : _b; })
-char *last_path_component(char const *name);
-
#endif
diff --git a/tools/fsadm/fsadm.c b/tools/fsadm/fsadm.c
index 8621164..619228a 100644
--- a/tools/fsadm/fsadm.c
+++ b/tools/fsadm/fsadm.c
@@ -39,6 +39,7 @@
#include <sys/vfs.h>
#include "util.h"
+#include "last-path-component.h"
#define log_error(str, x...) fprintf(stderr, "%s(%u): " str "\n", __FILE__, __LINE__, x)
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 35a1266..94575f3 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -20,6 +20,7 @@
#include "stub.h"
#include "lvm2cmd.h"
+#include "last-path-component.h"
#include <signal.h>
#include <syslog.h>
--
1.5.3.3.131.g34c6d
More information about the lvm-devel
mailing list