]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/distrib/mac/wxPythonOSX/build
corrected WXDLLIMPEXP_ declaration for wxEventBlocker: it's part of core, not base
[wxWidgets.git] / wxPython / distrib / mac / wxPythonOSX / build
index 9f5473bf0ab0fb555395a346d82257684a72e73d..2f3becd3c75c97431bba3f0504e8c5b7813cce4f 100755 (executable)
@@ -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,13 @@ if [ $skipconfig != yes ]; then
        --enable-sound \
        --enable-display \
        --enable-geometry \
-       --enable-debug_flag \
+       --enable-graphics_ctx \
+       $DEBUG_FLAG \
        --enable-precomp=no \
        --enable-optimise \
        --disable-debugreport \
        --disable-precompiled-headers \
-       $UNICODEOPT $UNIVOPT $OTHER_CFG_OPTS
+       $UNICODEOPT $OTHER_CFG_OPTS
 
 fi
 
@@ -260,27 +271,22 @@ 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/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,11 @@ 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/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 +323,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 +378,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 +434,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 +611,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 +671,4 @@ else
     echo "Cleanup is disabled.  You should remove $TMPDIR when finished"
 fi
 
+exit 0