X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d20e98ab7a317c2eb194b95484a17534d8fc44b9..2bed17c862db626a40bfb981cb8d2bfed17b2737:/distrib/scripts/msw/makesetup.sh diff --git a/distrib/scripts/msw/makesetup.sh b/distrib/scripts/msw/makesetup.sh index f82d96e967..cb3fe8d2c4 100755 --- a/distrib/scripts/msw/makesetup.sh +++ b/distrib/scripts/msw/makesetup.sh @@ -39,40 +39,63 @@ fi getfilelist(){ port=$1 outfile=$2 - + filelist="base.rsp" - contribfiles="stc.rsp contrib.rsp ogl.rsp" utilsfiles="tex2rtf.rsp utils.rsp utilmake.rsp" - commonfiles="generic.rsp jpeg.rsp tiff.rsp xml.rsp deprecated.rsp makefile.rsp $utilsfiles $contribfiles" - + commonfiles="generic.rsp generic_samples.rsp jpeg.rsp tiff.rsp xml.rsp makefile.rsp $utilsfiles" + if [ ! $port = "base" ]; then - filelist="$filelist $commonfiles" - fi - - if [ $port = "msw" || $port = "all" ]; then - filelist="$filelist msw.rsp univ.rsp vc.rsp mmedia.rsp wince.rsp palmos.rsp" + filelist="$filelist $commonfiles" + fi + + if [ $port = "msw" ] || [ $port = "all" ]; then + filelist="$filelist msw.rsp univ.rsp vc.rsp mmedia.rsp wince.rsp dmc.rsp" + fi + + if [ $port = "os2" ] || [ $port = "all" ]; then + filelist="$filelist os2.rsp" + fi + + if [ $port = "x11" ] || [ $port = "all" ]; then + filelist="$filelist x11.rsp" + fi + + if [ $port = "mgl" ] || [ $port = "all" ]; then + filelist="$filelist mgl.rsp" + fi + + if [ $port = "gtk" ] || [ $port = "all" ]; then + filelist="$filelist gtk.rsp" + fi + + if [ $port = "cocoa" ] || [ $port = "all" ]; then + filelist="$filelist cocoa.rsp" fi - - if [ $port = "os2" || $port = "all" ]; then - filelist="$filelist os2.rsp" + + if [ $port = "motif" ] || [ $port = "all" ]; then + filelist="$filelist motif.rsp" + fi + + if [ $port = "mac" ] || [ $port = "all" ]; then + filelist="$filelist mac.rsp" fi - + if [ $port = "all" ]; then - filelist="$filelist x11.rsp gtk.rsp cocoa.rsp motif.rsp mac.rsp mgl.rsp" + filelist="$filelist palmos.rsp" fi - - tempfile="/tmp/$portfiles.in" - rm -f $tempfile + + tempfile="/tmp/wx$port.files.in" + rm -f $tempfile rm -f $outfile - + olddir=$PWD cd $MANIFESTDIR - + cat $filelist > $tempfile - + cd $APPDIR expandlines $tempfile $outfile - + cd $olddir } @@ -133,6 +156,26 @@ rearchive() popd } +ziptotar() +{ + archive=$1 + dirname=$2 + changeto=$3 + + pushd $changeto + + unzip $ZIPFLAGS $archive + + tar cfz $archive.tar.gz $dirname + + tar -cvf $dirname | bzip2 -9 > $archive.tar.bz2 + + rm -rf $dirname + + popd +} + + rearchivetar() { archive=$1 @@ -174,7 +217,7 @@ dospinos2() cd $APPDIR getfilelist "os2" /tmp/os2files - + # Zip up the complete wxOS2-xxx.zip file zip $ZIPFLAGS -@ $DESTDIR/wxOS2-$VERSION.zip < /tmp/os2files @@ -199,7 +242,7 @@ dospinos2() dospinmsw() { echo Zipping wxMSW... - + cd $APPDIR # now expand the wildcards to actual file names @@ -219,12 +262,12 @@ dospinwxall() echo Zipping individual components rm -f $DESTDIR/wxWidgets-$VERSION-all.zip - # Save adding all the wxMSW files again + # Save adding all the wxMSW files again if [ ! -f $DESTDIR/wxWidgets-$VERSION-win.zip ]; then dospinmsw fi cp $DESTDIR/wxWidgets-$VERSION-win.zip $DESTDIR/wxWidgets-$VERSION-all.zip - + cat $MANIFESTDIR/cw_mac.rsp $MANIFESTDIR/vc.rsp $MANIFESTDIR/x11.rsp $MANIFESTDIR/gtk.rsp $MANIFESTDIR/cocoa.rsp $MANIFESTDIR/motif.rsp $MANIFESTDIR/mac.rsp $MANIFESTDIR/mgl.rsp $MANIFESTDIR/os2.rsp $MANIFESTDIR/palmos.rsp | sort | uniq > /tmp/all.txt zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-all.zip < /tmp/all.txt @@ -274,7 +317,7 @@ dospindocs() echo Creating $DESTDIR/wxWidgets-$VERSION-DocSource.zip expandlines $MANIFESTDIR/docsrc.rsp /tmp/docsources - zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-DocSource.zip < /tmp/docsources + zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-DocSource.zip < /tmp/docsources rearchive wxWidgets-$VERSION-DocSource.zip wxWidgets-$VERSION $DESTDIR echo Creating $DESTDIR/wxWidgets-$VERSION-WinHelp.zip @@ -303,16 +346,16 @@ dospindocs() echo Creating $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip expandlines $MANIFESTDIR/wx_chm.rsp /tmp/chmdocs - zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip < /tmp/chmdocs + zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip < /tmp/chmdocs rearchive wxWidgets-$VERSION-HTMLHelp.zip wxWidgets-$VERSION $DESTDIR # Add Linuxy docs to a separate archive to be transported to Linux for the # Linux-based releases echo Creating $DESTDIR/wxWidgets-$VERSION-LinuxDocs.zip - + cat $MANIFESTDIR/wx_html.rsp $MANIFESTDIR/wx_pdf.rsp $MANIFESTDIR/wx_htb.rsp > /tmp/linuxdocs.in expandlines /tmp/linuxdocs.in /tmp/linuxdocs - + zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-LinuxDocs.zip < /tmp/linuxdocs # PDF/HTML docs that should go into the Windows setup because @@ -323,78 +366,47 @@ dospindocs() rearchive wxWidgets-$VERSION-ExtraDoc.zip wxWidgets-$VERSION $DESTDIR } -dospinmisc() -{ - cd $APPDIR - - # zip up Univ-specific files - echo Creating $DESTDIR/wxWidgets-$VERSION-Univ.zip - expandlines $MANIFESTDIR/univ.rsp /tmp/univfiles - zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-Univ.zip < /tmp/univfiles - rearchive wxWidgets-$VERSION-Univ.zip wxWidgets-$VERSION $DESTDIR - - # DMC project files - echo Creating $DESTDIR/wxWidgets-$VERSION-DMC.zip - expandlines $MANIFESTDIR/dmc.rsp /tmp/dmcfiles - zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-DMC.zip < /tmp/dmcfiles - rearchive wxWidgets-$VERSION-DMC.zip wxWidgets-$VERSION $DESTDIR - - # BC++ project files - echo Creating $DESTDIR/wxWidgets-$VERSION-BC.zip - expandlines $MANIFESTDIR/bc.rsp /tmp/bcfiles - zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-BC.zip < /tmp/bcfiles - rearchive wxWidgets-$VERSION-BC.zip wxWidgets-$VERSION $DESTDIR - -} - dospinport(){ port=$1 - - upperport="`echo $port|tr '[a-z]' '[A-Z]'`" - echo "Zipping wx$upperport..." + + if [ $port != "all" ]; then + portname="`echo $port|tr '[a-z]' '[A-Z]'`" + else + portname="wxWidgets" + fi + + echo "Zipping wx$portname..." cd $APPDIR - getfilelist "$port" "/tmp/$port_filelist" + portfiles="/tmp/wx$port.files" + getfilelist "$port" "$portfiles" - mkdir -p /tmp/wx$port/wxWidgets-$VERSION - - for line in `cat /tmp/$port_filelist` ; do - cp -r $line /tmp/wx$port/wxWidgets-$VERSION - done - - cd /tmp/wxWidgets-$VERSION + zip $ZIPFLAGS -@ $DESTDIR/wx$portname-$VERSION.zip < $portfiles + zip $ZIPFLAGS -g $DESTDIR/wx$portname-$VERSION.zip LICENSE.txt COPYING.LIB CHANGES.txt README.txt - 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/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 + if [ $port = "msw" ] || [ $port = "all" ]; then + zip $ZIPFLAGS -g $DESTDIR/wx$portname-$VERSION.zip README-MSW.txt INSTALL-MSW.txt + fi - zip $ZIPFLAGS -r -@ $DESTDIR/wx$upperport-$VERSION.zip /tmp/wx$port/wxWidgets-$VERSION + 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 - # Put all archives for transit to Linux in a zip file - echo Creating $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip - rm -f $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip - zip $ZIPFLAGS $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip wxWidgets-$VERSION-LinuxDocs.zip wxWidgets-$VERSION-DMC.zip - rm -f -r wxWidgets-$VERSION echo Unzipping the Windows files into wxWidgets-$VERSION mkdir -p wxWidgets-$VERSION - unzip $ZIPFLAGS -o wxWidgets-$VERSION-win.zip -d wxWidgets-$VERSION - unzip $ZIPFLAGS -o wxWidgets-$VERSION-DMC.zip -d wxWidgets-$VERSION - unzip $ZIPFLAGS -o wxWidgets-$VERSION-BC.zip -d wxWidgets-$VERSION - unzip $ZIPFLAGS -o wxWidgets-$VERSION-HTMLHelp.zip unzip $ZIPFLAGS -o wxWidgets-$VERSION-ExtraDoc.zip @@ -408,31 +420,23 @@ dospininstaller() 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 - 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/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 # 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 + + #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 @@ -447,74 +451,74 @@ dospininstaller() 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 @@ -522,10 +526,7 @@ dospininstaller() # echo Putting all the setup files into a single zip archive # zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.* - rm -f wxWidgets-$VERSION-win.zip rm -f wxWidgets-$VERSION-ExtraDoc.zip - rm -f wxWidgets-$VERSION-DMC.zip - rm -f wxWidgets-$VERSION-Univ.zip rm -f wxWidgets-$VERSION-DocSource.zip rm -f wxWidgets-$VERSION-LinuxDocs.zip @@ -535,10 +536,6 @@ dospininstaller() makesetup() { -# if [ -d $SETUPIMAGEDIR ]; then -# echo Removing contents of existing $SETUPIMAGEDIR -# rm -f -r $SETUPIMAGEDIR/* -# fi if [ ! -d $SETUPIMAGEDIR ]; then echo Making the $SETUPIMAGEDIR for preparing the setup @@ -572,9 +569,7 @@ makesetup() 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 @@ -607,6 +602,15 @@ makesetup() 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 @@ -618,11 +622,6 @@ makesetup() dospinport "os2" #dospinos2 fi - # Do Mac spin - if [ "$SPINMAC" = "1" ] || [ "$SPINALL" = "1" ]; then - dospinmac - fi - # Do MSW spin if [ "$SPINMSW" = "1" ] || [ "$SPINALL" = "1" ]; then dospinport "msw" #dospinmsw @@ -638,16 +637,24 @@ makesetup() 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 - # Do misc files spin - dospinmisc - docopydocs $APPDIR $DESTDIR - + # Time to regenerate the Inno Install script dospininstaller }