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

📄 makesetup.sh

📁 Wxpython Implemented on Windows CE, Source code
💻 SH
📖 第 1 页 / 共 2 页
字号:
    
    if [ $port != "all" ]; then
        portname="`echo $port|tr '[a-z]' '[A-Z]'`"    
    else
        portname="wxWidgets"
    fi
    
    echo "Zipping wx$portname..."

    cd $APPDIR
    portfiles="/tmp/wx$port.files"
    getfilelist "$port" "$portfiles"

    zip $ZIPFLAGS -@ $DESTDIR/wx$portname-$VERSION.zip < $portfiles 
    zip $ZIPFLAGS -g $DESTDIR/wx$portname-$VERSION.zip LICENSE.txt COPYING.LIB CHANGES.txt README.txt
    
    if [ $port = "msw" ] || [ $port = "all" ]; then
        zip $ZIPFLAGS -g $DESTDIR/wx$portname-$VERSION.zip README-MSW.txt INSTALL-MSW.txt        
    fi
    
    if [ $port = "os2" ] || [ $port = "all" ]; then
        zip $ZIPFLAGS -g $DESTDIR/wx$portname-$VERSION.zip INSTALL-OS2.txt          
    fi
    
    # put all files in a wxWidgets-$VERSION subdir in the zip archive
    rearchive wx$portname-$VERSION.zip wxWidgets-$VERSION $DESTDIR
}

