linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Landley <rob@landley.net>
To: Embedded Linux mailing list <linux-embedded@vger.kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Sam Ravnborg <sam@ravnborg.org>
Subject: [PATCH 3/3]: Convert mkcapflags.pl to mkcapflags.sh
Date: Fri, 2 Jan 2009 02:15:36 -0600	[thread overview]
Message-ID: <200901020215.37223.rob@landley.net> (raw)
In-Reply-To: <200901020207.30359.rob@landley.net>

From: Rob Landley <rob@landley.net>

Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh.

This script generates kernel/cpu/capflags.c from include/asm/cpufeature.h.

Peter Anvin added this perl to 2.6.28.

Signed-off-by: Rob Landley <rob@landley.net>
---

 arch/x86/kernel/cpu/Makefile      |    4 +--
 arch/x86/kernel/cpu/mkcapflags.pl |   32 ----------------------------
 arch/x86/kernel/cpu/mkcapflags.sh |   28 ++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 34 deletions(-)

diff -ruN alt-linux/arch/x86/kernel/cpu/Makefile alt-linux2/arch/x86/kernel/cpu/Makefile
--- alt-linux/arch/x86/kernel/cpu/Makefile	2008-12-24 17:26:37.000000000 -0600
+++ alt-linux2/arch/x86/kernel/cpu/Makefile	2008-12-28 18:10:51.000000000 -0600
@@ -23,10 +23,10 @@
 obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o
 
 quiet_cmd_mkcapflags = MKCAP   $@
-      cmd_mkcapflags = $(PERL) $(srctree)/$(src)/mkcapflags.pl $< $@
+      cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $< $@
 
 cpufeature = $(src)/../../include/asm/cpufeature.h
 
 targets += capflags.c
-$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.pl FORCE
+$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.sh FORCE
 	$(call if_changed,mkcapflags)
