Build and distrib tweaks ported over from the 2.6 branch

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-07-05 05:23:28 +00:00
parent 2dfa1180b0
commit 0f475e8aa9
24 changed files with 301 additions and 182 deletions

View File

@@ -3,7 +3,7 @@
# Build wxMac and wxPythonOSX from the tarball and then make an
# Installer package out of it.
##set -x
#set -o xtrace
spectemplate=distrib/wxPythonFull.spec.in
@@ -24,12 +24,10 @@ fi
function usage {
echo ""
echo "Usage: $0 PYVER [jaguar|panther] [command flags...]"
echo "Usage: $0 PYVER [command flags...]"
echo ""
echo " PYVER Python version to use to do the build"
echo ""
echo " panther Build for Apple's python in /usr/bin, such as on Panther"
echo " jaguar Build for a python in /usr/local/bin, such as on Jaguar"
echo " PYVER Python version to use to do the build. A"
echo " matching python\$PYVER must be found on the PATH"
echo ""
echo "optional command flags:"
echo " skiptar Don't unpack the tarball"
@@ -48,13 +46,8 @@ function usage {
}
if [ $# -lt 2 ]; then
usage
exit 1
fi
PYVER=$1
if which python$PYVER && which pythonw$PYVER; then
if [ "$PYVER" != "" ] && which python$PYVER && which pythonw$PYVER; then
PYTHON=`which python$PYVER`
PYTHONW=`which pythonw$PYVER`
else
@@ -62,14 +55,7 @@ else
exit 1
fi
KIND=$2
case $KIND in
panther) TAG=macosx10.3 ;;
jaguar) TAG=macosx10.2 ;;
*) usage; exit 1 ;;
esac
shift;shift
shift
skiptar=no
skipconfig=no
@@ -79,6 +65,7 @@ skipdmg=no
skipclean=no
inplace=no
unicode=no
debug=no
reswig=no
universal=no
@@ -88,10 +75,12 @@ for flag in $*; do
skipconfig) skipconfig=yes; skiptar=yes ;;
skipbuild) skipbuild=yes; skipconfig=yes; skiptar=yes ;;
skipinstall) skipinstall=yes ;;
skipdmg) skipdmg=yes ;;
skipdmg) skipdmg=yes ;;
skipclean) skipclean=yes ;;
inplace) inplace=yes; skiptar=yes ;;
unicode) unicode=yes ;;
ansi) unicode=no ;;
debug) debug=yes ;;
reswig) reswig=yes ;;
universal) universal=yes ;;
*) echo "Unknown flag \"${flag}\""
@@ -101,6 +90,23 @@ for flag in $*; do
done
OSX_VERSION=`sw_vers -productVersion`
OSX_VERSION=${OSX_VERSION:0:4}
case $OSX_VERSION in
10.4) TAG=macosx10.4 ;;
10.3) TAG=macosx10.3 ;;
10.2) TAG=macosx10.2 ;;
*) usage; exit 1 ;;
esac
if [ $universal = yes ]; then
TAG=universal10.4
fi
VERSION=`$PYTHON -c "import setup;print setup.VERSION"`
SHORTVER=`echo $VERSION | cut -c 1,2,3`
PYPREFIX=`$PYTHON -c "import sys; print sys.exec_prefix"`
@@ -117,6 +123,14 @@ else
PYUNICODEOPT=0
fi
if [ $debug == yes ]; then
DEBUG_FLAG=--enable-debug
PYDEBUGOPT=--debug
else
DEBUG_FLAG=--enable-debug_flag
PYDEBUGOPT=
fi
# Test if the python we are using is the System installed framework
# or one that was installed by the user. This changes where the
@@ -229,16 +243,12 @@ echo "Using source tree: $WXDIR"
#----------------------------------------------------------------------
if [ $KIND = panther ]; then
if [ $OSX_VERSION = 10.3 -o $OSX_VERSION = 10.4 ]; then
OTHER_CFG_OPTS=--enable-mediactrl
fi
UNIVOPT=
if [ $universal = yes ]; then
UNIVOPT=--enable-universal_binary
fi
# Configure wxWidgets
if [ $skipconfig != yes ]; then
if [ $skipconfig != yes -a $universal != yes ]; then
$WXDIR/configure \
--prefix=$PREFIX \
--with-mac \
@@ -247,12 +257,12 @@ if [ $skipconfig != yes ]; then
--enable-sound \
--enable-display \
--enable-geometry \
--enable-debug_flag \
$DEBUG_FLAG \
--enable-precomp=no \
--enable-optimise \
--disable-debugreport \
--disable-precompiled-headers \
$UNICODEOPT $UNIVOPT $OTHER_CFG_OPTS
$UNICODEOPT $OTHER_CFG_OPTS
fi
@@ -260,27 +270,23 @@ fi
if [ $skipbuild != yes ]; then
# Make wxWidgets and some contribs
# # For some reason Rez and DeRez have started locking up if run via
# # an ssh terminal. Figure out why, but in the meantime...
# if [ "$CHARTYPE" = "ansi" ]; then
# echo cp /projects/wx2.5/bld/lib/libwx_macd-2.5.?.r* lib
# cp /projects/wx2.5/bld/lib/libwx_macd-2.5.?.r* lib
# else
# echo cp /projects/wx2.5/bld-unicode/lib/libwx_macud-2.5.?.r* lib
# cp /projects/wx2.5/bld-unicode/lib/libwx_macud-2.5.?.r* lib
# fi
# touch lib/libwx*.r*
make $MAKEJOBS
make $MAKEJOBS -C contrib/src/animate
make $MAKEJOBS -C contrib/src/gizmos
make $MAKEJOBS -C contrib/src/stc
SWIGIT=0
if [ $reswig = yes ]; then
SWIGIT=1
fi
WXBLD_CONFIG="$WXBLD/wx-config"
if [ $universal = yes ]; then
export WXROOT
export BUILDPREFIX=$PREFIX
export INSTALLDIR=$INSTALLROOT$PREFIX
$WXDIR/distrib/scripts/mac/macbuild wxpython universal $CHARTYPE
else
make $MAKEJOBS
make $MAKEJOBS -C contrib/src/animate
make $MAKEJOBS -C contrib/src/gizmos
make $MAKEJOBS -C contrib/src/stc
fi
SWIGIT=0
if [ $reswig = yes ]; then
SWIGIT=1
fi
# Build wxPython
cd $WXROOT/wxPython
@@ -288,7 +294,7 @@ fi
UNICODE=$PYUNICODEOPT \
NO_SCRIPTS=1 \
EP_ADD_OPTS=1 \
WX_CONFIG="$WXBLD/wx-config --inplace" \
WX_CONFIG="$WXBLD_CONFIG --inplace" \
BUILD_BASE=$WXBLD/wxPython \
SWIG=$SWIGBIN \
USE_SWIG=$SWIGIT \
@@ -300,11 +306,12 @@ fi
if [ $skipinstall != yes ]; then
# Install wxWidgets
cd $WXBLD
make prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/animate prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/gizmos prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/stc prefix=$INSTALLROOT$PREFIX install
if [ $universal != yes ]; then
make prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/animate prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/gizmos prefix=$INSTALLROOT$PREFIX install
make -C contrib/src/stc prefix=$INSTALLROOT$PREFIX install
fi
# relink wx-config with a relative link
cd $INSTALLROOT$PREFIX/bin
@@ -317,7 +324,7 @@ if [ $skipinstall != yes ]; then
UNICODE=$PYUNICODEOPT \
NO_SCRIPTS=1 \
EP_ADD_OPTS=1 \
WX_CONFIG="$INSTALLROOT/$PREFIX/bin/wx-config --prefix=$INSTALLROOT/$PREFIX" \
WX_CONFIG="$INSTALLROOT$PREFIX/bin/wx-config --prefix=$INSTALLROOT$PREFIX" \
BUILD_BASE=$WXBLD/wxPython \
install \
--root=$INSTALLROOT
@@ -372,10 +379,15 @@ if [ $skipdmg != yes ]; then
# The main runtime installer package
# Make the welcome message
case $KIND in
panther) W_MSG="the Panther (OS X 10.3.x) version of" ;;
jaguar) W_MSG="the Jaguar (OS X 10.2.x) version of" ;;
case $OSX_VERSION in
10.4) W_MSG="the Tiger (OS X 10.4.x Intel) version of" ;;
10.3) W_MSG="the Panther (OS X 10.3.x) version of" ;;
10.2) W_MSG="the Jaguar (OS X 10.2.x) version of" ;;
esac
if [ $universal == yes ]; then
W_MSG="the Universal (OS X 10.4.x and above) version of"
fi
cat > $RESOURCEDIR/Welcome.txt <<EOF
@@ -423,9 +435,9 @@ EOF
# Build the main Installer Package...
PKGNAME=wxPython${SHORTVER}-osx-$CHARTYPE-$KIND
PKGNAME=wxPython${SHORTVER}-osx-$CHARTYPE-$TAG
if [ $PYVER != 2.3 ]; then
PKGNAME=wxPython${SHORTVER}-osx-$CHARTYPE-$KIND-py$PYVER
PKGNAME=wxPython${SHORTVER}-osx-$CHARTYPE-$TAG-py$PYVER
fi
rm -rf $PKGNAME.pkg
$PYTHON $PROGDIR/../buildpkg.py \
@@ -600,7 +612,7 @@ EOF
tar xjvf $TARBALLDIR/wxPython-demo-$VERSION.tar.bz2
mv wxPython-$VERSION/* .
rm -rf wxPython-$VERSION
rm demo/b demo/.setup.sh
rm -f demo/b demo/.setup.sh
mv demo/demo.py demo/demo.pyw
popd
@@ -660,3 +672,4 @@ else
echo "Cleanup is disabled. You should remove $TMPDIR when finished"
fi
exit 0