relic master copy is now defined as the one in Hg rather than CVS. Copy
authorGervase Markham <gerv@gerv.net>
Thu, 28 Oct 2010 12:51:06 +0100
changeset 56642 882525a981190253d2f010b3266138fddab294fb
parent 56641 b67099fcd4d84337928db2f2f7d219591733c044
child 56643 3369bc46ff9c2ee23fca0e4d49bf3568955f05d9
push id16624
push usergerv@mozilla.org
push dateThu, 28 Oct 2010 11:51:22 +0000
treeherdermozilla-central@882525a98119 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
relic master copy is now defined as the one in Hg rather than CVS. Copy ing over all the changes from CVS since Hg branched off. a=NPOTB.
tools/relic/make-id-list
tools/relic/relic
tools/relic/test/BrowserToolTip.cpp
tools/relic/test/addlicense_inputs/emacs_local_vars_line.c
tools/relic/test/addlicense_inputs/utf8_xml_file.xml
tools/relic/test/addlicense_inputs/xml_file.rdf
tools/relic/test/addlicense_outputs/emacs_local_vars_line.c
tools/relic/test/addlicense_outputs/utf8_xml_file.xml
tools/relic/test/addlicense_outputs/xml_file.rdf
tools/relic/test/relicense_inputs/bad_contributor_section.cpp
tools/relic/test/relicense_inputs/ibm_copyright_suffix.c
tools/relic/test/relicense_inputs/just_mpl.xul
tools/relic/test/relicense_inputs/need_to_relicense.h
tools/relic/test/relicense_inputs/no_initialcopyrightyear_section.xml
tools/relic/test/relicense_inputs/no_initialcopyrightyear_section.xml.options
tools/relic/test/relicense_inputs/no_origcodeis_section.h
tools/relic/test/relicense_inputs/no_origcodeis_section.h.options
tools/relic/test/relicense_inputs/npl.h
tools/relic/test/relicense_inputs/separated_license_comment_blocks.pl.options
tools/relic/test/relicense_inputs/unknown_license.c
tools/relic/test/relicense_outputs/bad_contributor_section.cpp.error
tools/relic/test/relicense_outputs/ibm_copyright_suffix.c
tools/relic/test/relicense_outputs/just_mpl.xul
tools/relic/test/relicense_outputs/need_to_relicense.h
tools/relic/test/relicense_outputs/no_initialcopyrightyear_section.xml
tools/relic/test/relicense_outputs/no_origcodeis_section.h
tools/relic/test/relicense_outputs/npl.h
tools/relic/test/relicense_outputs/unknown_license.c.error
--- a/tools/relic/make-id-list
+++ b/tools/relic/make-id-list
@@ -3,48 +3,56 @@
 # This is a script to take a long list of Initial Developers on stdin and
 # output a de-duped, munged list suitable for putting into about:licence or
 # other similar place in order to comply with the MPL section 3.3
 
 # Equivalence mappings; having these is easier than updating hundreds of files
 # to make them all use the same variant of each name.
 #
 # Procedure:
+# Need to be in the top-level dir otherwise relic exclusions don't work.
+# Edit relic to set quiet to 1 on line 1471 or thereabouts
 # relic -I -f * > names.txt