dospininstaller()
{
    cd $DESTDIR

    rm -f -r wxWidgets-$VERSION

    echo Unzipping the Windows files into wxWidgets-$VERSION

    mkdir -p wxWidgets-$VERSION

    unzip $ZIPFLAGS -o wxWidgets-$VERSION-HTMLHelp.zip
    unzip $ZIPFLAGS -o wxWidgets-$VERSION-ExtraDoc.zip

    # After this change of directory, we're in the
    # temporary 'wx' directory and not acting on
    # the source wxWidgets directory.
    cd $DESTDIR/wxWidgets-$VERSION

    # Now delete a few files that are unnecessary
    #attrib -R *
    rm -f BuildCVS.txt descrip.mms
    rm -f setup.h_vms
    rm -f docs/html/wxbook.htm docs/html/roadmap.htm
    rm -f -r contrib/docs/latex/ogl
    rm -f src/mingegcs.bat
    rm -f -r distrib
    rm -f *.spec
    rm -f src/gtk/descrip.mms src/motif/descrip.mms


    # Disabled for now - Now cp some binary files to 'bin'
    if [ ! -d bin ]; then
        mkdir bin
    fi
    
    #cp $APPDIR/bin/tex2rtf.exe bin
    #cp $APPDIR/bin/tex2rtf.chm bin
    #cp $APPDIR/bin/widgets.exe bin
    #cp $APPDIR/bin/life.exe bin
    #cp $APPDIR/demos/life/breeder.lif bin
    #cp $APPDIR/docs/htmlhelp/tex2rtf.chm bin

    if [ ! -d docs/pdf ]; then
        mkdir docs/pdf
    fi
    #cp $APPDIR/docs/pdf/wxTutorial.pdf docs/pdf

    # Make wxMSW-xxx.zip
    cd $DESTDIR
    zip $ZIPFLAGS -r wxMSW-$VERSION.zip wxWidgets-$VERSION/*
    cd wxWidgets-$VERSION

    if [ "$INNO" != "0" ]; then
        echo Generating $SETUPSCRIPTNAME
        rm -f $SETUPSCRIPTNAME
    
        sh $SCRIPTDIR/msw/makeinno.sh $SETUPIMAGEDIR $INNOTOP $INNOBOTTOM $SETUPSCRIPTNAME
    
        if [ ! -f $SETUPSCRIPTNAME ]; then
            echo "*** Error - something went wrong with the script file generation."
            exit 1
        fi
    
        # Now replace %VERSION% with the real application version, and other
        # variables
        echo Replacing variables in the setup script
        doreplace $SETUPSCRIPTNAME "s/%VERSION%/$VERSION/g"
        doreplace $SETUPSCRIPTNAME "s/%COPYRIGHTHOLDER%/$AUTHOR/g"
        doreplace $SETUPSCRIPTNAME "s/%VENDOR%/$VENDOR/g"
    
        unix2dosname $READMEFILE
        doreplace $SETUPSCRIPTNAME "s;%READMEFILE%;$RETVALUE;g"
    
        unix2dosname $READMEAFTERFILE
        doreplace $SETUPSCRIPTNAME "s;%READMEAFTERFILE%;$RETVALUE;g"
    
        unix2dosname $LICENSEFILE
        doreplace $SETUPSCRIPTNAME "s;%LICENSEFILE%;$RETVALUE;g"
    
        doreplace $SETUPSCRIPTNAME "s/%APPNAME%/$APPNAME/g"
        doreplace $SETUPSCRIPTNAME "s/%APPTITLE%/$APPTITLE/g"
    
        unix2dosname $SETUPIMAGEDIR
        doreplace $SETUPSCRIPTNAME "s;%SOURCEDIR%;$RETVALUE;g"
    
        unix2dosname $DESTDIR
        doreplace $SETUPSCRIPTNAME "s;%OUTPUTDIR%;$RETVALUE;g"
    
        doreplace $SETUPSCRIPTNAME "s/%APPEXTENSION%/$APPEXTENSION/g"
    
        # FIXME: how do we get the first name in the list?
        if [ "$MANUALFILES" != "" ]; then
            HELPFILE=`basename $MANUALFILES`
            unix2dosname $HELPFILE
            doreplace $SETUPSCRIPTNAME "s;%HELPFILE%;$RETVALUE;g"
        fi
    
        rm -f $DESTDIR/setup*.* $DESTDIR/wxMSW-$VERSION-Setup.exe
    
        # Inno Setup complains if this step is not done
        unix2dos --unix2dos $SETUPSCRIPTNAME
        
        # Now invoke INNO compiler on the new ISS file
        # First, make a DOS filename or Inno Setup will get confused.
    
        unix2dosname2 $SETUPSCRIPTNAME
        DOSFILENAME=$RETVALUE
    
        # Note: the double slash is Mingw32/MSYS convention for
        # denoting a switch, that must not be converted into
        # a path (otherwise /c = c:/)
    
        cd `dirname $SETUPSCRIPTNAME`
        BASESCRIPTNAME=`basename $SETUPSCRIPTNAME`
        echo Invoking Inno Setup compiler on $BASESCRIPTNAME
    
        "$SETUPCOMPILER" //cc $BASESCRIPTNAME
    
        if [ ! -f $DESTDIR/setup.exe ]; then
            echo "*** Error - the setup.exe was not generated."
            exit
        fi
    
        cd $DESTDIR
        mv setup.exe wxMSW-$VERSION-Setup.exe

    fi
    # echo Putting all the setup files into a single zip archive
    # zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.*

    rm -f wxWidgets-$VERSION-ExtraDoc.zip
    rm -f wxWidgets-$VERSION-DocSource.zip
    rm -f wxWidgets-$VERSION-LinuxDocs.zip

    echo If you saw no warnings or errors, $APPTITLE was successfully spun.
    echo
}

makesetup()
{

    if [ ! -d $SETUPIMAGEDIR ]; then
        echo Making the $SETUPIMAGEDIR for preparing the setup
        mkdir -p $SETUPIMAGEDIR
    fi

	# Copying readmes
    if [ "$READMEFILE" != "" ] && [ -f $READMEFILE ]; then
        echo Copying readme.txt
        cp $READMEFILE $SETUPIMAGEDIR
#    else
#        echo "*** Warning - $READMEFILE not found"
    fi

    if [ "$LICENSEFILE" != "" ] && [ -f $LICENSEFILE ]; then
        echo Copying licence.txt
        cp $LICENSEFILE $SETUPIMAGEDIR
 #   else
 #       echo "*** Warning - $LICENSEFILE not found"
    fi

    if [ "$MAKEMANUAL" != "0" ]; then
        if [ -d $MANUALDIR ]; then
            cd $MANUALDIR
            make
        else
            echo "*** Warning - $MANUALDIR not found"
        fi
    fi

    rm -f $DESTDIR/wx*.zip
    rm -f $DESTDIR/*.htb
    rm -f $DESTDIR/ogl3*.zip
    rm -f $DESTDIR/contrib*.zip
    rm -f $DESTDIR/tex2rtf2*.zip
    rm -f $DESTDIR/mmedia*.zip
    rm -f $DESTDIR/jpeg*.zip
    rm -f $DESTDIR/tiff*.zip
    rm -f $DESTDIR/utils*.zip
    rm -f $DESTDIR/extradoc*.zip
    rm -f $DESTDIR/stc*.zip
    rm -f $DESTDIR/*-win32*.zip
    rm -f $DESTDIR/setup*.*
    rm -f $DESTDIR/*.txt
    rm -f $DESTDIR/make*

    if [ -d $DESTDIR/wx ]; then
        rm -f -r $DESTDIR/wx
    fi

    if [ ! -d $DESTDIR ]; then
        mkdir $DESTDIR
    fi
    if [ -d $DESTDIR/wxWidgets-$VERSION ]; then
        rm -f -r $DESTDIR/wxWidgets-$VERSION
    fi

    # Copy FAQ from wxWebSite CVS
    #if [ ! -d $WEBFILES ]; then
    #    echo Error - $WEBFILES does not exist
    #    exit
    #fi

    echo Copying FAQ and other files from $WEBFILES
    cp $WEBFILES/site/faq*.htm $APPDIR/docs/html
    cp $WEBFILES/site/platform.htm $APPDIR/docs/html
    cp $WEBFILES/site/i18n.htm $APPDIR/docs/html
    
    echo Copying readme files...
    cp $APPDIR/docs/msw/readme.txt README-MSW.txt
    cp $APPDIR/docs/msw/install.txt INSTALL-MSW.txt
    cp $APPDIR/docs/os2/install.txt INSTALL-OS2.txt
    cp $APPDIR/docs/licence.txt LICENCE.txt
    cp $APPDIR/docs/lgpl.txt COPYING.LIB
    cp $APPDIR/docs/changes.txt CHANGES.txt
    cp $APPDIR/docs/readme.txt README.txt
    
    # Copy setup0.h files to setup.h
    # OS/2 always built with configure now
    # cp $APPDIR/include/wx/os2/setup0.h $APPDIR/include/wx/os2/setup.h
    cp $APPDIR/include/wx/msw/setup0.h $APPDIR/include/wx/msw/setup.h
    cp $APPDIR/include/wx/univ/setup0.h $APPDIR/include/wx/univ/setup.h

    # Do OS/2 spin
    if [ "$SPINOS2" = "1" ] || [ "$SPINALL" = "1" ]; then
        dospinport "os2" #dospinos2
    fi

    # Do MSW spin
    if [ "$SPINMSW" = "1" ] || [ "$SPINALL" = "1" ]; then
        dospinport "msw" #dospinmsw
    fi

    # Do wxBase spin
    if [ "$SPINBASE" = "1" ] || [ "$SPINALL" = "1" ]; then
        dospinport "base" #dospinbase
    fi

    # Do wxAll spin
    if [ "$SPINWXALL" = "1" ] || [ "$SPINALL" = "1" ]; then
        dospinport "all" #dospinwxall
    fi

    if [ "$SPINALL" = "1" ]; then
        dospinport "mgl"
        dospinport "gtk"
        dospinport "x11"
        dospinport "motif"
        dospinport "mac"
        dospinport "cocoa"
        #dospinwxall
    fi


    # Do docs spin
    if [ "$SPINDOCS" = "1" ] || [ "$SPINALL" = "1" ]; then
        dospindocs
    fi

    docopydocs $APPDIR $DESTDIR
    
    # Time to regenerate the Inno Install script
    dospininstaller
}

# Get the makefiles that aren't in CVS and unarchive them
getmakefiles()
{
    echo Getting eVC++ project files...
    curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-evcprj.zip --output /c/transit/wx-mk-evcprj.zip
    echo Getting Digital Mars makefiles...
    curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-dmars.zip --output /c/transit/wx-mk-dmars.zip
    echo Getting VC++ makefiles...
    curl http://biolpc22.york.ac.uk/pub/CVS_Makefiles/wx-mk-msvc.zip --output /c/transit/wx-mk-msvc.zip

    cd $APPDIR
    echo Unarchiving makefiles and project files...
    unzip -o -a /c/transit/wx-mk-evcprj.zip
    unzip -o -a /c/transit/wx-mk-dmars.zip
    unzip -o -a /c/transit/wx-mk-msvc.zip
    echo Done getting makefiles and project files.
}

usage()
{
    echo "Usage: $PROGNAME [ options ]" 1>&2
    echo Options:
    echo "    --help            Display this help message"
    echo "    --upx             Compress executable with UPX"
    echo "    --no-upx          Do not compress executable with UPX"
    echo "    --inno            Build the setup.exe"
    echo "    --no-inno         Do not build the setup.exe"
    echo "    --wxmac           Build wxMac distribution"
    echo "    --wxmsw           Build wxMSW distribution"
    echo "    --wxos2           Build wxOS2 distribution"
    echo "    --wxall           Build wxAll zip distribution"
    echo "    --wxbase          Build wxBase zip distribution"
    echo "    --docs            Build docs archives"
    echo "    --all             Build all distributions (the default)"
    echo "    --getmakefiles    Get out-of-CVS makefiles and unarchive into the wxWidgets source tree"
    echo "    --verbose         Verbose zip operation"
    echo.
    echo Note that options only override settings in $SCRIPTDIR/msw/setup.var.
    exit 1
}

# Process command line options.

for i in "$@"; do

    case "$i" in
	--inno) INNO=1 ;;
	--no-inno) INNO=0 ;;
	--upx) UPX=1 ;;
	--no-upx) UPX=0 ;;
	--wxmac) SPINMAC=1; SPINALL=0 ;;
	--wxmsw) SPINMSW=1; SPINALL=0 ;;
	--wxos2) SPINOS2=1; SPINALL=0 ;;
	--wxall) SPINWXALL=1; SPINALL=0 ;;
	--wxbase) SPINBASE=1; SPINALL=0 ;;
	--getmakefiles) GETMAKEFILES=1; SPINALL=0 ;;
	--docs) SPINDOCS=1; SPINALL=0 ;;
	--all) SPINALL=1 ;;
	--verbose) VERBOSE=1 ;;
	*)
	    usage
	    exit
	    ;;
    esac
done


doinit

if [ "$GETMAKEFILES" = "1" ]; then
    getmakefiles
    exit
fi

# findversion
makesetup

⌨️ 快捷键说明

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