OLD | NEW |
| (Empty) |
1 #! /bin/sh | |
2 | |
3 # This script takes the result of "make dist" and: | |
4 # 1) Unpacks it. | |
5 # 2) Ensures all contents are user-writable. Some version control systems | |
6 # keep code read-only until you explicitly ask to edit it, and the normal | |
7 # "make dist" process does not correct for this, so the result is that | |
8 # the entire dist is still marked read-only when unpacked, which is | |
9 # annoying. So, we fix it. | |
10 # 3) Convert MSVC project files to MSVC 2005, so that anyone who has version | |
11 # 2005 *or* 2008 can open them. (In version control, we keep things in | |
12 # MSVC 2008 format since that's what we use in development.) | |
13 # 4) Uses the result to create .tar.gz, .tar.bz2, and .zip versions and | |
14 # deposites them in the "dist" directory. In the .zip version, all | |
15 # non-testdata .txt files are converted to Windows-style line endings. | |
16 # 5) Cleans up after itself. | |
17 | |
18 if [ "$1" == "" ]; then | |
19 echo "USAGE: $0 DISTFILE" >&2 | |
20 exit 1 | |
21 fi | |
22 | |
23 if [ ! -e $1 ]; then | |
24 echo $1": File not found." >&2 | |
25 exit 1 | |
26 fi | |
27 | |
28 set -ex | |
29 | |
30 LANGUAGES="cpp csharp java javanano objectivec python ruby" | |
31 BASENAME=`basename $1 .tar.gz` | |
32 VERSION=${BASENAME:9} | |
33 | |
34 # Create a directory called "dist", copy the tarball there and unpack it. | |
35 mkdir dist | |
36 cp $1 dist | |
37 cd dist | |
38 tar zxvf $BASENAME.tar.gz | |
39 rm $BASENAME.tar.gz | |
40 | |
41 # Set the entire contents to be user-writable. | |
42 chmod -R u+w $BASENAME | |
43 | |
44 # Convert the MSVC projects to MSVC 2005 format. | |
45 cd $BASENAME/vsprojects | |
46 ./convert2008to2005.sh | |
47 cd .. | |
48 | |
49 for LANG in $LANGUAGES; do | |
50 # Build the dist again in .tar.gz | |
51 ./configure DIST_LANG=$LANG | |
52 make dist-gzip | |
53 mv $BASENAME.tar.gz ../protobuf-$LANG-$VERSION.tar.gz | |
54 done | |
55 | |
56 # Convert all text files to use DOS-style line endings, then build a .zip | |
57 # distribution. | |
58 todos *.txt */*.txt | |
59 | |
60 for LANG in $LANGUAGES; do | |
61 # Build the dist again in .zip | |
62 ./configure DIST_LANG=$LANG | |
63 make dist-zip | |
64 mv $BASENAME.zip ../protobuf-$LANG-$VERSION.zip | |
65 done | |
66 | |
67 cd .. | |
68 rm -rf $BASENAME | |
OLD | NEW |