X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/28d1454afff5ae41bb10cd511f308849b4390abf..3249a43c963ee1957e9c3ea91ef6de9fd88d96a9:/wxPython/distrib/mac/wxPythonOSX/build diff --git a/wxPython/distrib/mac/wxPythonOSX/build b/wxPython/distrib/mac/wxPythonOSX/build index 24d9d2bb00..a9531de0d8 100755 --- a/wxPython/distrib/mac/wxPythonOSX/build +++ b/wxPython/distrib/mac/wxPythonOSX/build @@ -31,6 +31,7 @@ function usage { echo " skiptar Don't unpack the tarball" echo " inplace Don't use the tarball, build from the CVS tree instead" echo " (The Docs and Demo tarballs are still required for a full build.)" + echo " unicode Make a unicode build" echo " skipconfig Don't run configure" echo " skipbuild Don't build wxWidgets or wxPython" echo " skipinstall Don't do the installation step" @@ -61,6 +62,7 @@ skipinstall=no skipdmg=no skipclean=no inplace=no +unicode=no for flag in $*; do case ${flag} in @@ -71,6 +73,7 @@ for flag in $*; do skipdmg) skipdmg=yes ;; skipclean) skipclean=yes ;; inplace) inplace=yes; skiptar=yes ;; + unicode) unicode=yes ;; *) echo "Unknown flag \"${flag}\"" usage @@ -86,6 +89,20 @@ PYLIB=$PYPREFIX/lib/python$PYVER SITEPACKAGES=$PYLIB/site-packages SHORTVER=`echo $VERSION | cut -c 1,2,3` +if [ $unicode == yes ]; then + CHARTYPE=unicode + UNICODEOPT=--enable-unicode + PYUNICODEOPT=1 +else + CHARTYPE=ansi + UNICODEOPT=--disable-unicode + PYUNICODEOPT=0 +fi + +#if [ "$HOSTNAME" = "bigmac.alldunn.com" ]; then +# MAKEJOBS="--jobs=2" +#fi + if [ -z "$TARBALLDIR" ]; then # this is a spot on my fileserver where the tarballs go, adjust @@ -114,7 +131,7 @@ fi -PREFIX=/usr/local/lib/wxPython-$VERSION +PREFIX=/usr/local/lib/wxPython-$CHARTYPE-$VERSION BINPREFIX=/usr/local/bin WXROOT=`dirname $PWD` @@ -122,9 +139,14 @@ PROGDIR="`dirname \"$0\"`" TMPDIR=$PWD/_build_dmg BUILDROOT=$TMPDIR/build -INSTALLROOT=$TMPDIR/install -INSTALLDEVEL=$TMPDIR/install-devel + +INSTALLROOT=$TMPDIR/install-root +INSTALLAPPS=$TMPDIR/install-apps + DMGDIR=$TMPDIR/dmg +DMGROOT=$DMGDIR/root +DMGAPPS=$DMGDIR/apps + RESOURCEDIR=$PROGDIR/resources DESTDIR=$PWD/dist SRCROOT=$BUILDROOT/wxPython-src-$VERSION @@ -135,11 +157,12 @@ SRCROOT=$BUILDROOT/wxPython-src-$VERSION mkdir -p $BUILDROOT mkdir -p $INSTALLROOT -#mkdir -p $INSTALLDEVEL +mkdir -p $INSTALLAPPS + rm -rf $DMGDIR -mkdir -p $DMGDIR/root/Apps -mkdir -p $DMGDIR/root/Docs -mkdir -p $DMGDIR/root/Samples +mkdir -p $DMGROOT +mkdir -p $DMGAPPS/Docs +mkdir -p $DMGAPPS/Samples pushd $BUILDROOT @@ -161,15 +184,20 @@ if [ $inplace = no ]; then cd $WXDIR/bld WXBLD=$WXDIR/bld else - # If building "inplace" then our build dir will be BUILDROOT, - # adjust the variables to find things that way. - WXDIR=$WXROOT + + # If building "inplace" then our build dir will be off of the + # WXROOT like normal, adjust the variables to find things that + # way. + WXBLD=$WXROOT/build-$CHARTYPE + mkdir -p $WXBLD + cd $WXBLD + WXDIR=.. SRCROOT=$WXROOT - WXBLD=$BUILDROOT fi -echo "Using source tree: $WXDIR" +echo "Using wx root dir: $WXROOT" echo "Using build dir: $WXBLD" +echo "Using source tree: $WXDIR" #---------------------------------------------------------------------- @@ -187,11 +215,8 @@ if [ $skipconfig != yes ]; then --enable-debug_flag \ --enable-precomp=no \ --enable-optimise \ + $UNICODEOPT -## --with-libjpeg=builtin \ -## --with-libpng=builtin \ -## --with-libtiff=builtin \ -## --with-zlib=builtin \ fi @@ -200,18 +225,26 @@ if [ $skipbuild != yes ]; then # Make wxWidgets and some contribs - # For some reason Rez and DeRez have started locking up if run as root... - chmod a+w lib - su robind -c "make lib/libwx_macd-2.5.3.r" + # For some reason Rez and DeRez have started locking up if run as + # root, figure out why, but in the meantime... + if [ "$UID" = "0" ]; then + chmod a+w lib + if [ "$CHARTYPE" = "ansi" ]; then + su robind -c "make lib/libwx_macd-2.5.3.r" + else + su robind -c "make lib/libwx_macud-2.5.3.r" + fi + fi - make - make -C contrib/src/gizmos - make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" - make -C contrib/src/stc + make $MAKEJOBS + make $MAKEJOBS -C contrib/src/gizmos + make $MAKEJOBS -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" + make $MAKEJOBS -C contrib/src/stc # Build wxPython - cd $WXDIR/wxPython + cd $WXROOT/wxPython $PYTHON setup.py \ + UNICODE=$PYUNICODEOPT \ NO_SCRIPTS=1 \ EP_ADD_OPTS=1 \ WX_CONFIG="$WXBLD/wx-config --inplace" \ @@ -236,8 +269,9 @@ if [ $skipinstall != yes ]; then ln -s ../lib/wx/config/* wx-config # and wxPython - cd $WXDIR/wxPython + cd $WXROOT/wxPython $PYTHON setup.py \ + UNICODE=$PYUNICODEOPT \ NO_SCRIPTS=1 \ EP_ADD_OPTS=1 \ WX_CONFIG="$INSTALLROOT/$PREFIX/bin/wx-config --prefix=$INSTALLROOT/$PREFIX" \ @@ -259,13 +293,18 @@ if [ $skipinstall != yes ]; then SITEPACKAGES=/Library/Python/$PYVER fi - # install wxPython's tool scripts mkdir -p $INSTALLROOT$BINPREFIX - cd $WXDIR/wxPython/scripts + cd $WXROOT/wxPython/scripts python$PYVER CreateMacScripts.py $INSTALLROOT $BINPREFIX + # Remove the .pyc/.pyo files they just take up space and can be recreated + # during the install. + pushd $WXROOT/wxPython + $PYTHON $PROGDIR/../zappycfiles.py $INSTALLROOT > /dev/null + popd + # Set premissions for files in $INSTALLROOT if [ "$UID" = "0" ]; then chown -R root:admin $INSTALLROOT @@ -273,7 +312,10 @@ if [ $skipinstall != yes ]; then fi fi -PKGDIR=`cat $INSTALLROOT/Library/Python/$PYVER/wx.pth` +if [ "$KIND" = "panther" ]; then + SITEPACKAGES=/Library/Python/$PYVER +fi +PKGDIR=`cat $INSTALLROOT$SITEPACKAGES/wx.pth` popd @@ -282,22 +324,28 @@ popd # Make the Installer packages and disk image if [ $skipdmg != yes ]; then - # Remove the .pyc/.pyo files they just take up space and can be recreated - # during the install. - $PYTHON $PROGDIR/../zappycfiles.py $INSTALLROOT > /dev/null - + #----------------------------------------------- + # 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" ;; esac + + cat > $RESOURCEDIR/Welcome.txt < "$DMGDIR/root/README 1st.txt" < "$DMGROOT/README 1st.txt" < "$DMGAPPS/README 1st.txt" < "$DMGDIR/root/Docs/Build ERROR.txt" < "$DMGAPPS/Docs/Build ERROR.txt" < "$DMGDIR/root/Docs/README 1st.txt" < "$DMGAPPS/Docs/README 1st.txt" < "$DMGDIR/root/Samples/Build ERROR.txt" < "$DMGAPPS/Samples/Build ERROR.txt" <