From 28d1454afff5ae41bb10cd511f308849b4390abf Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 15 Oct 2004 01:13:02 +0000 Subject: [PATCH] Adapt to new file naming scheme, new Installer structures, and other build tweaks. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/distrib/all/build-all | 89 +++++++++++++------------- wxPython/distrib/all/build-linux | 56 ++++++++-------- wxPython/distrib/all/build-osx | 25 ++++---- wxPython/distrib/all/build-windows | 22 +++---- wxPython/distrib/mac/wxPythonOSX/build | 86 ++++++++++++------------- 5 files changed, 141 insertions(+), 137 deletions(-) diff --git a/wxPython/distrib/all/build-all b/wxPython/distrib/all/build-all index b0e0c2504b..aec2c51d02 100755 --- a/wxPython/distrib/all/build-all +++ b/wxPython/distrib/all/build-all @@ -24,7 +24,7 @@ WIN_BUILD=/c/BUILD # Just like the above OSX_HOST_panther=bigmac OSX_HOST_jaguar=whopper -OSX_BUILD=/tmp/BUILD +OSX_BUILD=/BUILD # Alsmost the same... See below for hosts and other info @@ -58,6 +58,7 @@ function usage { echo " skipsource Don't build the source archives, use the ones" echo " already in the staging dir." echo " onlysource Exit after building the source archives" + echo " skipdocs Don't rebuild the docs" echo " skipwin Don't do the remote Windows build" echo " skiposx Don't do the remote OSX build" echo " skiplinux Don't do the remote Linux build" @@ -84,6 +85,7 @@ KIND=dryrun PYVER=2.3 skipsource=no onlysource=no +skipdocs=no skipwin=no skiposx=no skiplinux=no @@ -101,6 +103,7 @@ for flag in $*; do skipsource) skipsource=yes ;; onlysource) onlysource=yes ;; + skipdocs) skipdocs=yes ;; skipwin) skipwin=yes ;; skiposx) skiposx=yes ;; skiplinux) skiplinux=yes ;; @@ -140,42 +143,39 @@ if [ $skipsource != yes -o $onlysource = yes ]; then # clean out the local dist dir rm -f dist/* - # Regenerate the reST docs - echo "Regenerating the reST docs..." - cd docs - for x in *.txt; do - docutils-html $x `basename $x .txt`.html - done - cd - - - # build the doc and demo tarballs - distrib/makedemo - distrib/makedocs - - # build the new docs too - docs/bin/everything - - # make the source tarball - distrib/makerpm 2.3 skipclean skiprpm gtk2 - - # make the source RPMs - for ver in $PYVER; do - distrib/makerpm $ver skipclean skipcopy skiptar srpm - distrib/makerpm $ver skipclean skipcopy skiptar srpm gtk2 - done + if [ $skipdocs != yes ]; then + # Regenerate the reST docs + echo "Regenerating the reST docs..." + cd docs + for x in *.txt; do + docutils-html $x `basename $x .txt`.html + done + cd - + + # build the doc and demo tarballs + distrib/makedemo + distrib/makedocs + + # build the new docs too + docs/bin/everything + fi + + # make the source tarball and srpm + distrib/makerpm 2.3 srpm # Copy everything to the staging dir echo "Moving stuff to $STAGING_DIR..." - rm -f dist/*.spec mv dist/* $STAGING_DIR - for doc in CHANGES BUILD INSTALL MigrationGuide default; do - cp docs/$doc.* $STAGING_DIR - done + + if [ $skipdocs != yes ]; then + for doc in CHANGES BUILD INSTALL MigrationGuide default; do + cp docs/$doc.* $STAGING_DIR + done + fi # cleanup echo "Cleaning up..." rm -f dist/* - rm -rf _build_rpm fi if [ $KIND = daily ]; then @@ -193,18 +193,18 @@ if [ $skipwin != yes ]; then echo "-=-=- Starting Windows build..." echo "Copying source file and build script..." - scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \ + scp $STAGING_DIR/wxPython-src-$VERSION.tar.gz \ distrib/all/build-windows \ $WIN_HOST:$WIN_BUILD echo "Running build script on $WIN_HOST..." - wxdir=$WIN_BUILD/wxPythonSrc-$VERSION + wxdir=$WIN_BUILD/wxPython-src-$VERSION cmd=./build-windows ssh $WIN_HOST "cd $WIN_BUILD && $cmd $wxdir $WIN_BUILD $skipclean $VERSION $PYVER && rm $cmd" echo "Fetching the results..." - scp $WIN_HOST:$WIN_BUILD/wxPythonWIN32* $STAGING_DIR - ssh $WIN_HOST "rm $WIN_BUILD/wxPythonWIN32*" + scp $WIN_HOST:$WIN_BUILD/wxPython*-win32* $STAGING_DIR + ssh $WIN_HOST "rm $WIN_BUILD/wxPython*-win32*" fi @@ -231,20 +231,21 @@ function DoOSXBuild { echo "Copying source files and build script..." ssh root@$host "mkdir -p $OSX_BUILD && rm -rf $OSX_BUILD/* || true" - scp $STAGING_DIR/wxPythonSrc-$VERSION.tar.gz \ - $STAGING_DIR/wxPythonDocs-$VERSION.tar.gz \ - $STAGING_DIR/wxPythonDemo-$VERSION.tar.gz \ + #ssh root@$host "mkdir -p $OSX_BUILD || true" + scp $STAGING_DIR/wxPython-src-$VERSION.tar.gz \ + $STAGING_DIR/wxPython-docs-$VERSION.tar.gz \ + $STAGING_DIR/wxPython-demo-$VERSION.tar.gz \ distrib/all/build-osx \ root@$host:$OSX_BUILD echo "Running build script on $host..." - wxdir=$OSX_BUILD/wxPythonSrc-$VERSION + wxdir=$OSX_BUILD/wxPython-src-$VERSION cmd=./build-osx ssh root@$host "cd $OSX_BUILD && $cmd $wxdir $OSX_BUILD $skipclean $VERSION $flavor $PYVER && rm $cmd" echo "Fetching the results..." - scp "root@$host:$OSX_BUILD/wxPythonOSX*" $STAGING_DIR - ssh root@$host "rm $OSX_BUILD/wxPythonOSX*" + scp "root@$host:$OSX_BUILD/wxPython*-osx*" $STAGING_DIR + ssh root@$host "rm $OSX_BUILD/wxPython*-osx*" } @@ -285,7 +286,7 @@ function DoLinuxBuild { echo "Copying source files and build script..." ssh root@$host "mkdir -p $LINUX_BUILD && rm -rf $LINUX_BUILD/*" - scp $STAGING_DIR/wxPython*.src.rpm \ + scp $STAGING_DIR/wxPython-src* $STAGING_DIR/wxPython.spec\ distrib/all/build-linux \ root@$host:$LINUX_BUILD @@ -294,15 +295,15 @@ function DoLinuxBuild { ssh root@$host "cd $LINUX_BUILD && ./build-linux $reltag $skipclean $VERSION $pyver" echo "Fetching the results..." - scp "root@$host:$LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" $STAGING_DIR - ssh root@$host "rm $LINUX_BUILD/wxPythonGTK*.i[0-9]86.rpm" + scp "root@$host:$LINUX_BUILD/wxPython*.i[0-9]86.rpm" $STAGING_DIR + ssh root@$host "rm $LINUX_BUILD/wxPython*.i[0-9]86.rpm" } if [ $skiplinux != yes ]; then - DoLinuxBuild co-rh9 RH9 $PYVER - DoLinuxBuild co-fc2 FC2 2.3 + DoLinuxBuild co-rh9 rh9 $PYVER + DoLinuxBuild co-fc2 fc2 2.3 fi diff --git a/wxPython/distrib/all/build-linux b/wxPython/distrib/all/build-linux index cb2a02b70e..f0660d8626 100755 --- a/wxPython/distrib/all/build-linux +++ b/wxPython/distrib/all/build-linux @@ -32,51 +32,53 @@ PYVER=$@ rpmtop=_rpm_top function DoRPMBuild { - echo "*** Setting up RPM build dirs" - for dir in SPECS BUILD RPMS SRPMS tmp; do - if [ ! -d $rpmtop/$dir ]; then - mkdir -p $rpmtop/$dir - fi - done - if [ ! -e $rpmtop/SOURCES ]; then - ln -s $PWD $rpmtop/SOURCES - fi - + # $1 : python version + # $2 : port + # $3 : unicode + rpmbuild --define "_topdir $PWD/$rpmtop" \ --define "_tmppath $PWD/$rpmtop/tmp" \ - --define "release $RELEASE" \ - $@ + --define "release ${RELEASE}_py$1" \ + --define "pyver $1" \ + --define "port $2" \ + --define "unicode $3" \ + -bb wxPython.spec if [ $? != 0 ]; then return $? fi +} - echo "*** Moving RPMs to ." - find $rpmtop -name "*.rpm" - mv -f `find $rpmtop -name "*.rpm"` . - echo "*** Cleaning up $rpmtop" - rm -rf $rpmtop -} +echo "*** Setting up RPM build dirs" +for dir in SPECS BUILD RPMS SOURCES SRPMS tmp; do + if [ ! -d $rpmtop/$dir ]; then + mkdir -p $rpmtop/$dir + fi +done +cp wxPython-src-$VERSION.tar.gz $rpmtop/SOURCES +echo "******************** PYVER = " $PYVER for ver in $PYVER; do echo "Building the RPMs for Python $ver..." - for port in GTK GTK2; do - rpm2cpio wxPython$port-py$ver-$VERSION-1.src.rpm | \ - cpio --extract -R root. - DoRPMBuild -ba wxPython$port.spec - done + DoRPMBuild $ver gtk 0 + DoRPMBuild $ver gtk2 1 + DoRPMBuild $ver gtk2 0 done +echo "*** Moving RPMs to ." +find $rpmtop -name "*.rpm" +mv -f `find $rpmtop -name "*.rpm"` . + + if [ $SKIPCLEAN != yes ]; then + echo "*** Cleaning up $rpmtop" + rm -rf $rpmtop + echo "Cleaning up..." - for ver in $PYVER; do - rm wxPythonGTK-py$ver-$VERSION-*.src.rpm - rm wxPythonGTK2-py$ver-$VERSION-*.src.rpm - done rm *.spec *.tar.gz fi diff --git a/wxPython/distrib/all/build-osx b/wxPython/distrib/all/build-osx index 112aacadd0..932ca40c11 100755 --- a/wxPython/distrib/all/build-osx +++ b/wxPython/distrib/all/build-osx @@ -9,7 +9,7 @@ # 2. the path of where to put the resulting installers # 3. skipclean flag (yes|no) # 4. the VERSION -# 5. the FLAVOR (panther or jaguar) +# 5. the KIND (panther or jaguar) # *. the remaining args are the versions of Python to build for # # --------------------------------------------------------------------------- @@ -20,7 +20,7 @@ set -o errexit echo "-=-=-=- Hello from $HOSTNAME -=-=-=-" if [ $# -lt 6 ]; then - echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION FLAVOR PYVER..." + echo "Usage: $0 WXDIR DESTDIR SKIPCLEAN VERSION KIND PYVER..." exit 1 fi @@ -28,26 +28,29 @@ WXDIR=$1 DESTDIR=$2 SKIPCLEAN=$3 VERSION=$4 -FLAVOR=$5 +KIND=$5 shift;shift;shift;shift;shift PYVER=$@ -export PATH=/sw/bin:/usr/local/bin:$PATH - +#export PATH=/sw/bin:/usr/local/bin:$PATH +export PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:.:/usr/local/bin:/usr/X11R6/bin +echo "PATH =" $PATH +echo "which gcc = " `which gcc` +#exit 0 # untar the source -echo "Unarchiving wxPythonSrc-$VERSION.tar.gz" +echo "Unarchiving wxPython-src-$VERSION.tar.gz" cd $DESTDIR -tar xzf wxPythonSrc-$VERSION.tar.gz -rm wxPythonSrc-$VERSION.tar.gz +tar xzf wxPython-src-$VERSION.tar.gz +rm wxPython-src-$VERSION.tar.gz echo "Invoking wxPythonOSX build script..." cd $WXDIR/wxPython export TARBALLDIR=$DESTDIR mkdir -p dist -distrib/mac/wxPythonOSX/build $FLAVOR inplace skipclean +distrib/mac/wxPythonOSX/build $KIND inplace skipclean echo "Copying installers to $DESTDIR..." @@ -58,8 +61,8 @@ cd $DESTDIR if [ $SKIPCLEAN != yes ]; then echo "Cleaning up..." rm -r $WXDIR || true - rm wxPythonDocs-$VERSION.tar.gz - rm wxPythonDemo-$VERSION.tar.gz + rm wxPython-docs-$VERSION.tar.gz + rm wxPython-demo-$VERSION.tar.gz fi echo "-=-=-=- Goodbye! -=-=-=-" diff --git a/wxPython/distrib/all/build-windows b/wxPython/distrib/all/build-windows index 7024f4efca..cd40bdb2bf 100755 --- a/wxPython/distrib/all/build-windows +++ b/wxPython/distrib/all/build-windows @@ -33,7 +33,7 @@ PYVER=$@ # WXDIR is the cygwin path, WXWIN is the DOS path WXWIN_OLD=$WXWIN -WXWIN=`cygpath -m $WXDIR` +WXWIN=`cygpath -w $WXDIR` export WXWIN @@ -47,16 +47,16 @@ export WXWIN # untar the source -echo "Unarchiving wxPythonSrc-$VERSION.tar.gz" +echo "Unarchiving wxPython-src-$VERSION.tar.gz" cd $DESTDIR -tar xzf wxPythonSrc-$VERSION.tar.gz -rm wxPythonSrc-$VERSION.tar.gz +tar xzf wxPython-src-$VERSION.tar.gz +rm wxPython-src-$VERSION.tar.gz # Fix line endings echo "Converting wxPython line endings to CRLF..." cd $WXDIR -names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.xml" ` +names=`find wxPython -name "*.py" -o -name "*.txt" -o -name "*.htm*" -o -name "*.css" -o -name "*.xml" ` unix2dos -D $names @@ -86,11 +86,11 @@ echo "Building the wx DLLs..." .make hybrid-uni -echo "Building the wx tools..." -.make_tools +#echo "Building the wx tools..." +#.make_tools # cheat and just copy the .CHM files from the regular project dir -# TODO: Copy over the wxPythonDocs fle and run hhc on the contents of that. +# TODO: Copy over the wxPython-docs fle and run hhc on the contents of that. mkdir -p $WXDIR/docs/htmlhelp cp `cygpath $WXWIN_OLD/docs/htmlhelp`/*.chm $WXDIR/docs/htmlhelp @@ -102,10 +102,10 @@ mkdir -p dist for ver in $PYVER; do echo $ver b $ver d USE_SWIG=0 - b $ver h USE_SWIG=0 + b $ver h USE_SWIG=0 EP_ADD_OPTS=1 b $ver r USE_SWIG=0 b $ver d UNICODE=1 USE_SWIG=0 - b $ver h UNICODE=1 USE_SWIG=0 + b $ver h UNICODE=1 USE_SWIG=0 EP_ADD_OPTS=1 b $ver r UNICODE=1 USE_SWIG=0 done @@ -116,7 +116,7 @@ export WXWIN echo "Copying installers to $DESTDIR..." -mv dist/wxPythonWIN32* $DESTDIR +mv dist/wxPython* $DESTDIR cd $DESTDIR diff --git a/wxPython/distrib/mac/wxPythonOSX/build b/wxPython/distrib/mac/wxPythonOSX/build index f5e5996d43..24d9d2bb00 100755 --- a/wxPython/distrib/mac/wxPythonOSX/build +++ b/wxPython/distrib/mac/wxPythonOSX/build @@ -84,7 +84,7 @@ PYVER=`$PYTHON -c "import sys; print sys.version[:3]"` PYPREFIX=`$PYTHON -c "import sys; print sys.exec_prefix"` PYLIB=$PYPREFIX/lib/python$PYVER SITEPACKAGES=$PYLIB/site-packages - +SHORTVER=`echo $VERSION | cut -c 1,2,3` if [ -z "$TARBALLDIR" ]; then @@ -93,21 +93,21 @@ if [ -z "$TARBALLDIR" ]; then # TARBALLDIR before invoking this script... TARBALLDIR=/stuff/Development/wxPython/dist/$VERSION fi -TARBALL=$TARBALLDIR/wxPythonSrc-$VERSION.tar.gz +TARBALL=$TARBALLDIR/wxPython-src-$VERSION.tar.gz -if [ ! -e $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz ]; then +if [ ! -e $TARBALLDIR/wxPython-demo-$VERSION.tar.gz ]; then echo "-------------------------------------------------------" echo " WARNING: Demo tarball not found, will skip building " echo " the Demo app bundle and etc." - echo " $TARBALLDIR/wxPythonDemo-$VERSION.tar.gz" + echo " $TARBALLDIR/wxPython-demo-$VERSION.tar.gz" echo "-------------------------------------------------------" fi -if [ ! -e $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz ]; then +if [ ! -e $TARBALLDIR/wxPython-docs-$VERSION.tar.gz ]; then echo "-------------------------------------------------------" echo " WARNING: Docs tarball not found, will skip building " echo " the the wxDocsViewer app bundle and etc." - echo " $TARBALLDIR/wxPythonDocs-$VERSION.tar.gz" + echo " $TARBALLDIR/wxPython-docs-$VERSION.tar.gz" echo "-------------------------------------------------------" fi @@ -127,7 +127,7 @@ INSTALLDEVEL=$TMPDIR/install-devel DMGDIR=$TMPDIR/dmg RESOURCEDIR=$PROGDIR/resources DESTDIR=$PWD/dist -SRCROOT=$BUILDROOT/wxPythonSrc-$VERSION +SRCROOT=$BUILDROOT/wxPython-src-$VERSION #---------------------------------------------------------------------- @@ -155,7 +155,7 @@ fi if [ $inplace = no ]; then # make a build dir and cd to it. - cd wxPythonSrc-$VERSION + cd wxPython-src-$VERSION WXDIR=`pwd` mkdir -p $WXDIR/bld cd $WXDIR/bld @@ -184,10 +184,10 @@ if [ $skipconfig != yes ]; then --enable-sound \ --enable-display \ --enable-geometry \ + --enable-debug_flag \ --enable-precomp=no \ - --enable-debug_flag + --enable-optimise \ -## --enable-optimise \ ## --with-libjpeg=builtin \ ## --with-libpng=builtin \ ## --with-libtiff=builtin \ @@ -199,26 +199,24 @@ fi 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" + make make -C contrib/src/gizmos make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" make -C contrib/src/stc - make -C contrib/src/xrc # Build wxPython cd $WXDIR/wxPython $PYTHON setup.py \ NO_SCRIPTS=1 \ + EP_ADD_OPTS=1 \ WX_CONFIG="$WXBLD/wx-config --inplace" \ BUILD_BASE=$WXBLD/wxPython \ build - - - # Build wxrc (XRC resource tool) - cd $WXBLD/contrib/utils/wxrc - make - strip wxrc - fi #---------------------------------------------------------------------- @@ -230,13 +228,18 @@ if [ $skipinstall != yes ]; then make -C contrib/src/gizmos prefix=$INSTALLROOT$PREFIX install make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" prefix=$INSTALLROOT/$PREFIX install make -C contrib/src/stc prefix=$INSTALLROOT$PREFIX install - make -C contrib/src/xrc prefix=$INSTALLROOT$PREFIX install + # relink wx-config with a relative link + cd $INSTALLROOT$PREFIX/bin + rm wx-config + ln -s ../lib/wx/config/* wx-config + # and wxPython cd $WXDIR/wxPython $PYTHON setup.py \ NO_SCRIPTS=1 \ + EP_ADD_OPTS=1 \ WX_CONFIG="$INSTALLROOT/$PREFIX/bin/wx-config --prefix=$INSTALLROOT/$PREFIX" \ BUILD_BASE=$WXBLD/wxPython \ install \ @@ -263,10 +266,6 @@ if [ $skipinstall != yes ]; then python$PYVER CreateMacScripts.py $INSTALLROOT $BINPREFIX - # Install wxrc - cp $WXBLD/contrib/utils/wxrc/wxrc $INSTALLROOT$BINPREFIX - - # Set premissions for files in $INSTALLROOT if [ "$UID" = "0" ]; then chown -R root:admin $INSTALLROOT @@ -274,6 +273,8 @@ if [ $skipinstall != yes ]; then fi fi +PKGDIR=`cat $INSTALLROOT/Library/Python/$PYVER/wx.pth` + popd #---------------------------------------------------------------------- @@ -307,6 +308,7 @@ EOF # Cleanup any old install of the wxPython package rm -rf \$2$SITEPACKAGES/wxPython rm -rf \$2$SITEPACKAGES/wx +rm -rf \$2$SITEPACKAGES/$PKGDIR exit 0 EOF chmod +x $RESOURCEDIR/preflight @@ -315,17 +317,13 @@ EOF cat > $RESOURCEDIR/postflight < "$DMGDIR/root/Docs/Build ERROR.txt" < "$DMGDIR/root/Samples/Build ERROR.txt" <