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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [tools/] [update/] [cipolish] - Blame information for rev 1771

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 chris
#!/usr/bin/perl
2
 
3
#
4
# Perl script to beautify and enhance RTEMS configure.in
5
#
6
# Reads from stdin and writes to stdout
7
#
8
# usage:
9
# acpolish configure.in~
10
# mv configure.in~ configure.in
11
#
12
 
13 208 chris
# $Id: cipolish,v 1.2 2001-09-27 12:02:54 chris Exp $
14 158 chris
 
15
use strict ;
16
 
17
my @vars = () ;
18
my @buffer = () ;
19
my %var_ ;
20
 
21
# find relative up-path to VERSION
22
my $rtems_cfg = &find_file(".","VERSION");
23
my $rtems_root = &find_root() ;
24
$rtems_root =~ tr/\//\-/ ;
25
my $rtems_name = "rtems" ;
26
$rtems_name .=  "-" . "$rtems_root" if (length($rtems_root) > 0 ) ;
27
 
28
while ( <> )
29
{
30
  push @buffer, "$_" ;
31
}
32
 
33
{
34
  my @tbuf = () ;
35
 
36
  foreach ( @buffer )
37
  {
38
    if ( /^#.*list.*Makefile.*$/o ) {}
39
    elsif ( /^dnl[\s]+check.*target.*cc.*$/o ) {}
40
    elsif ( /^[\s]*AC_CONFIG_AUX_DIR\(.*\)[\s]*$/o )
41
    {
42
      push @tbuf, "AC_CONFIG_AUX_DIR($rtems_cfg)\n" ;
43
    }
44
    elsif ( /^[\s]*RTEMS_TOP\(.*\)[\s]*$/o )
45
    {
46
      push @tbuf, "RTEMS_TOP($rtems_cfg)\n" ;
47
    }
48
    elsif ( /^[\s]*AM_INIT_AUTOMAKE\(.*\)[\s]*$/o )
49
    {
50
      push @tbuf, "AM_INIT_AUTOMAKE($rtems_name,\$RTEMS_VERSION,no)\n" ;
51
    }
52
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_POSIX_API\)[\s]*$/o )
53
    {
54
      #remove the line
55
    }
56
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_ITRON_API\)[\s]*$/o )
57
    {
58
      #remove the line
59
    }
60
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_HWAPI\)[\s]*$/o )
61
    {
62
      #remove the line
63
    }
64
    elsif ( /^[\s]*AC_SUBST\(RTEMS_USE_MACROS\)[\s]*$/o )
65
    {
66
      #remove the line
67
    }
68
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_MULTIPROCESSING\)[\s]*$/o )
69
    {
70
      #remove the line
71
    }
72
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_RDBG\)[\s]*$/o )
73
    {
74
      #remove the line
75
    }
76
    elsif ( /^[\s\t]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[\s]*$/o )
77
    { # obsolete option
78
      #remove the line
79
    }
80
    elsif ( /^[\s\t]*RTEMS_ENABLE_GMAKE_PRINT[     ]*$/o )
81
    { # obsolete macro
82
      #remove the line
83
    }
84
    elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[\s]*$/o )
85
    {
86
      #remove the line
87
    }
88
    elsif ( /^[\s]*AC_SUBST\(RTEMS_LIBC_DIR\)[\s]*$/o )
89
    {
90
      #remove the line
91
    }
92
    elsif ( /^[\s]*AC_SUBST\(PROJECT_ROOT\)[\s]*$/o )
93
    {
94
      #remove the line
95
    }
96
    elsif ( /^[\s]*AC_SUBST\(RTEMS_GAS_CODE16\)[\s]*$/o )
97
    {
98
      #remove the line
99
    }
100
    elsif ( /^[\s]*PROJECT_ROOT[\s]*=.*$/o )
101
    {
102
      #remove the line
103
    }
104
    elsif ( /^[\s]*(RTEMS_ENABLE_LIBCDIR).*$/o )
105
    { #remove the line
106
      &define_variable("$1","");
107
      push @tbuf, "$_" ;
108
    }
109
    elsif ( /^[\s]*(RTEMS_PROG_CC_FOR_TARGET).*$/o )
110
    {
111
      &define_variable("$1","");
112
      push @tbuf, "$_" ;
113
    }
