wxWidgets/build/tools/git-make-release
Václav Slavík ee915a646f Include gettext MO files in distribution archives.
It's the usual thing to do. Ideally, we'd also compile them as part of
build process, at least on Unix, but this is better than nothing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 09:59:14 +00:00

79 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
#
# This is the script used by VZ to make wxWidgets releases. It is unofficial
# because it must be ran from git-svn repository and not the official svn one
# and relies on having a recent Perl installation. But it has the advantage of
# being very simple because git knows which files should be included in the
# distribution and we don't need to maintain the list of them ourselves but we
# also don't run the risk of including anything unwanted.
#
# Another prerequisite for using it is to create the list of files to be
# converted to DOS EOLs for Windows distribution, it must exist in the parent
# directory and be called eol-native. This can be done using the companion
# svn-find-native-eols.pl script. And will only need to be redone when
# svn:eol-style property changes for any files (most likely because it will be
# set for a newly added file).
#
# To summarize, here are the steps to create the release:
#
# % cd $svn
# % $git/build/tools/svn-find-native-eols.pl > $git/../eol-native
# % cd $git
# % git svn tag WX_x_y_z
# % ./build/tools/git-make-release x.y.z
# % ... upload ../wxWidgets-x.y.z.{7z,tar.bz2,zip} ...
#
# If anything is wrong and some minor fixes are required, only the last two
# steps (tagging and git-make-release) must be repeated.
version=$1
if [ -z "$version" ]; then
echo "Must specify the distribution version." >&2
exit 1
fi
set -e
set -x
prefix=wxWidgets-$version
destdir=$(dirname $(readlink -f $0))/../../../$prefix
cleanup() {
rm -rf $destdir
}
trap cleanup INT TERM EXIT
cleanup
git archive --prefix=$prefix/ HEAD | (cd ..; tar x)
cd ..
# All setup0.h files are supposed to be renamed to just setup.h when checked
# out and in the distribution.
find $prefix/include/wx -type f -name setup0.h | while read f; do
mv $f ${f%0.h}.h
done
# Compile gettext catalogs.
make -C $prefix/locale allmo
tar cjf $prefix.tar.bz2 $prefix
cd $prefix
set +x
for f in `cat ../eol-native`; do
case $f in
*/setup0.h)
# we renamed this file above so adjust
f=${f%0.h}.h
;;
esac
unix2dos -q $f
done
set -x
zip -q -r ../$prefix.zip .
7z a ../$prefix.7z . >/dev/null
7z a ../${prefix}_Headers.7z include >/dev/null