diff -ruN alt-linux/arch/x86/kernel/cpu/mkcapflags.pl alt-linux2/arch/x86/kernel/cpu/mkcapflags.pl
--- alt-linux/arch/x86/kernel/cpu/mkcapflags.pl	2008-12-24 17:26:37.000000000 -0600
+++ alt-linux2/arch/x86/kernel/cpu/mkcapflags.pl	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-#!/usr/bin/perl
-#
-# Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h
-#
-
-($in, $out) = @ARGV;
-
-open(IN, "< $in\0")   or die "$0: cannot open: $in: $!\n";
-open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n";
-
-print OUT "#include <asm/cpufeature.h>\n\n";
-print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n";
-
-while (defined($line = <IN>)) {
-	if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) {
-		$macro = $1;
-		$feature = $2;
-		$tail = $3;
-		if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) {
-			$feature = $1;
-		}
-
-		if ($feature ne '') {
-			printf OUT "\t%-32s = \"%s\",\n",
-				"[$macro]", "\L$feature";
-		}
-	}
-}
-print OUT "};\n";
-
-close(IN);
-close(OUT);
diff -ruN alt-linux/arch/x86/kernel/cpu/mkcapflags.sh alt-linux2/arch/x86/kernel/cpu/mkcapflags.sh
--- alt-linux/arch/x86/kernel/cpu/mkcapflags.sh	1969-12-31 18:00:00.000000000 -0600
+++ alt-linux2/arch/x86/kernel/cpu/mkcapflags.sh	2008-12-28 18:08:50.000000000 -0600
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Generate the x86_cap_flags[] array from include/asm/cpufeature.h
+#
+
+IN=$1
+OUT=$2
+
+(
+	echo "#include <asm/cpufeature.h>"
+	echo ""
+	echo "const char * const x86_cap_flags[NCAPINTS*32] = {"
+
+	# Iterate through any input lines starting with #define X86_FEATURE_
+	sed -n -e 's/\t/ /g' -e 's/^ *# *define *X86_FEATURE_//p' $IN |
+	while read i
+	do
+		# Name is everything up to the first whitespace
+		NAME="$(echo "$i" | sed 's/ .*//')"
+
+		# If the /* comment */ starts with a quote string, grab that.
+		VALUE="$(echo "$i" | sed -n 's@.*/\* *\("[^"]*"\).*\*/@\1@p')"
+		[ -z "$VALUE" ] && VALUE="\"$(echo "$NAME" | tr A-Z a-z)\""
+
+		[ "$VALUE" != '""' ] && echo "	[X86_FEATURE_$NAME] = $VALUE,"
+	done
+	echo "};"
+) > $OUT
\0

  parent reply	other threads:[~2009-01-02  8:15 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-02  8:07 PATCH [0/3]: Simplify the kernel build by removing perl Rob Landley
2009-01-02  8:13 ` [PATCH 1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh Rob Landley
2009-01-02  9:04   ` Sam Ravnborg
2009-01-02 12:00     ` Rob Landley
2009-01-02 19:33       ` H. Peter Anvin
2009-01-04  1:32         ` Rob Landley
2009-01-04  1:35           ` H. Peter Anvin
2009-01-04 12:07           ` Alan Cox
2009-01-04 18:36             ` H. Peter Anvin
2009-01-04 19:03             ` Rob Landley
2009-01-04 20:39               ` H. Peter Anvin
2009-01-05  0:59                 ` Rob Landley
2009-01-03  6:28       ` Harvey Harrison
2009-01-03 12:28   ` Ingo Oeser
2009-01-04  1:36     ` Rob Landley
2009-01-04  5:07       ` Valdis.Kletnieks
2009-01-04  6:43         ` Rob Landley
2009-01-04 22:13           ` Jamie Lokier
2009-01-05  0:15             ` Bernd Petrovitsch
2009-01-05  2:23               ` Jamie Lokier
2009-01-05 10:46                 ` Bernd Petrovitsch
2009-01-05 15:01                   ` Jamie Lokier
2009-01-05 16:18                     ` Bernd Petrovitsch
2009-01-06  0:06                     ` Rob Landley
2009-01-05 21:07                   ` Rob Landley
2009-01-05  4:50               ` Rob Landley
2009-01-05 12:29                 ` Bernd Petrovitsch
2009-01-04 21:51         ` Alejandro Mery
2009-01-04  7:15       ` Michal Jaegermann
2009-01-05  0:41   ` Ray Lee
2009-01-05  5:08     ` Rob Landley
2009-01-02  8:14 ` [PATCH 2/3]: Remove perl from make headers_install Rob Landley
2009-01-02  9:09   ` Sam Ravnborg
2009-01-02  8:15 ` Rob Landley [this message]
2009-01-02  9:12   ` [PATCH 3/3]: Convert mkcapflags.pl to mkcapflags.sh Sam Ravnborg
2009-01-02  9:26 ` PATCH [0/3]: Simplify the kernel build by removing perl Arkadiusz Miskiewicz
2009-01-02  9:49   ` Christoph Hellwig
2009-01-02 10:16     ` Alejandro Mery
2009-01-02 10:30       ` Mark Miller
2009-01-02 11:18         ` Matt Keenan
2009-01-02 10:41       ` Måns Rullgård
2009-01-15 12:59         ` Pádraig Brady
2009-01-15 18:52           ` Jamie Lokier
2009-01-15 19:45             ` Måns Rullgård
2009-01-02 11:15       ` Rob Landley
2009-01-02 11:44         ` Sam Ravnborg
2009-01-02 12:56     ` Rob Landley
2009-01-02 14:04       ` Theodore Tso
2009-01-03  3:22         ` Jamie Lokier
2009-01-04  2:23         ` Rob Landley
2009-01-02 10:02   ` Mark Miller
2009-01-02 10:03     ` Mark Miller
2009-01-02 11:13   ` Rob Landley
2009-01-02 16:04     ` Matthieu CASTET
2009-01-03 19:46       ` Rob Landley
2009-01-03 20:10         ` Sam Ravnborg
2009-01-03 20:50           ` H. Peter Anvin
2009-01-04  1:47             ` Rob Landley
2009-01-04  1:45           ` Rob Landley
2009-01-04  8:09             ` Sam Ravnborg
2009-01-04 20:19               ` Rob Landley
2009-01-04  0:44         ` Robert Hancock
2009-01-04  1:39           ` David Brownell
2009-01-04  3:05           ` Rob Landley
2009-01-04  1:32       ` Rob Landley
2009-01-02  9:50 ` Paul Mundt
2009-01-02 10:32   ` Mark Miller
2009-01-02 10:57     ` Paul Mundt
2009-01-02 12:11       ` Mark Miller
2009-01-02 12:44   ` Rob Landley
2009-01-02 17:25   ` Wookey
2009-01-02 18:01     ` Sam Ravnborg
2009-01-02 19:27       ` H. Peter Anvin
2009-01-04  1:35         ` Rob Landley
2009-01-03 19:48       ` Rob Landley
2009-01-08 13:13         ` klaasjan gm
2009-01-08 15:04           ` Christian Gagneraud
2009-01-03 14:59   ` Wolfgang Denk
2009-01-03 22:54 ` Leon Woestenberg
2009-01-03 23:03   ` H. Peter Anvin
2009-01-04  0:37     ` Leon Woestenberg
2009-01-04  2:53       ` Rob Landley
2009-01-04  3:38         ` Markus Heidelberg
2009-01-04  4:57           ` Rob Landley
2009-01-04  2:06     ` Rob Landley
2009-01-04  2:14       ` H. Peter Anvin
2009-01-04  6:29         ` Rob Landley
2009-01-15 14:32           ` Pádraig Brady
2009-01-04  2:36       ` Jamie Lokier
2009-01-04  2:39         ` H. Peter Anvin
2009-01-04  2:43           ` H. Peter Anvin
2009-01-04  3:06       ` Paul Mundt
2009-01-04 10:23         ` Leon Woestenberg
2009-01-08 13:29           ` Mike Frysinger
2009-01-11 12:45           ` Bernd Petrovitsch
2009-01-12  3:36             ` Mark A. Miller
2009-01-12  5:11               ` H. Peter Anvin
2009-01-12  5:23                 ` Mark A. Miller
2009-01-12  8:20               ` Paul Mundt
2009-01-12  9:18                 ` Mark A. Miller
2009-01-12  9:41                   ` Paul Mundt
2009-01-12 10:03                     ` Mark A. Miller
2009-01-12 10:34                       ` Paul Mundt
2009-01-12 17:56                     ` Rob Landley
2009-01-12 18:04                       ` Alan Cox
2009-01-12  8:27               ` Peter Korsgaard
2009-01-12 17:45                 ` Rob Landley
     [not found]             ` <31014a580901111928u586e2246uccf370ff941c8a01@mail.gmail.com>
2009-01-12  5:35               ` Sam Ravnborg
2009-01-12  5:50                 ` Mark A. Miller
2009-01-12 10:18                   ` Sam Ravnborg
2009-01-12 10:22                     ` Mark A. Miller
2009-01-12 10:44                       ` Alexander Neundorf
2009-01-12 10:55                         ` Mark A. Miller
2009-01-12 11:04                           ` Alexander Neundorf
2009-01-12 10:38                     ` Paul Mundt
2009-01-14  2:51                       ` Jamie Lokier
2009-01-16  6:11                         ` Rob Landley
2009-01-16  7:28                           ` Alexander Neundorf
2009-01-16 14:54                           ` Valdis.Kletnieks
2009-01-16 21:54                             ` Rob Landley
2009-01-17  9:51                               ` Jamie Lokier
2009-01-18  1:44                                 ` Rob Landley
2009-01-04 16:22         ` Vladimir Dronnikov
2009-01-04  1:24 ` PATCH [0/3]: Simplify the kernel build by removing perl v2 Rob Landley
2009-01-04  1:27   ` PATCH [1/3]: Replace kernel/timeconst.pl with kernel/timeconst.sh (v2) Rob Landley
2009-01-04  2:48     ` David Vrabel
2009-01-04 20:21       ` Rob Landley
2009-01-04  1:28   ` PATCH [2/3]: Remove perl from make headers_install Rob Landley
2009-01-04  1:29   ` PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh Rob Landley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200901020215.37223.rob@landley.net \
    --to=rob@landley.net \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-embedded@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).