114
    elsif ( /^[\s]*(RTEMS_PROG_CXX_FOR_TARGET).*$/o )
115
    {
116
      &define_variable("$1","");
117
      push @tbuf, "$_" ;
118
    }
119
    else
120
    {
121
      push @tbuf, "$_" ;
122
    }
123
  } # foreach
124
  @buffer = @tbuf ;
125
}
126
 
127
{
128
  my @tbuf = () ;
129
  foreach ( @buffer )
130
  {
131
    if ( /^[\s]*(RTEMS_ENABLE_LIBCDIR).*$/o )
132
    {
133
      if (  ( not variable_seen( "RTEMS_PROG_CC_FOR_TARGET" ) )
134
        and ( not variable_seen( "RTEMS_PROG_CXX_FOR_TARGET" ) )
135
      )
136
      {
137
        push @tbuf, "$_" ;
138
      }
139
    }
140
    elsif ( /^AC_OUTPUT.*$/o )
141
    {
142
      push @tbuf, "# Explicitly list all Makefiles here\n" ;
143
      push @tbuf, "$_" ;
144
    }
145
    else
146
    {
147
      push @tbuf, "$_" ;
148
    }
149
  }
150
  @buffer = @tbuf ;
151
}
152
 
153
{ ## pretty print
154
  my $out = join ('',@buffer) ;
155
  $out =~ s/\s\#\n(\#\n)+/\n/g ;
156
  $out =~ s/\n\n\#\n\n/\n/g ;
157
  $out =~ s/\n\n[\n]*/\n\n/g ;
158
  print $out ;
159
}
160
 
161
exit 1 ;
162
 
163
# find a relative up-path to a file $file, starting at directory $pre
164
sub find_file($$)
165
{
166
  my $pre = $_[0] ;
167
  my $file= $_[1] ;
168
 
169
  my $top = "." ;
170
  if (not "$pre") { $pre = "." ; }
171
 
172
  for ( my $str = "$pre" . "/" . "$top" ;
173
    ( -d "$str" ) ;
174
    $str = "$pre" . "/" . "$top" )
175
  {
176
    if ( -f "${str}/${file}" )
177
    {
178
      return $top ;
179
    }
180
    if ( "$top" eq "." )
181
    {
182
      $top = ".." ;
183
    }
184
    else
185
    {
186
      $top .= "/.." ;
187
    }
188
  } ;
189
  die "Can't find file ${file}\n" ;
190
}
191
 
192
sub find_root()
193
{
194
  my $top_builddir = "." ;
195
  my $subdir="";
196
  my $pwd = `pwd`; chomp $pwd;
197
  $pwd .= "/" ;
198
  my $len ;
199
 
200
  if ( -f "VERSION" )  { return $subdir ; }
201
  my $i = rindex($pwd,'/');
202
 
203
  $len = $i;
204
  $pwd = substr($pwd,0,$len);
205
  $i = rindex($pwd,'/');
206
  $subdir = substr($pwd,$i+1,$len - 1);
207
  $top_builddir = ".." ;
208
 
209
  while( -d "$top_builddir" )
210
  {
211
    if ( -f "${top_builddir}/VERSION" )
212
    {
213
      return $subdir ;
214
    }
215
    $len=$i;
216
    $pwd = substr($pwd,0,$len);
217
    $i = rindex($pwd,'/');
218
    $subdir = substr($pwd,$i+1,$len - 1) . "/$subdir";
219
    $top_builddir .= "/.." ;
220
  } ;
221
  die "Can't find VERSION\n" ;
222
}
223
 
224
sub variable_seen($)
225
{
226
  my $label = "$_[0]" ;
227
  my $res = defined $var_{"$label"};
228
#print STDERR "SEEN: $label ->$res<\n" ;
229
  return $res ;
230
}
231
 
232
sub define_variable($$)
233
{
234
  my ($label,@value) = @_ ;
235
 
236
  if ( not variable_seen("$label") )
237
  {
238
# print STDERR "DEFINING $label\n" ;
239
    push @vars, "$label" ;
240
  }
241
 
242
  foreach my $i ( @{value} )
243
  {
244
    push @{$var_{"$label"}}, $i ;
245
  }
246
}
247
 

powered by: WebSVN 2.1.0

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