📄 makesetup.sh
字号:
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 + -