OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [scripts/] [checkversion.pl] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
#! /usr/bin/perl
2
#
3
# checkversion find uses of LINUX_VERSION_CODE or KERNEL_VERSION
4
# without including <linux/version.h>, or cases of
5
# including <linux/version.h> that don't need it.
6
# Copyright (C) 2003, Randy Dunlap <rdunlap@xenotime.net>
7
 
8
$| = 1;
9
 
10
my $debugging = 0;
11
 
12
foreach $file (@ARGV)
13
{
14
    # Open this file.
15
    open(FILE, $file) || die "Can't open $file: $!\n";
16
 
17
    # Initialize variables.
18
    my $fInComment   = 0;
19
    my $fInString    = 0;
20
    my $fUseVersion   = 0;
21
    my $iLinuxVersion = 0;
22
 
23
    LINE: while ( <FILE> )
24
    {
25
        # Strip comments.
26
        $fInComment && (s+^.*?\*/+ +o ? ($fInComment = 0) : next);
27
        m+/\*+o && (s+/\*.*?\*/+ +go, (s+/\*.*$+ +o && ($fInComment = 1)));
28
 
29
        # Pick up definitions.
30
        if ( m/^\s*#/o ) {
31
            $iLinuxVersion      = $. if m/^\s*#\s*include\s*"linux\/version\.h"/o;
32
        }
33
 
34
        # Strip strings.
35
        $fInString && (s+^.*?"+ +o ? ($fInString = 0) : next);
36
        m+"+o && (s+".*?"+ +go, (s+".*$+ +o && ($fInString = 1)));
37
 
38
        # Pick up definitions.
39
        if ( m/^\s*#/o ) {
40
            $iLinuxVersion      = $. if m/^\s*#\s*include\s*<linux\/version\.h>/o;
41
        }
42
 
43
        # Look for uses: LINUX_VERSION_CODE, KERNEL_VERSION, UTS_RELEASE
44
        if (($_ =~ /LINUX_VERSION_CODE/) || ($_ =~ /\WKERNEL_VERSION/)) {
45
            $fUseVersion = 1;
46
            last LINE if $iLinuxVersion;
47
        }
48
    }
49
 
50
    # Report used version IDs without include?
51
    if ($fUseVersion && ! $iLinuxVersion) {
52
        print "$file: $.: need linux/version.h\n";
53
    }
54
 
55
    # Report superfluous includes.
56
    if ($iLinuxVersion && ! $fUseVersion) {
57
        print "$file: $iLinuxVersion linux/version.h not needed.\n";
58
    }
59
 
60
    # debug: report OK results:
61
    if ($debugging) {
62
        if ($iLinuxVersion && $fUseVersion) {
63
            print "$file: version use is OK ($iLinuxVersion)\n";
64
        }
65
        if (! $iLinuxVersion && ! $fUseVersion) {
66
            print "$file: version use is OK (none)\n";
67
        }
68
    }
69
 
70
    close(FILE);
71
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.