summaryrefslogtreecommitdiffstats
path: root/third_party/libxslt/README.chromium
blob: ca124e88099f0944365c75ef5ee611a4c67f2249 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Name: libxslt
URL: http://xmlsoft.org/XSLT
Version: 1.1.26
Security Critical: yes
License: MIT
License File: Copyright

Description:
This directory contains a partial snapshot of the libxslt library
with the following modification:

1) Modified win32/configure.js to be able to clobber a read-only Makefile
This consists of:
replace ---
fso.CopyFile(makefile, ".\\Makefile", true);
with ---
var new_makefile = ".\\Makefile";
var f = fso.FileExists(new_makefile);
if (f) {
       var t = fso.GetFile(new_makefile);
       t.Attributes =0;
}
fso.CopyFile(makefile, new_makefile, true);
done ---

2) Modified libxslt/security.c to use GetFileAttributesA instead of GetFileAttributes. 

3) Modified configure to not generate Makefiles.
This consists of:
replace ---
ac_config_files="$ac_config_files Makefile....
with ---
ac_config_files="$ac_config_files libxslt/xsltconfig.h libxslt/xsltwin32config.h libexslt/exsltconfig.h xslt-config"
done ---

4) Modified xsltconfig.h options:
- Change LIBXSLT_VERSION_EXTRA define to ""
- Change the DEBUG_MEMORY define to #if 0
- Change the WITH_MODULES define to #if 0
- Change the "Locale support" section to #if 0
- For good measure, change the LIBXSLT_DEFAULT_PLUGINS_PATH() define to "NULL"

Current version: 1.1.26, plus the following patches:
- A fix to get more compact generated IDs (http://git.gnome.org/browse/libxslt/commit/?id=ecb6bcb8d1b7e44842edde3929f412d46b40c89f)
- Import pattern parsing fix for commit: http://git.gnome.org/browse/libxslt/commit/?id=fe5a4fa33eb85bce3253ed3742b1ea6c4b59b41b
- A fix for XSLT node checking (from upstream, commit pending).
- A fix for dictionary string usage.

5) Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c

6) A change to pattern.c to better handle an error condition parsing a broken
expression.

To import a new snapshot of libxslt:

- Visit http://xmlsoft.org/XSLT/downloads.html and download the latest source
  distribution.
- Copy the files into this directory, omitting files which have been omitted
  here.
- Run build/generate-win32-headers.bat to re-generate the configuration
  headers.
- On Linux, 'cd linux && sh ../configure --with-libxml-src=../../libxml/linux/'
  to re-generate configuration headers.
- On Mac, 'cd mac && sh ../configure --with-libxml-src=../../libxml/mac/'
  to re-generate configuration headers.
- Perform the modification above.
- Update this README to reflect the new version number.
- When creating your CL, make sure to "svn add" any new source files, but
don't ever add in the files not needed for the Chromium build. (e.g.
Changelog, configure, etc) -- these are just bloat.