]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # | |
3 | # This is the script used by VZ to make wxWidgets releases. It is unofficial | |
4 | # because it must be ran from git-svn repository and not the official svn one | |
5 | # and relies on having a recent Perl installation. But it has the advantage of | |
6 | # being very simple because git knows which files should be included in the | |
7 | # distribution and we don't need to maintain the list of them ourselves but we | |
8 | # also don't run the risk of including anything unwanted. | |
9 | # | |
10 | # Another prerequisite for using it is to create the list of files to be | |
11 | # converted to DOS EOLs for Windows distribution, it must exist in the parent | |
12 | # directory and be called eol-native. This can be done using the companion | |
13 | # svn-find-native-eols.pl script. And will only need to be redone when | |
14 | # svn:eol-style property changes for any files (most likely because it will be | |
15 | # set for a newly added file). | |
16 | # | |
17 | # To summarize, here are the steps to create the release: | |
18 | # | |
19 | # % cd $svn | |
20 | # % $git/build/tools/svn-find-native-eols.pl > $git/../eol-native | |
21 | # % cd $git | |
22 | # % git svn tag WX_x_y_z | |
23 | # % ./build/tools/git-make-release x.y.z | |
24 | # % ... upload ../wxWidgets-x.y.z.{7z,tar.bz2,zip} ... | |
25 | # | |
26 | # If anything is wrong and some minor fixes are required, only the last two | |
27 | # steps (tagging and git-make-release) must be repeated. | |
28 | ||
29 | version=$1 | |
30 | if [ -z "$version" ]; then | |
31 | echo "Must specify the distribution version." >&2 | |
32 | exit 1 | |
33 | fi | |
34 | ||
35 | EOL_FILE=../eol-native | |
36 | if [ ! -r "$EOL_FILE" ]; then | |
37 | echo "Use build/tools/svn-find-native-eols.pl to generate $EOL_FILE." >&2 | |
38 | exit 1 | |
39 | fi | |
40 | ||
41 | set -e | |
42 | set -x | |
43 | ||
44 | prefix=wxWidgets-$version | |
45 | destdir=$(dirname $(readlink -f $0))/../../../$prefix | |
46 | ||
47 | cleanup() { | |
48 | rm -rf $destdir | |
49 | } | |
50 | ||
51 | trap cleanup INT TERM EXIT | |
52 | ||
53 | cleanup | |
54 | ||
55 | git archive --prefix=$prefix/ HEAD | (cd ..; tar x) | |
56 | cd .. | |
57 | # All setup0.h files are supposed to be renamed to just setup.h when checked | |
58 | # out and in the distribution. | |
59 | find $prefix/include/wx -type f -name setup0.h | while read f; do | |
60 | mv $f ${f%0.h}.h | |
61 | done | |
62 | ||
63 | # Compile gettext catalogs. | |
64 | make -C $prefix/locale allmo | |
65 | ||
66 | tar cjf $prefix.tar.bz2 $prefix | |
67 | ||
68 | cd $prefix | |
69 | set +x | |
70 | for f in `cat $EOL_FILE`; do | |
71 | case $f in | |
72 | */setup0.h) | |
73 | # we renamed this file above so adjust | |
74 | f=${f%0.h}.h | |
75 | ;; | |
76 | esac | |
77 | unix2dos -q $f | |
78 | done | |
79 | set -x | |
80 | ||
81 | zip -q -r ../$prefix.zip . | |
82 | ||
83 | 7z a ../$prefix.7z . >/dev/null | |
84 | 7z a ../${prefix}_Headers.7z include >/dev/null |