xref: /netbsd-src/external/gpl3/gcc.old/dist/contrib/header-tools/replace-header (revision 36ac495d2b3ea2b9d96377b2143ebfedac224b92)
1*36ac495dSmrg#! /usr/bin/python2
2*36ac495dSmrgimport os.path
3*36ac495dSmrgimport sys
4*36ac495dSmrgimport shlex
5*36ac495dSmrgimport re
6*36ac495dSmrg
7*36ac495dSmrgfrom headerutils import *
8*36ac495dSmrg
9*36ac495dSmrg
10*36ac495dSmrgfiles = list()
11*36ac495dSmrgreplace = list()
12*36ac495dSmrgfind = ""
13*36ac495dSmrgusage = False
14*36ac495dSmrg
15*36ac495dSmrgfor x in sys.argv[1:]:
16*36ac495dSmrg  if x[0:2] == "-h":
17*36ac495dSmrg    usage = True
18*36ac495dSmrg  elif x[0:2] == "-f" and find == "":
19*36ac495dSmrg    find = x[2:]
20*36ac495dSmrg  elif x[0:2] == "-r":
21*36ac495dSmrg    replace.append (x[2:])
22*36ac495dSmrg  elif x[0:1] == "-":
23*36ac495dSmrg    print "Error: unrecognized option " + x
24*36ac495dSmrg    usage = True
25*36ac495dSmrg  else:
26*36ac495dSmrg    files.append (x)
27*36ac495dSmrg
28*36ac495dSmrgif find == "":
29*36ac495dSmrg  usage = True
30*36ac495dSmrg
31*36ac495dSmrgif usage:
32*36ac495dSmrg  print "replace-header -fheader -rheader [-rheader] file1 [filen.]"
33*36ac495dSmrg  sys.exit(0)
34*36ac495dSmrg
35*36ac495dSmrgstring = ""
36*36ac495dSmrgfor x in replace:
37*36ac495dSmrg  string = string + " '"+x+"'"
38*36ac495dSmrgprint "Replacing '"+find+"'  with"+string
39*36ac495dSmrg
40*36ac495dSmrgfor x in files:
41*36ac495dSmrg  src = readwholefile (x)
42*36ac495dSmrg  src = find_replace_include (find, replace, src)
43*36ac495dSmrg  if (len(src) > 0):
44*36ac495dSmrg    print x + ": Changed"
45*36ac495dSmrg    out = open(x, "w")
46*36ac495dSmrg    for line in src:
47*36ac495dSmrg      out.write (line);
48*36ac495dSmrg    out.close ()
49*36ac495dSmrg  else:
50*36ac495dSmrg    print x
51*36ac495dSmrg
52*36ac495dSmrg
53*36ac495dSmrg
54