Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1160000 > unrolled thread

[PATCH kmod 0/3] Add feature list together with version

Started bylucas.de.marchi@gmail.com
First post2015-06-07 08:30 +0200
Last post2015-06-07 08:30 +0200
Articles 3 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH kmod 0/3] Add feature list together with version lucas.de.marchi@gmail.com - 2015-06-07 08:30 +0200
    [PATCH kmod 2/3] build: add relevant features to KMOD_FEATURES in config.h lucas.de.marchi@gmail.com - 2015-06-07 08:30 +0200
    [PATCH kmod 1/3] build: add function to build string of features lucas.de.marchi@gmail.com - 2015-06-07 08:30 +0200

#1160000 — [PATCH kmod 0/3] Add feature list together with version

Fromlucas.de.marchi@gmail.com
Date2015-06-07 08:30 +0200
Subject[PATCH kmod 0/3] Add feature list together with version
Message-ID<pyCfL-7Qr-3@gated-at.bofh.it>
From: Lucas De Marchi <lucas.demarchi@intel.com>

Sample output:

$ ./tools/kmod --version
kmod version 20
+XZ +ZLIB -EXPERIMENTAL

Lucas De Marchi (3):
  build: add function to build string of features
  build: add relevant features to KMOD_FEATURES in config.h
  tools: display features together with version information

 configure.ac     |  7 +++++++
 m4/features.m4   | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 tools/depmod.c   |  1 +
 tools/insmod.c   |  1 +
 tools/kmod.c     |  1 +
 tools/modinfo.c  |  1 +
 tools/modprobe.c |  1 +
 tools/rmmod.c    |  1 +
 8 files changed, 61 insertions(+)
 create mode 100644 m4/features.m4

-- 
2.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1160001 — [PATCH kmod 2/3] build: add relevant features to KMOD_FEATURES in config.h

Fromlucas.de.marchi@gmail.com
Date2015-06-07 08:30 +0200
Subject[PATCH kmod 2/3] build: add relevant features to KMOD_FEATURES in config.h
Message-ID<pyCfL-7Qr-5@gated-at.bofh.it>
In reply to#1160000
From: Lucas De Marchi <lucas.demarchi@intel.com>

Not all the features (i.e. those available in --enable-* or --with-*)
are really relevant to the final user. Create a KMOD_FEATURES definition
in config.h containing these features.
---
 configure.ac | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/configure.ac b/configure.ac
index f83eed5..4dc59ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,6 +92,7 @@ AS_IF([test "x$with_xz" != "xno"], [
 ], [
 	AC_MSG_NOTICE([Xz support not requested])
 ])
+CC_FEATURE_APPEND([with_features], [with_xz], [XZ])
 
 AC_ARG_WITH([zlib],
 	AS_HELP_STRING([--with-zlib], [handle gzipped modules @<:@default=disabled@:>@]),
@@ -102,6 +103,7 @@ AS_IF([test "x$with_zlib" != "xno"], [
 ], [
 	AC_MSG_NOTICE([zlib support not requested])
 ])
+CC_FEATURE_APPEND([with_features], [with_zlib], [ZLIB])
 
 AC_ARG_WITH([bashcompletiondir],
 	AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
@@ -124,6 +126,7 @@ AM_CONDITIONAL([BUILD_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
 AS_IF([test "x$enable_experimental" = "xyes"], [
 	AC_DEFINE(ENABLE_EXPERIMENTAL, [1], [Experimental features.])
 ])
+CC_FEATURE_APPEND([with_features], [enable_experimental], [EXPERIMENTAL])
 
 AC_ARG_ENABLE([tools],
         AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
@@ -256,6 +259,8 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [ \
 		       -Wl,--gc-sections])
 AC_SUBST([OUR_LDFLAGS], $with_ldflags)
 
+AC_DEFINE_UNQUOTED(KMOD_FEATURES, ["$with_features"], [Features in this build])
+
 #####################################################################
 # Generate files from *.in
 #####################################################################
@@ -297,4 +302,6 @@ AC_MSG_RESULT([
 	doc:			${enable_gtk_doc}
 	man:			${enable_manpages}
 	test-modules:           ${enable_test_modules}
+
+	features:               ${with_features}
 ])
-- 
2.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1160002 — [PATCH kmod 1/3] build: add function to build string of features

Fromlucas.de.marchi@gmail.com
Date2015-06-07 08:30 +0200
Subject[PATCH kmod 1/3] build: add function to build string of features
Message-ID<pyCfL-7Qr-7@gated-at.bofh.it>
In reply to#1160000
From: Lucas De Marchi <lucas.demarchi@intel.com>

Add a CC_FEATURE_APPEND function that we can use to append the features
that are enabled/disabled. This will generate a single string in the
form "+FEATURE1 +FEATURE2 -FEATURE3".
---
 m4/features.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 m4/features.m4

diff --git a/m4/features.m4 b/m4/features.m4
new file mode 100644
index 0000000..82a244f
--- /dev/null
+++ b/m4/features.m4
@@ -0,0 +1,48 @@
+#  Copyright (c) 2015 Lucas De Marchi <lucas.de.marchi@gmail.com>
+#
+#  This program is free software: you can redistribute it and/or modify it
+#  under the terms of the GNU General Public License as published by the
+#  Free Software Foundation, either version 2 of the License, or (at your
+#  option) any later version.
+#
+#  This program is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#  As a special exception, the respective Autoconf Macro's copyright owner
+#  gives unlimited permission to copy, distribute and modify the configure
+#  scripts that are the output of Autoconf when processing the Macro. You
+#  need not follow the terms of the GNU General Public License when using
+#  or distributing such scripts, even though portions of the text of the
+#  Macro appear in them. The GNU General Public License (GPL) does govern
+#  all other use of the material that constitutes the Autoconf Macro.
+#
+#  This special exception to the GPL applies to versions of the Autoconf
+#  Macro released by the Autoconf Archive. When you make and distribute a
+#  modified version of the Autoconf Macro, you may extend this special
+#  exception to the GPL to apply to your modified version as well.
+#
+# CC_FEATURE_APPEND([FLAGS], [ENV-TO-CHECK], [FLAG-NAME])
+AC_DEFUN([CC_FEATURE_APPEND], [
+  AS_VAR_PUSHDEF([FLAGS], [$1])dnl
+  AS_VAR_PUSHDEF([ENV_CHECK], [$2])dnl
+  AS_VAR_PUSHDEF([FLAG_NAME], [$3])dnl
+
+  AS_CASE([" AS_VAR_GET(FLAGS) " ],
+          [*" FLAG_NAME "*], [AC_RUN_LOG([: FLAGS already contains FLAG_NAME])],
+          [
+	    AS_IF([test "x$FLAGS" != "x"], [AS_VAR_APPEND(FLAGS, " ")])
+            AS_IF([test "x$ENV_CHECK" = "xyes"],
+                  [AS_VAR_APPEND(FLAGS, "+FLAG_NAME")],
+                  [AS_VAR_APPEND(FLAGS, "-FLAG_NAME")])
+          ]
+  )
+
+  AS_VAR_POPDEF([FLAG_NAME])dnl
+  AS_VAR_POPDEF([ENV_CHECK])dnl
+  AS_VAR_POPDEF([FLAGS])dnl
+])
-- 
2.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web