Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 To upgrade to a new revision of libjpeg-turbo, do the following:
3 * Check out libjpeg-turbo from SVN:
5 $ svn co https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo/trunk libjpeg-turbo
7 * In a clean clone of mozilla-central, run the following commands
9 $ rm -rf media/libjpeg
10 $ svn export --ignore-externals /path/to/libjpeg-turbo media/libjpeg
11 $ cd media/libjpeg
13 * Copy win/jsimdcfg.inc to simd/.
15 * Since libjpeg-turbo normally creates config.h and jconfig.h at build time and
16 we use pre-generated versions, changes to jconfig.h.in and win/config.h.in
17 should be looked for and noted for later inclusion.
19 * Now look through the new files and rm any which are npotb. When I upgraded
20 to libjpeg-turbo 1.1.0, the only files I kept which didn't match
22 *.c *.h *.asm *.inc
24 were README and README-turbo.
26 You can easily look for all non *.c, *.h, *.asm, and *.inc files by running
28 $ hg status -nu | grep -v '\(c\|h\|asm\|inc\)$'
30 Once you're comfortable that you're only deleting files you want to delete
31 (and you've hg add'ed the files you want to keep), you can nuke the remaining
32 files with
34 $ hg status -nu | grep -v '\(c\|h\|asm\|inc\)$' | xargs rm
36 A helpful command for finding the *.c files which aren't *currently* part of
37 the build is
39 diff <(ls *.c | sort) <(grep -o '\w*\.c' Makefile.in | sort)
41 Of course, libjpeg-turbo might have added some new source files, so you'll
42 have to look though and figure out which of these files to keep.
44 * Restore files modified in the Mozilla repository.
46 $ hg revert --no-backup config.h jconfig.h Makefile.in MOZCHANGES \
47 mozilla.diff simd/Makefile.in genTables.py
49 * Update config.h and jconfig.h as noted previously.
51 * Apply Mozilla-specific changes to upstream files.
53 $ patch -p0 -i mozilla.diff
55 * Update Makefile.in to build any new files.
57 * Finally, tell hg that we've added or removed some files:
59 $ hg addremove
61 == March 24, 2014 (libjpeg-turbo v1.3.1 r1205 2014-03-22) ==
63 * Updated to v1.3.1 release.
65 == November 25, 2013 ==
67 * Fix bug 891693.
69 == June 4, 2013 (libjpeg-turbo v1.3.0 r988 2013-05-25) ==
71 * Updated to v1.3.0 release.
73 == December 12, 2012 ==
75 * Replace the runtime computed jpeg_nbits_table with constants in
76 jpeg_nbits_table.h to make it shareable among processes. (bug 815473)
78 == October 13, 2012 ==
80 * Modified config.h to use MOZ_ALWAYS_INLINE (bug 800106).
82 == July 4, 2012 (libjpeg-turbo v1.2.1 r853 2012-06-30) ==
84 * Updated to v1.2.1 stable release.
86 == June 5, 2012 (libjpeg-turbo v1.2.x branch, r831 2012-05-30) ==
88 * Updated to latest version on v1.2.x branch (bug 759891).
90 == February 10, 2012 (libjpeg-turbo v1.2.0 r807 2012-02-10) ==
92 * Imported jchuff.c, jdhuff.c, jdhuff.h under new licensing.
94 * Created mozilla.diff for the required jmorecfg.h changes and to allow for any
95 future changes made by Mozilla to upstream files.
97 * Removed the following files which are unused by the Mozilla build:
99 cderror.h, cdjpeg.h, jconfig.h.in, transupp.h, simd/jsimdcfg.inc.h
102 == March 28, 2011 (initial commit, libjpeg-turbo v1.1.0 r469 2011-02-27) ==
104 * Modified jmorecfg.h to define UINT8, UINT16, INT16, and INT32 in terms of
105 prtypes to fix a build error on Windows.
107 * Defined INLINE as NS_ALWAYS_INLINE in jconfig.h.
109 * Removed the following files which are licensed under the wxWindows license:
111 bmp.c, bmp.h, jpegut.c, jpgtest.cxx, rrtimer.h, rrutil.h, turbojpeg.h,
112 turbojpegl.c
114 * Reverted the following files to what was previously in Mozilla's tree
115 (nominally libjpeg 6.2):
117 jchuff.c, jdhuff.c, jdhuff.h
119 since the versions of these files in libjpeg-turbo are also under the
120 wxWindows license. (It would have been nicer to revert them to the new
121 libjpeg-8b code, but that doesn't easily integrate with libjpeg-turbo.)