⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 build

📁 Wxpython Implemented on Windows CE, Source code
💻
📖 第 1 页 / 共 2 页
字号:
#!/bin/sh -e
#----------------------------------------------------------------------
# Build wxMac and wxPythonOSX from the tarball and then make an
# Installer package out of it.

#set -o xtrace

spectemplate=distrib/wxPythonFull.spec.in

if [ ! -d wxPython -o ! -e ${spectemplate} ]; then
    echo "Please run this script from the root wxPython directory."
    exit 1
fi

if [ "$UID" != "0" ]; then
    echo "-------------------------------------------------------"
    echo " WARNING: I will be unable to change ownership of files"
    echo " unless this script is run as root or via sudo"
    echo "-------------------------------------------------------"
fi

#----------------------------------------------------------------------
# Check Parameters

function usage {
    echo ""
    echo "Usage: $0  PYVER [command flags...]"
    echo ""
    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"
    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 "   reswig         Regenerate SWIG wrappers"
    echo "   universal      Generate Universal wxWidgets binary (requires Universal Python "
    echo "                  to general Universal wxPython)."
    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"
    echo "   skipdmg        Don't make the package or diskimage"
    echo "   skipclean      Don't do the cleanup at the end"
    echo ""
}


PYVER=$1
if [ "$PYVER" != "" ] && which python$PYVER && which pythonw$PYVER; then
    PYTHON=`which python$PYVER`
    PYTHONW=`which pythonw$PYVER`
else
    usage;
    exit 1
fi

shift

skiptar=no
skipconfig=no
skipbuild=no
skipinstall=no
skipdmg=no
skipclean=no
inplace=no
unicode=no
debug=no
reswig=no
universal=no

for flag in $*; do
    case ${flag} in
	skiptar)     skiptar=yes                                ;;
	skipconfig)  skipconfig=yes; skiptar=yes                ;;
	skipbuild)   skipbuild=yes; skipconfig=yes; skiptar=yes ;;
	skipinstall) skipinstall=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}\""
	    usage
	    exit 1
    esac
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"`
PYLIB=$PYPREFIX/lib/python$PYVER
SITEPACKAGES=$PYLIB/site-packages

if [ $unicode == yes ]; then
    CHARTYPE=unicode
    UNICODEOPT=--enable-unicode
    PYUNICODEOPT=1
else
    CHARTYPE=ansi
    UNICODEOPT=--disable-unicode
    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 
# site-packages (or its alias) is located in the installer tree.
APPLE_PYTHON=no
if [ -e /Library/Python/$PYVER ] && [ `dirname $PYTHON` == "/usr/bin" ]; then
    APPLE_PYTHON=yes
fi



if [ -z "$TARBALLDIR" ]; then
    # this is a spot on my fileserver where the tarballs go, adjust
    # as needed for where you put the wxPython tarball, or set
    # TARBALLDIR before invoking this script...
    TARBALLDIR=/stuff/Development/wxPython/dist/$VERSION
fi
TARBALL=$TARBALLDIR/wxPython-src-$VERSION.tar.bz2

if [ ! -e $TARBALLDIR/wxPython-demo-$VERSION.tar.bz2 ]; then 
    echo "-------------------------------------------------------"
    echo " WARNING:  Demo tarball not found, will skip building "
    echo "           the Demo app bundle and etc."
    echo " $TARBALLDIR/wxPython-demo-$VERSION.tar.bz2"
    echo "-------------------------------------------------------"
fi

if [ ! -e $TARBALLDIR/wxPython-docs-$VERSION.tar.bz2 ]; then
    echo "-------------------------------------------------------"
    echo " WARNING:  Docs tarball not found, will skip building "
    echo "           the the wxDocsViewer app bundle and etc."
    echo " $TARBALLDIR/wxPython-docs-$VERSION.tar.bz2"
    echo "-------------------------------------------------------"
fi




PREFIX=/usr/local/lib/wxPython-$CHARTYPE-$VERSION
BINPREFIX=/usr/local/bin

SWIGBIN=/opt/swig/bin/swig
WXROOT=`dirname $PWD`
PROGDIR="`dirname \"$0\"`"
TMPDIR=$PWD/_build_dmg

BUILDROOT=$TMPDIR/build

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


#----------------------------------------------------------------------
# Setup builddirs

mkdir -p $BUILDROOT
mkdir -p $INSTALLROOT
mkdir -p $INSTALLAPPS

rm -rf $DMGDIR
mkdir -p $DMGROOT
mkdir -p $DMGAPPS/Docs
mkdir -p $DMGAPPS/Samples

if [ ! -d $DESTDIR ]; then
  mkdir $DESTDIR
fi

pushd $BUILDROOT


#----------------------------------------------------------------------
# Unpack the tarball

if [ $skiptar != yes ]; then
    echo Unarchiving tarball...
    tar xjf $TARBALL
fi

if [ $inplace = no ]; then
    # make a build dir and cd to it.
    cd wxPython-src-$VERSION
    WXDIR=`pwd`
    mkdir -p $WXDIR/bld
    cd $WXDIR/bld
    WXBLD=$WXDIR/bld
else

    # 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
fi

echo "Using wx root dir: $WXROOT"
echo "Using build dir:   $WXBLD" 
echo "Using source tree: $WXDIR"

#----------------------------------------------------------------------

if [ $OSX_VERSION = 10.3 -o $OSX_VERSION = 10.4 ]; then 
    OTHER_CFG_OPTS=--enable-mediactrl
fi

# Configure wxWidgets
if [ $skipconfig != yes -a $universal != yes ]; then
    $WXDIR/configure \
	--prefix=$PREFIX \
	--with-mac \
	--enable-monolithic \
	--with-opengl \
	--enable-sound \
	--enable-display \
	--enable-geometry \
	$DEBUG_FLAG \
	--enable-precomp=no \
	--enable-optimise \
	--disable-debugreport \
	--disable-precompiled-headers \
	$UNICODEOPT $OTHER_CFG_OPTS

fi

# Build wxWidgets and wxPython
if [ $skipbuild != yes ]; then

    # Make wxWidgets and some contribs
    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
    $PYTHON setup.py \
	UNICODE=$PYUNICODEOPT \
	NO_SCRIPTS=1 \
	EP_ADD_OPTS=1 \
	WX_CONFIG="$WXBLD_CONFIG --inplace" \
	BUILD_BASE=$WXBLD/wxPython \
	SWIG=$SWIGBIN \
	USE_SWIG=$SWIGIT \
	build
fi

#----------------------------------------------------------------------

if [ $skipinstall != yes ]; then
    # Install wxWidgets
    cd $WXBLD
    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
    rm wx-config
    ln -s ../lib/wx/config/* wx-config

    # and 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" \
	BUILD_BASE=$WXBLD/wxPython \
	install \
	--root=$INSTALLROOT


    # Apple's Python Framework (such as what comes with Panther)
    # sym-links the site-packages dir in the framework to
    # /Library/Python/$PYVER so we need to move the files so they are
    # installed in the physical location, not the virtual one.
    if [ $APPLE_PYTHON == yes ]; then
	if [ -e $INSTALLROOT/Library/Python/$PYVER ]; then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -