]>
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 | set -e | |
36 | set -x | |
37 | ||
38 | prefix=wxWidgets-$version | |
39 | destdir=$(dirname $(readlink -f $0))/../../../$prefix | |
40 | ||
41 | cleanup() { | |
42 | rm -rf $destdir | |
43 | } | |
44 | ||
45 | trap cleanup INT TERM EXIT | |
46 | ||
47 | cleanup | |
48 | ||
49 | git archive --prefix=$prefix/ HEAD | (cd ..; tar x) | |
50 | cd .. | |
51 | # All setup0.h files are supposed to be renamed to just setup.h when checked | |
52 | # out and in the distribution. | |
53 | find $prefix/include/wx -type f -name setup0.h | while read f; do | |
54 | mv $f ${f%0.h}.h | |
55 | done | |
56 | ||
57 | # Compile gettext catalogs. | |
58 | make -C $prefix/locale allmo | |
59 | ||
60 | tar cjf $prefix.tar.bz2 $prefix | |
61 | ||
62 | cd $prefix | |
63 | set +x | |
64 | for f in `cat ../eol-native`; do | |
65 | case $f in | |
66 | */setup0.h) | |
67 | # we renamed this file above so adjust | |
68 | f=${f%0.h}.h | |
69 | ;; | |
70 | esac | |
71 | unix2dos -q $f | |
72 | done | |
73 | set -x | |
74 | ||
75 | zip -q -r ../$prefix.zip . | |
76 | ||
77 | 7z a ../$prefix.7z . >/dev/null | |
78 | 7z a ../${prefix}_Headers.7z include >/dev/null |