From f6cf14ce13d8d921b0c807280c8941a19bae45f2 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Tue, 27 Dec 2011 19:56:33 -0200 Subject: [PATCH] tools: kmod: bundle depmod together with the others --- Makefile.am | 7 +++++-- tools/kmod-depmod.c | 21 +++++++++++++++++++-- tools/kmod.c | 1 + tools/kmod.h | 1 + 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 1d67fc83..9ab679f0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -109,9 +109,12 @@ tools_kmod_depmod_LDFLAGS = $(AM_LDFLAGS) tools_kmod_SOURCES = tools/kmod.c tools/kmod.h tools/kmod-lsmod.c \ tools/kmod-rmmod.c tools/kmod-insmod.c \ - tools/kmod-modinfo.c tools/kmod-modprobe.c + tools/kmod-modinfo.c tools/kmod-modprobe.c \ + tools/kmod-depmod.c tools_kmod_CPPFLAGS = $(AM_CPPFLAGS) -DKMOD_BUNDLE_TOOL=1 -tools_kmod_LDADD = libkmod/libkmod.la +tools_kmod_CFLAGS = $(AM_CFLAGS) +tools_kmod_LDADD = libkmod/libkmod-util.la \ + libkmod/libkmod.la endif TESTS = test/test-init test/test-loaded diff --git a/tools/kmod-depmod.c b/tools/kmod-depmod.c index 1ebd4efd..84bbced4 100644 --- a/tools/kmod-depmod.c +++ b/tools/kmod-depmod.c @@ -184,7 +184,7 @@ static inline void _log(int prio, const char *fmt, ...) /* binary index write *************************************************/ #include -#define NOFAIL(x) x +#include "macro.h" /* BEGIN: code from module-init-tools/index.c just modified to compile here. * * Original copyright: @@ -2667,7 +2667,7 @@ static int is_version_number(const char *version) return (sscanf(version, "%u.%u", &d1, &d2) == 2); } -int main(int argc, char *argv[]) +static int do_depmod(int argc, char *argv[]) { FILE *out = NULL; int i, err = 0, all = 0, maybe_all = 0, n_config_paths = 0; @@ -2893,3 +2893,20 @@ cmdline_failed: free(config_paths); return EXIT_FAILURE; } + +#ifndef KMOD_BUNDLE_TOOL +int main(int argc, char *argv[]) +{ + return do_depmod(argc, argv); +} + +#else +#include "kmod.h" + +const struct kmod_cmd kmod_cmd_compat_depmod = { + .name = "depmod", + .cmd = do_depmod, + .help = "compat depmod command", +}; + +#endif diff --git a/tools/kmod.c b/tools/kmod.c index a5cb6da3..557c2da4 100644 --- a/tools/kmod.c +++ b/tools/kmod.c @@ -45,6 +45,7 @@ static const struct kmod_cmd *kmod_compat_cmds[] = { &kmod_cmd_compat_insmod, &kmod_cmd_compat_modinfo, &kmod_cmd_compat_modprobe, + &kmod_cmd_compat_depmod, }; static int kmod_help(int argc, char *argv[]) diff --git a/tools/kmod.h b/tools/kmod.h index af2671d0..c8e2689e 100644 --- a/tools/kmod.h +++ b/tools/kmod.h @@ -33,6 +33,7 @@ extern const struct kmod_cmd kmod_cmd_compat_rmmod; extern const struct kmod_cmd kmod_cmd_compat_insmod; extern const struct kmod_cmd kmod_cmd_compat_modinfo; extern const struct kmod_cmd kmod_cmd_compat_modprobe; +extern const struct kmod_cmd kmod_cmd_compat_depmod; extern const struct kmod_cmd kmod_cmd_list; #endif -- 2.39.5