+# Tidy up names.txt
+# and make one unified file if you ran relic over multiple trees.
 # make-id-list < names.txt > final.txt
 
 my %equivalents = (
   "ActiveState Tool Corporation" => "ActiveState Tool Corp",
   "Activestate Tool Corp" => "ActiveState Tool Corp",
   "ActiveState Tool Corp." => "ActiveState Tool Corp",
 
   "Crocodile Clips Ltd." => "Crocodile Clips Ltd",
 
   "Hewlett-Packard Company. Portions created by Hewlett-Packard Company are Copyright" => "Hewlett-Packard Company",
   
   "IBM" => "IBM Corporation",
   "IBM Corp" => "IBM Corporation",
   "International Business Machines Corporation" => "IBM Corporation",
 
+  "Mozilla.com" => "Mozilla Corporation",
+  "Mozilla Corp" => "Mozilla Corporation",
+  
   "None" => "Mozilla Foundation",
   "a mozilla.org contributor" => "Mozilla Foundation",
   "person recorded in the version control logs" => "Mozilla Foundation",
   "Mozilla" => "Mozilla Foundation",
-  "Mozilla.com" => "Mozilla Corporation",
   "Mozilla.org" => "Mozilla Foundation",
   "Mozilla Organization" => "Mozilla Foundation",
   "mozilla.org" => "Mozilla Foundation",
-  
+  "example Inc" => "Mozilla Foundation",
+  "SeaMonkey team" => "Mozilla Foundation",  
   "mozilla.org SeaMonkey project" => "Mozilla Foundation",
   "SeaMonkey project" => "Mozilla Foundation",
   "SeaMonkey project at mozilla.org" => "Mozilla Foundation",
   "Mozilla Calendar Squad" => "Mozilla Foundation",
+  "mozilla.org code" => "Mozilla Foundation",
   
-  "Mozilla Corp" => "Mozilla Corporation",
-
+  "Mozilla Messaging Corporation" => "Mozilla Messaging",
+  
   "Netscape" => "Netscape Communications Corporation",
   "Netscape Corp" => "Netscape Communications Corporation",
   "Netscape Communications" => "Netscape Communications Corporation",
   "Netscape Communications, Inc" => "Netscape Communications Corporation",
   "Netscape Communications Corp" => "Netscape Communications Corporation",
   "Netscape Communications Corp." => "Netscape Communications Corporation",
   "Netscape Commmunications Corp" => "Netscape Communications Corporation",
   "Netscape Communications Corp, Inc" => "Netscape Communications Corporation",
@@ -65,16 +73,17 @@ my %equivalents = (
 
   "Sun Microsystem" => "Sun Microsystems Inc",
   "Sun Microsystems" => "Sun Microsystems Inc",
   "Sun Microsystems, Inc." => "Sun Microsystems Inc",
   "Sun Microsystems, Inc" => "Sun Microsystems Inc",
 
   "bmlk\@gmx.de" => "Bernd Mielke",
   "davel\@mozilla.com" => "Dave Liebreich",
+  "dschaffe\@adobe.com" => "Dan Schaffer",
   "Digital Creations 2" => "Digital Creations 2 Inc",
   "Douglas F. Turner II" => "Doug Turner",
   "Kenneth Herron" => "Ken Herron",
   "sqlite3", "Sqlite Project",
   "University Of Queensland" => "University of Queensland",
   "OEOne Corporation" => "OEone Corporation",
   "Paul Kocher of Cryptography Research" => "Paul Kocher",
   "QUALCOMM incorporated" => "Qualcomm Inc",
@@ -83,52 +92,51 @@ my %equivalents = (
   "Google" => "Google Inc",
   "Telephone Corporation)" => "NTT",
   "Disruptive Innovations" => "Disruptive Innovations SARL",
   "Florian QUEZE" => "Florian Queze",
   "Nelson B Bolyard" => "Nelson B. Bolyard",
   "Richard L Walsh" => "Richard L. Walsh",
   "timeless" => "Josh Soref",
   "Olivier Parniere BT Global Services / Etat francais Ministere de la Defense" => "Olivier Parniere",
+  "Craig Toppper" => "Craig Topper",
+  "Mook" => "Mark 'Mook' Yen",
   
   "Frank Schoenheit" => "Frank Sch&ouml;nheit",
   "Frank Schnheit" => "Frank Sch&ouml;nheit",
   "Håkan Waara" => "H&aring;kan Waara",
   "Hkan Waara" => "H&aring;kan Waara",
   "Karsten Düsterloh" => "Karsten D&uuml;sterloh",
   "Simon Bünzli" => "Simon B&uuml;nzli",
   "Vincent Béron" => "Vincent B&eacute;ron",
   "Tomas Mller" => "Tomas M&uuml;ller",
   "Dão Gottwald" => "D&atilde;o Gottwald",
-  "Lszl Nmeth" => "L&aacute;szl&oacute; N&eacutre;meth",
+  "Lszl Nmeth" => "L&aacute;szl&oacute; N&eacute;meth",
   "Bjrn Jacke" => "Bj&ouml;rn Jacke",
-  
-  "example Inc" => "Mozilla Foundation",
-  "SeaMonkey team" => "Mozilla Foundation",
-  "person recorded in the version control logs" => "Mozilla Foundation",
-  "None" => "Mozilla Foundation"
+  "Žiga Sancin" => "&#x017d;iga Sancin",
 );
 
 # 'indevs' == "Initial Developers"
 my %indevs;
 
 while (<>)
 {
   chomp;
   my @candidates = split(" and ", $_);
   foreach my $indev (@candidates)
   {
     # Chop off email addresses and suchlike
     $indev =~ s/[<,\(].*$//;
     $indev =~ s/^The\s+//i;
+    $indev =~ s/\.?\s*Portions created.*$//;
 
     # Trim whitespace
     $indev =~ s/^\s*//;
     $indev =~ s/\s*$//;
 
     $indev = $equivalents{$indev} || $indev;
-    $indevs{$indev} = 1;
+    $indevs{$indev} = 1 if $indev;
   }
 }
 
 # Print out the list in a form suitable for pasting into about:licence.
 print join (",\n", sort {lc $a cmp lc $b} keys %indevs);
 print ".\n";
--- a/tools/relic/relic
+++ b/tools/relic/relic
@@ -183,16 +183,17 @@ log = logging.getLogger("relic")
     "LICENSE",
     "js2/COPYING",
     "security/svrcore/LICENSE",
     "extensions/xmlterm/doc/MPL",
     "gfx/cairo/cairo/COPYING-LGPL-2.1",
     "gfx/cairo/cairo/COPYING-MPL-1.1",
     
     # Files containing global licensing information
+    "xpfe/global/resources/content/license.html",
     "toolkit/content/license.html",
     
     # Ben Bucksch - files are tri-licensed with an extra clause.
     "netwerk/streamconv/converters/mozTXTToHTMLConv.cpp",
     "netwerk/streamconv/converters/mozTXTToHTMLConv.h",
     "netwerk/streamconv/public/mozITXTToHTMLConv.idl",
     
     # GPLed build tools
@@ -333,119 +334,121 @@ log = logging.getLogger("relic")
     "makecommon": (["#"], ),
     "bld_awk_pkginfo": (["#"], ),
     "prototype_i86pc": (["#"], ),
     "pkgdepend_5_6": (["#"], ),
     "awk_pkginfo-i386": (["#"], ),
     "awk_pkginfo-sparc": (["#"], ),
     "pkgdepend_64bit": (["#"], ),
     "WIN32": (["#"], ),
+    "WIN16": (["#"], ),
     "Makefile.linux": (["#"], ),
 
     "README": ([""], ["#"]),
     "copyright": ([""], ),
 
-    "xptcstubs_asm_ppc_darwin.s.m4": (["/*", " *", "*/"], ),
-    "xptcstubs_asm_mips.s.m4": (["/*", " *", "*/"], ),
+    "xptcstubs_asm_ppc_darwin.s.m4": (["/*", "*", "*/"], ),
+    "xptcstubs_asm_mips.s.m4": (["/*", "*", "*/"], ),
 
-    "nsIDocCharsetTest.txt": (["<!--", "   -", "-->"], ),
-    "nsIFontListTest.txt": (["<!--", "   -", "-->"], ),
-    "ComponentListTest.txt": (["<!--", "   -", "-->"], ),
-    "nsIWebBrowserPersistTest1.txt": (["<!--", "   -", "-->"], ),
-    "nsIWebBrowserPersistTest2.txt": (["<!--", "   -", "-->"], ),
-    "nsIWebBrowserPersistTest3.txt": (["<!--", "   -", "-->"], ),
-    "plugins.txt": (["<!--", "   -", "-->"], ),
-    "NsISHistoryTestCase1.txt": (["<!--", "   -", "-->"], ),
-    "EmbedSmokeTest.txt": (["<!--", "   -", "-->"], ),
+    "nsIDocCharsetTest.txt": (["<!--", "-", "-->"], ),
+    "nsIFontListTest.txt": (["<!--", "-", "-->"], ),
+    "ComponentListTest.txt": (["<!--", "-", "-->"], ),
+    "nsIWebBrowserPersistTest1.txt": (["<!--", "-", "-->"], ),
+    "nsIWebBrowserPersistTest2.txt": (["<!--", "-", "-->"], ),
+    "nsIWebBrowserPersistTest3.txt": (["<!--", "-", "-->"], ),
+    "plugins.txt": (["<!--", "-", "-->"], ),
+    "NsISHistoryTestCase1.txt": (["<!--", "-", "-->"], ),
+    "EmbedSmokeTest.txt": (["<!--", "-", "-->"], ),
 
-    "lineterm_LICENSE": (["/*", " *", "*/"], ),
-    "XMLterm_LICENSE": (["/*", " *", "*/"], ),
-    "BrowserView.cpp.mod": (["/*", " *", "*/"], ),
-    "header_template": (["/*", " *", "*/"], ),
-    "cpp_template": (["/*", " *", "*/"], ),
+    "lineterm_LICENSE": (["/*", "*", "*/"], ),
+    "XMLterm_LICENSE": (["/*", "*", "*/"], ),
+    "BrowserView.cpp.mod": (["/*", "*", "*/"], ),
+    "header_template": (["/*", "*", "*/"], ),
+    "cpp_template": (["/*", "*", "*/"], ),
 
     "abcFormat470.txt": (["//"], ),
     "opcodes.tbl": (["//"], ),
 }
 
 _g_ext_to_comment_info = {
     ".txt":   (["##", "#", ], ["#"]),
     ".TXT":   (["##", "#", ]),
 
     ".doc":   (["", ]),
     ".build": (["", ]),
     ".1st":   (["", ]),
     ".lsm":   (["", ]),
     ".FP":    (["", ]),
     ".spec":  (["", ]),
 
-    ".CPP":    (["/*", " *", "*/"], ),
-    ".cpp":    (["/*", " *", "*/"], ),
-    ".H":      (["/*", " *", "*/"], ),
-    ".h":      (["/*", " *", "*/"], ),
-    ".hxx":    (["/*", " *", "*/"], ),
-    ".c":      (["/*", " *", "*/"], ),
-    ".css":    (["/*", " *", "*/"], ['#']),
-    ".js":     (["/*", " *", "*/"], ['#']),
-    ".idl":    (["/*", " *", "*/"], ),
-    ".ut":     (["/*", " *", "*/"], ),
-    ".rc":     (["/*", " *", "*/"], ),
-    ".rc2":    (["/*", " *", "*/"], ),
-    ".RC":     (["/*", " *", "*/"], ),
-    ".Prefix": (["/*", " *", "*/"], ),
-    ".prefix": (["/*", " *", "*/"], ),
-    ".cfg":    (["/*", " *", "*/"], ["#"]),
-    ".cp":     (["/*", " *", "*/"], ),
-    ".cs":     (["/*", " *", "*/"], ),
-    ".java":   (["/*", " *", "*/"], ),
-    ".jst":    (["/*", " *", "*/"], ),
-    ".tbl":    (["/*", " *", "*/"], ),
-    ".tab":    (["/*", " *", "*/"], ),
-    ".cc":     (["/*", " *", "*/"], ),
-    ".msg":    (["/*", " *", "*/"], ),
-    ".y":      (["/*", " *", "*/"], ),
-    ".r":      (["/*", " *", "*/"], ),
-    ".mm":     (["/*", " *", "*/"], ),
-    ".x-ccmap":(["/*", " *", "*/"], ),
-    ".ccmap":  (["/*", " *", "*/"], ),
-    ".sql":    (["/*", " *", "*/"], ),
-    ".pch++":  (["/*", " *", "*/"], ),
-    ".xpm":    (["/*", " *", "*/"], ),
-    ".uih":    (["/*", " *", "*/"], ),
-    ".uil":    (["/*", " *", "*/"], ),
-    ".ccmap":  (["/*", " *", "*/"], ),
-    ".map":    (["/*", " *", "*/"], ),
-    ".win98":  (["/*", " *", "*/"], ),
-    ".php":    (["/*", " *", "*/"], ),
-    ".m":      (["/*", " *", "*/"], ),
-    ".jnot":   (["/*", " *", "*/"], ),
-    ".l":      (["/*", " *", "*/"], ),
-    ".htp":    (["/*", " *", "*/"], ),
-    ".xs":     (["/*", " *", "*/"], ),
-    ".as":     (["/*", " *", "*/"], ),
-    ".api":    (["/*", " *", "*/"], ['#']),
+    ".CPP":    (["/*", "*", "*/"], ),
+    ".cpp":    (["/*", "*", "*/"], ),
+    ".H":      (["/*", "*", "*/"], ),
+    ".h":      (["/*", "*", "*/"], ),
+    ".hxx":    (["/*", "*", "*/"], ),
+    ".c":      (["/*", "*", "*/"], ),
+    ".css":    (["/*", "*", "*/"], ['#']),
+    ".js":     (["/*", "*", "*/"], ['#']),
+    ".idl":    (["/*", "*", "*/"], ),
+    ".ut":     (["/*", "*", "*/"], ),
+    ".rc":     (["/*", "*", "*/"], ),
+    ".rc2":    (["/*", "*", "*/"], ),
+    ".RC":     (["/*", "*", "*/"], ),
+    ".Prefix": (["/*", "*", "*/"], ),
+    ".prefix": (["/*", "*", "*/"], ),
+    ".cfg":    (["/*", "*", "*/"], ["#"]),
+    ".cp":     (["/*", "*", "*/"], ),
+    ".cs":     (["/*", "*", "*/"], ),
+    ".java":   (["/*", "*", "*/"], ),
+    ".jst":    (["/*", "*", "*/"], ),
+    ".tbl":    (["/*", "*", "*/"], ),
+    ".tab":    (["/*", "*", "*/"], ),
+    ".cc":     (["/*", "*", "*/"], ),
+    ".msg":    (["/*", "*", "*/"], ),
+    ".y":      (["/*", "*", "*/"], ),
+    ".r":      (["/*", "*", "*/"], ),
+    ".mm":     (["/*", "*", "*/"], ),
+    ".x-ccmap":(["/*", "*", "*/"], ),
+    ".ccmap":  (["/*", "*", "*/"], ),
+    ".sql":    (["/*", "*", "*/"], ),
+    ".pch++":  (["/*", "*", "*/"], ),
+    ".xpm":    (["/*", "*", "*/"], ),
+    ".uih":    (["/*", "*", "*/"], ),
+    ".uil":    (["/*", "*", "*/"], ),
+    ".ccmap":  (["/*", "*", "*/"], ),
+    ".map":    (["/*", "*", "*/"], ),
+    ".win98":  (["/*", "*", "*/"], ),
+    ".php":    (["/*", "*", "*/"], ),
+    ".m":      (["/*", "*", "*/"], ),
+    ".jnot":   (["/*", "*", "*/"], ),
+    ".l":      (["/*", "*", "*/"], ),
+    ".htp":    (["/*", "*", "*/"], ),
+    ".xs":     (["/*", "*", "*/"], ),
+    ".as":     (["/*", "*", "*/"], ),
+    ".api":    (["/*", "*", "*/"], ['#']),
+    ".applescript": (["(*", "*", "*)"], ["--"], ["#"]),
 
-    ".html": (["<!--", "   -", "-->"], ["#"]),
-    ".xml":  (["<!--", "   -", "-->"], ["#"]),
-    ".xbl":  (["<!--", "   -", "-->"], ["#"]),
-    ".xsl":  (["<!--", "   -", "-->"], ),
-    ".xul":  (["<!--", "   -", "-->"], ["#"]),
-    ".dtd":  (["<!--", "   -", "-->"], ["#"]),
-    ".rdf":  (["<!--", "   -", "-->"], ["#"]),
-    ".htm":  (["<!--", "   -", "-->"], ),
-    ".out":  (["<!--", "   -", "-->"], ),
-    ".resx": (["<!--", "   -", "-->"], ),
-    ".bl":   (["<!--", "   -", "-->"], ),
-    ".xif":  (["<!--", "   -", "-->"], ),
-    ".xhtml":(["<!--", "   -", "-->"], ["#"]),
+    ".html": (["<!--", "-", "-->"], ["#"]),
+    ".xml":  (["<!--", "-", "-->"], ["#"]),
+    ".xbl":  (["<!--", "-", "-->"], ["#"]),
+    ".xsl":  (["<!--", "-", "-->"], ),
+    ".xul":  (["<!--", "-", "-->"], ["#"]),
+    ".dtd":  (["<!--", "-", "-->"], ["#"]),
+    ".rdf":  (["<!--", "-", "-->"], ["#"]),
+    ".htm":  (["<!--", "-", "-->"], ),
+    ".out":  (["<!--", "-", "-->"], ),
+    ".resx": (["<!--", "-", "-->"], ),
+    ".bl":   (["<!--", "-", "-->"], ),
+    ".xif":  (["<!--", "-", "-->"], ),
+    ".xhtml":(["<!--", "-", "-->"], ["#"]),
 
-    ".inc":  (["<!--", "   -", "-->"], 
+    ".inc":  (["<!--", "-", "-->"], 
               ["#"],
               ["@!"],
-              ["/*", " *", "*/"]),
+              ["/*", "*", "*/"]),
 
     ".properties": (["#"], ),
     ".win":        (["#"], ),
     ".dsp":        (["#"], ),
     ".exp":        (["#"], ),
     ".mk":         (["#"], ),
     ".mn":         (["#"], ),
     ".mak":        (["#"], ),
@@ -517,17 +520,17 @@ log = logging.getLogger("relic")
     ".il":  (["!"], ),
     ".ad":  (["!"], ),
 
     ".script": (["(*", " *", "*)"], ),
 
     ".3x":  (['.\\"'], ),
 	    
     # What a mess...
-    ".s": (["#"], ["//"], ["/*", " *", "*/"], ["!"], [";"], ["/"]),
+    ".s": (["#"], ["//"], ["/*", "*", "*/"], ["!"], [";"], ["/"]),
 }
 _g_shebang_pattern_to_comment_info = [
     (re.compile(ur'\A#!.*/bin/(ba)?sh.*$', re.IGNORECASE), (["#"], )),
     (re.compile(ur'\A#!.*perl.*$', re.IGNORECASE), (["#"], )),
     (re.compile(ur'\A#!.*php.*$', re.IGNORECASE), (["#"], )),
     (re.compile(ur'\A#!.*python.*$', re.IGNORECASE), (["#"], )),
     (re.compile(ur'\A#!.*ruby.*$', re.IGNORECASE), (["#"], )),
     (re.compile(ur'\A#!.*tclsh.*$', re.IGNORECASE), (["#"], )),
@@ -891,18 +894,19 @@ def _get_license_info(filename, show_ini
     # Get comment delimiter info for this file.
     comment_delim_sets = _get_comment_delim_sets(filename)
 
     # - find first license line (and determine which set of comment
     #   delimiters are in use)
     lines = content.splitlines()
     for comment_delims in comment_delim_sets:
         if len(comment_delims) == 3:
-            prefix_pattern = "%s|%s|" % (re.escape(comment_delims[0]),
-                                         re.escape(comment_delims[1]))
+            # Note: allow for whitespace before continuation character
+            prefix_pattern = "%s|\s*%s|" % (re.escape(comment_delims[0]),
+                                            re.escape(comment_delims[1]))
             suffix_pattern = "%s" % re.escape(comment_delims[2])
         elif len(comment_delims) == 2:
             prefix_pattern = "%s|" % re.escape(comment_delims[0])
             suffix_pattern = "%s" % re.escape(comment_delims[1])
         elif len(comment_delims) == 1:
             prefix_pattern = re.escape(comment_delims[-1])
             suffix_pattern = ""
         else: # len(comment_delims) == 0
@@ -1461,21 +1465,21 @@ def _gather_info_on_file(path, (results,
 def _make_backup_path(path):
     for n in range(100):
         backup_path = "%s~%d" % (path, n)
         if not os.path.exists(backup_path):
             return backup_path
     raise RelicError("Could not find an unused backup path for '%s'." % path)
 
 
-def _relicensing_error(err, path, cache=None, quiet=0):
+def _relicensing_error(err, path, cache=None, quiet=1):
     """Handle an error during relicensing.
     
         "err" may be an error string or an exception instance.
-        "path" is the path of the file on which this error occurred.
+        "path" is the path of the file on which this error occured.
         "cache" is a mapping of path to errors on which errors may be
             stored for later reporting.
         "quiet" optionally allows one to silence the stdout output when
             force is in effect.
 
     If the --force option is in-effect then errors may be remembered and
     processing continues, rather than halting the whole process.
     """
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/addlicense_inputs/emacs_local_vars_line.c
+++ b/tools/relic/test/addlicense_inputs/emacs_local_vars_line.c
@@ -1,19 +1,21 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 
 #include <stdio.h>
 #include <stdlib.h>
 
 #if defined(VMS)
 #include <sys/timeb.h>
-#elif defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
+#elif defined(XP_UNIX) || defined(XP_OS2_EMX) || defined(XP_BEOS)
 #include <sys/time.h>
 #elif defined(WIN32)
 #include <windows.h>
+#elif defined(XP_OS2_VACPP)
+#include <sys/timeb.h>
 #else
 #error "Architecture not supported"
 #endif
 
 
 int main(int argc, char **argv)
 {
 #if defined(OMIT_LIB_BUILD_TIME)
@@ -30,17 +32,17 @@ int main(int argc, char **argv)
 #elif defined(VMS)
     long long now;
     struct timeb b;
     ftime(&b);
     now = b.time;
     now *= 1000000;
     now += (1000 * b.millitm);
     fprintf(stdout, "%Ld", now);
-#elif defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
+#elif defined(XP_UNIX) || defined(XP_OS2_EMX) || defined(XP_BEOS)
     long long now;
     struct timeval tv;
 #ifdef HAVE_SVID_GETTOD
     gettimeofday(&tv);
 #else
     gettimeofday(&tv, NULL);
 #endif
     now = ((1000000LL) * tv.tv_sec) + (long long)tv.tv_usec;
@@ -63,16 +65,43 @@ int main(int argc, char **argv)
      */
 #ifdef __GNUC__
     now = (now - 116444736000000000LL) / 10LL;
     fprintf(stdout, "%lld", now);
 #else
     now = (now - 116444736000000000i64) / 10i64;
     fprintf(stdout, "%I64d", now);
 #endif
+
+#elif defined(XP_OS2_VACPP)
+/* no long long or i64 so we use a string */
+#include <string.h>
+  char buf[24];
+  char tbuf[7];
+  time_t now;
+  long mtime;
+  int i;
+
+  struct timeb b;
+  ftime(&b);
+  now = b.time;
+  _ltoa(now, buf, 10);
+
+  mtime = b.millitm * 1000;
+  if (mtime == 0){
+    ++now;
+    strcat(buf, "000000");
+  } else {
+     _ltoa(mtime, tbuf, 10);
+     for (i = strlen(tbuf); i < 6; ++i)
+       strcat(buf, "0");
+     strcat(buf, tbuf);
+  }
+  fprintf(stdout, "%s", buf);
+
 #else
 #error "Architecture not supported"
 #endif
 
     return 0;
 }  /* main */
 
 /* now.c */
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/addlicense_outputs/emacs_local_vars_line.c
+++ b/tools/relic/test/addlicense_outputs/emacs_local_vars_line.c
@@ -36,20 +36,22 @@
  * ***** END LICENSE BLOCK ***** */
 
 
 #include <stdio.h>
 #include <stdlib.h>
 
 #if defined(VMS)
 #include <sys/timeb.h>
-#elif defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
+#elif defined(XP_UNIX) || defined(XP_OS2_EMX) || defined(XP_BEOS)
 #include <sys/time.h>
 #elif defined(WIN32)
 #include <windows.h>
+#elif defined(XP_OS2_VACPP)
+#include <sys/timeb.h>
 #else
 #error "Architecture not supported"
 #endif
 
 
 int main(int argc, char **argv)
 {
 #if defined(OMIT_LIB_BUILD_TIME)
@@ -66,17 +68,17 @@ int main(int argc, char **argv)
 #elif defined(VMS)
     long long now;
     struct timeb b;
     ftime(&b);
     now = b.time;
     now *= 1000000;
     now += (1000 * b.millitm);
     fprintf(stdout, "%Ld", now);
-#elif defined(XP_UNIX) || defined(XP_OS2) || defined(XP_BEOS)
+#elif defined(XP_UNIX) || defined(XP_OS2_EMX) || defined(XP_BEOS)
     long long now;
     struct timeval tv;
 #ifdef HAVE_SVID_GETTOD
     gettimeofday(&tv);
 #else
     gettimeofday(&tv, NULL);
 #endif
     now = ((1000000LL) * tv.tv_sec) + (long long)tv.tv_usec;
@@ -100,16 +102,42 @@ int main(int argc, char **argv)
 #ifdef __GNUC__
     now = (now - 116444736000000000LL) / 10LL;
     fprintf(stdout, "%lld", now);
 #else
     now = (now - 116444736000000000i64) / 10i64;
     fprintf(stdout, "%I64d", now);
 #endif
 
+#elif defined(XP_OS2_VACPP)
+/* no long long or i64 so we use a string */
+#include <string.h>
+  char buf[24];
+  char tbuf[7];
+  time_t now;
+  long mtime;
+  int i;
+
+  struct timeb b;
+  ftime(&b);
+  now = b.time;
+  _ltoa(now, buf, 10);
+
+  mtime = b.millitm * 1000;
+  if (mtime == 0){
+    ++now;
+    strcat(buf, "000000");
+  } else {
+     _ltoa(mtime, tbuf, 10);
+     for (i = strlen(tbuf); i < 6; ++i)
+       strcat(buf, "0");
+     strcat(buf, tbuf);
+  }
+  fprintf(stdout, "%s", buf);
+
 #else
 #error "Architecture not supported"
 #endif
 
     return 0;
 }  /* main */
 
 /* now.c */
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/relicense_inputs/need_to_relicense.h
+++ b/tools/relic/test/relicense_inputs/need_to_relicense.h
@@ -44,17 +44,16 @@
 #include "nsString.h"
 #include "nsIDOMViewCSS.h"
 #include "nsIDOMNode.h"
 #include "nsIDOMElement.h"
 #include "nsIHTMLEditor.h"
 #include "ChangeCSSInlineStyleTxn.h"
 #include "nsEditProperty.h"
 #include "nsIDOMCSSStyleDeclaration.h"
-#include "nsTArray.h"
 
 #define SPECIFIED_STYLE_TYPE    1
 #define COMPUTED_STYLE_TYPE     2
 
 class nsHTMLEditor;
 
 typedef void (*nsProcessValueFunc)(const nsAString * aInputString, nsAString & aOutputString,
                                    const char * aDefaultValueString,
@@ -333,17 +332,17 @@ private:
     * @param aEquivTable        [IN] the equivalence table
     * @param aValue             [IN] the HTML style value
     * @param aGetOrRemoveRequest [IN] a boolean value being true if the call to the current method
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
 
   void      BuildCSSDeclarations(nsVoidArray & aPropertyArray,
-                                 nsTArray<nsString> & cssValueArray,
+                                 nsStringArray & cssValueArray,
                                  const CSSEquivTable * aEquivTable,
                                  const nsAString * aValue,
                                  PRBool aGetOrRemoveRequest);
 
   /** retrieves the CSS declarations equivalent to the given HTML property/attribute/value
     * for a given node
     *
     * @param aNode              [IN] the DOM node
@@ -356,17 +355,17 @@ private:
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
   void      GenerateCSSDeclarationsFromHTMLStyle(nsIDOMNode * aNode,
                                                  nsIAtom * aHTMLProperty,
                                                  const nsAString *aAttribute,
                                                  const nsAString *aValue,
                                                  nsVoidArray & aPropertyArray,
-                                                 nsTArray<nsString> & aValueArray,
+                                                 nsStringArray & aValueArray,
                                                  PRBool aGetOrRemoveRequest);
 
   /** creates a Transaction for setting or removing a css property
     *
     * @param aElement           [IN] a DOM element
     * @param aProperty          [IN] a CSS property
     * @param aValue             [IN] the value to remove for this CSS property or the empty string if irrelevant
     * @param aTxn               [OUT] the created transaction
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/relicense_inputs/npl.h
+++ b/tools/relic/test/relicense_inputs/npl.h
@@ -29,17 +29,16 @@
 #include "nsString.h"
 #include "nsIDOMViewCSS.h"
 #include "nsIDOMNode.h"
 #include "nsIDOMElement.h"
 #include "nsIHTMLEditor.h"
 #include "ChangeCSSInlineStyleTxn.h"
 #include "nsEditProperty.h"
 #include "nsIDOMCSSStyleDeclaration.h"
-#include "nsTArray.h"
 
 #define SPECIFIED_STYLE_TYPE    1
 #define COMPUTED_STYLE_TYPE     2
 
 class nsHTMLEditor;
 
 typedef void (*nsProcessValueFunc)(const nsAString * aInputString, nsAString & aOutputString,
                                    const char * aDefaultValueString,
@@ -318,17 +317,17 @@ private:
     * @param aEquivTable        [IN] the equivalence table
     * @param aValue             [IN] the HTML style value
     * @param aGetOrRemoveRequest [IN] a boolean value being true if the call to the current method
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
 
   void      BuildCSSDeclarations(nsVoidArray & aPropertyArray,
-                                 nsTArray<nsString> & cssValueArray,
+                                 nsStringArray & cssValueArray,
                                  const CSSEquivTable * aEquivTable,
                                  const nsAString * aValue,
                                  PRBool aGetOrRemoveRequest);
 
   /** retrieves the CSS declarations equivalent to the given HTML property/attribute/value
     * for a given node
     *
     * @param aNode              [IN] the DOM node
@@ -341,17 +340,17 @@ private:
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
   void      GenerateCSSDeclarationsFromHTMLStyle(nsIDOMNode * aNode,
                                                  nsIAtom * aHTMLProperty,
                                                  const nsAString *aAttribute,
                                                  const nsAString *aValue,
                                                  nsVoidArray & aPropertyArray,
-                                                 nsTArray<nsString> & aValueArray,
+                                                 nsStringArray & aValueArray,
                                                  PRBool aGetOrRemoveRequest);
 
   /** creates a Transaction for setting or removing a css property
     *
     * @param aElement           [IN] a DOM element
     * @param aProperty          [IN] a CSS property
     * @param aValue             [IN] the value to remove for this CSS property or the empty string if irrelevant
     * @param aTxn               [OUT] the created transaction
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/relicense_outputs/need_to_relicense.h
+++ b/tools/relic/test/relicense_outputs/need_to_relicense.h
@@ -36,17 +36,16 @@
  * 
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsHTMLCSSUtils_h__
 #define nsHTMLCSSUtils_h__
 
 #include "nsCOMPtr.h"
 #include "nsString.h"
-#include "nsTArray.h"
 #include "nsIDOMViewCSS.h"
 #include "nsIDOMNode.h"
 #include "nsIDOMElement.h"
 #include "nsIHTMLEditor.h"
 #include "ChangeCSSInlineStyleTxn.h"
 #include "nsEditProperty.h"
 #include "nsIDOMCSSStyleDeclaration.h"
 
@@ -332,17 +331,17 @@ private:
     * @param aEquivTable        [IN] the equivalence table
     * @param aValue             [IN] the HTML style value
     * @param aGetOrRemoveRequest [IN] a boolean value being true if the call to the current method
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
 
   void      BuildCSSDeclarations(nsVoidArray & aPropertyArray,
-                                 nsTArray<nsString> & cssValueArray,
+                                 nsStringArray & cssValueArray,
                                  const CSSEquivTable * aEquivTable,
                                  const nsAString * aValue,
                                  PRBool aGetOrRemoveRequest);
 
   /** retrieves the CSS declarations equivalent to the given HTML property/attribute/value
     * for a given node
     *
     * @param aNode              [IN] the DOM node
@@ -355,17 +354,17 @@ private:
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
   void      GenerateCSSDeclarationsFromHTMLStyle(nsIDOMNode * aNode,
                                                  nsIAtom * aHTMLProperty,
                                                  const nsAString *aAttribute,
                                                  const nsAString *aValue,
                                                  nsVoidArray & aPropertyArray,
-                                                 nsTArray<nsString> & aValueArray,
+                                                 nsStringArray & aValueArray,
                                                  PRBool aGetOrRemoveRequest);
 
   /** creates a Transaction for setting or removing a css property
     *
     * @param aElement           [IN] a DOM element
     * @param aProperty          [IN] a CSS property
     * @param aValue             [IN] the value to remove for this CSS property or the empty string if irrelevant
     * @param aTxn               [OUT] the created transaction
old mode 100644
new mode 100755
old mode 100644
new mode 100755
old mode 100644
new mode 100755
--- a/tools/relic/test/relicense_outputs/npl.h
+++ b/tools/relic/test/relicense_outputs/npl.h
@@ -36,17 +36,16 @@
  * 
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsHTMLCSSUtils_h__
 #define nsHTMLCSSUtils_h__
 
 #include "nsCOMPtr.h"
 #include "nsString.h"
-#include "nsTArray.h"
 #include "nsIDOMViewCSS.h"
 #include "nsIDOMNode.h"
 #include "nsIDOMElement.h"
 #include "nsIHTMLEditor.h"
 #include "ChangeCSSInlineStyleTxn.h"
 #include "nsEditProperty.h"
 #include "nsIDOMCSSStyleDeclaration.h"
 
@@ -332,17 +331,17 @@ private:
     * @param aEquivTable        [IN] the equivalence table
     * @param aValue             [IN] the HTML style value
     * @param aGetOrRemoveRequest [IN] a boolean value being true if the call to the current method
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
 
   void      BuildCSSDeclarations(nsVoidArray & aPropertyArray,
-                                 nsTArray<nsString> & cssValueArray,
+                                 nsStringArray & cssValueArray,
                                  const CSSEquivTable * aEquivTable,
                                  const nsAString * aValue,
                                  PRBool aGetOrRemoveRequest);
 
   /** retrieves the CSS declarations equivalent to the given HTML property/attribute/value
     * for a given node
     *
     * @param aNode              [IN] the DOM node
@@ -355,17 +354,17 @@ private:
     *                                 is made for GetCSSEquivalentToHTMLInlineStyleSet or
     *                                 RemoveCSSEquivalentToHTMLInlineStyleSet
     */
   void      GenerateCSSDeclarationsFromHTMLStyle(nsIDOMNode * aNode,
                                                  nsIAtom * aHTMLProperty,
                                                  const nsAString *aAttribute,
                                                  const nsAString *aValue,
                                                  nsVoidArray & aPropertyArray,
-                                                 nsTArray<nsString> & aValueArray,
+                                                 nsStringArray & aValueArray,
                                                  PRBool aGetOrRemoveRequest);
 
   /** creates a Transaction for setting or removing a css property
     *
     * @param aElement           [IN] a DOM element
     * @param aProperty          [IN] a CSS property
     * @param aValue             [IN] the value to remove for this CSS property or the empty string if irrelevant
     * @param aTxn               [OUT] the created transaction
old mode 100644
new mode 100755