URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [tools/] [update/] [cipolish] - Rev 173
Compare with Previous | Blame | View Log
#!/usr/bin/perl## Perl script to beautify and enhance RTEMS configure.in## Reads from stdin and writes to stdout## usage:# acpolish <configure.in >configure.in~# mv configure.in~ configure.in## $Id: cipolish,v 1.2 2001-09-27 12:02:54 chris Exp $use strict ;my @vars = () ;my @buffer = () ;my %var_ ;# find relative up-path to VERSIONmy $rtems_cfg = &find_file(".","VERSION");my $rtems_root = &find_root() ;$rtems_root =~ tr/\//\-/ ;my $rtems_name = "rtems" ;$rtems_name .= "-" . "$rtems_root" if (length($rtems_root) > 0 ) ;while ( <> ){push @buffer, "$_" ;}{my @tbuf = () ;foreach ( @buffer ){if ( /^#.*list.*Makefile.*$/o ) {}elsif ( /^dnl[\s]+check.*target.*cc.*$/o ) {}elsif ( /^[\s]*AC_CONFIG_AUX_DIR\(.*\)[\s]*$/o ){push @tbuf, "AC_CONFIG_AUX_DIR($rtems_cfg)\n" ;}elsif ( /^[\s]*RTEMS_TOP\(.*\)[\s]*$/o ){push @tbuf, "RTEMS_TOP($rtems_cfg)\n" ;}elsif ( /^[\s]*AM_INIT_AUTOMAKE\(.*\)[\s]*$/o ){push @tbuf, "AM_INIT_AUTOMAKE($rtems_name,\$RTEMS_VERSION,no)\n" ;}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_POSIX_API\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_ITRON_API\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_HWAPI\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_USE_MACROS\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_MULTIPROCESSING\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_RDBG\)[\s]*$/o ){#remove the line}elsif ( /^[\s\t]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[\s]*$/o ){ # obsolete option#remove the line}elsif ( /^[\s\t]*RTEMS_ENABLE_GMAKE_PRINT[ ]*$/o ){ # obsolete macro#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_LIBC_DIR\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(PROJECT_ROOT\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*AC_SUBST\(RTEMS_GAS_CODE16\)[\s]*$/o ){#remove the line}elsif ( /^[\s]*PROJECT_ROOT[\s]*=.*$/o ){#remove the line}elsif ( /^[\s]*(RTEMS_ENABLE_LIBCDIR).*$/o ){ #remove the line&define_variable("$1","");push @tbuf, "$_" ;}elsif ( /^[\s]*(RTEMS_PROG_CC_FOR_TARGET).*$/o ){&define_variable("$1","");push @tbuf, "$_" ;}elsif ( /^[\s]*(RTEMS_PROG_CXX_FOR_TARGET).*$/o ){&define_variable("$1","");push @tbuf, "$_" ;}else{push @tbuf, "$_" ;}} # foreach@buffer = @tbuf ;}{my @tbuf = () ;foreach ( @buffer ){if ( /^[\s]*(RTEMS_ENABLE_LIBCDIR).*$/o ){if ( ( not variable_seen( "RTEMS_PROG_CC_FOR_TARGET" ) )and ( not variable_seen( "RTEMS_PROG_CXX_FOR_TARGET" ) )){push @tbuf, "$_" ;}}elsif ( /^AC_OUTPUT.*$/o ){push @tbuf, "# Explicitly list all Makefiles here\n" ;push @tbuf, "$_" ;}else{push @tbuf, "$_" ;}}@buffer = @tbuf ;}{ ## pretty printmy $out = join ('',@buffer) ;$out =~ s/\s\#\n(\#\n)+/\n/g ;$out =~ s/\n\n\#\n\n/\n/g ;$out =~ s/\n\n[\n]*/\n\n/g ;print $out ;}exit 1 ;# find a relative up-path to a file $file, starting at directory $presub find_file($$){my $pre = $_[0] ;my $file= $_[1] ;my $top = "." ;if (not "$pre") { $pre = "." ; }for ( my $str = "$pre" . "/" . "$top" ;( -d "$str" ) ;$str = "$pre" . "/" . "$top" ){if ( -f "${str}/${file}" ){return $top ;}if ( "$top" eq "." ){$top = ".." ;}else{$top .= "/.." ;}} ;die "Can't find file ${file}\n" ;}sub find_root(){my $top_builddir = "." ;my $subdir="";my $pwd = `pwd`; chomp $pwd;$pwd .= "/" ;my $len ;if ( -f "VERSION" ) { return $subdir ; }my $i = rindex($pwd,'/');$len = $i;$pwd = substr($pwd,0,$len);$i = rindex($pwd,'/');$subdir = substr($pwd,$i+1,$len - 1);$top_builddir = ".." ;while( -d "$top_builddir" ){if ( -f "${top_builddir}/VERSION" ){return $subdir ;}$len=$i;$pwd = substr($pwd,0,$len);$i = rindex($pwd,'/');$subdir = substr($pwd,$i+1,$len - 1) . "/$subdir";$top_builddir .= "/.." ;} ;die "Can't find VERSION\n" ;}sub variable_seen($){my $label = "$_[0]" ;my $res = defined $var_{"$label"};#print STDERR "SEEN: $label ->$res<\n" ;return $res ;}sub define_variable($$){my ($label,@value) = @_ ;if ( not variable_seen("$label") ){# print STDERR "DEFINING $label\n" ;push @vars, "$label" ;}foreach my $i ( @{value} ){push @{$var_{"$label"}}, $i ;}}
