# Make a distribution of an application on MSW.
# Example:
-# ../distrib/msw/makesetup.sh --wxmsw --verbose &> | cat > log
+# ../distrib/msw/makesetup.sh --wxmsw --verbose &> log
# If your zip accepts Cygwin-style paths, then
# use cygpath, else substitute echo
SPINMSW=0
SPINMAC=0
SPINOS2=0
-SPINDOCS=1
-SPINALL=1
+SPINDOCS=0
+SPINALL=0
+SPINWXALL=0
+SPINBASE=0
+GETMAKEFILES=0
VERBOSE=0
ZIPFLAGS=
SCRIPTDIR=$WXWIN/distrib/msw
WEBFILES=c:/wx2dev/wxWebSite
# Set this to the required version
-VERSION=2.5.2
+VERSION=2.6.2
. $SCRIPTDIR/setup.var
popd
}
+rearchivetar()
+{
+ archive=$1
+ dirname=$2
+ changeto=$3
+
+ echo Re-tarring $archive as $dirname
+
+ pushd $changeto
+
+ if [ -d $dirname ]; then
+ rm -f -r $dirname
+ fi
+ mkdir $dirname
+ cd $dirname
+ tar xfz ../$archive
+ cd ..
+ rm -f $archive
+ tar cfz $archive $dirname/*
+
+ popd
+}
+
# Find the version from wx/version.h
# Not yet used
findversion()
dospinos2()
{
cd $APPDIR
- echo Zipping OS/2
+ echo Zipping OS/2...
# Zip up the complete wxOS2-xxx.zip file
zip $ZIPFLAGS -@ $DESTDIR/wxOS2-$VERSION.zip < $APPDIR/distrib/msw/generic.rsp
dospinmac()
{
+ echo Spinning wxMac...
cd $APPDIR
echo Zipping wxMac distribution
dospinmsw()
{
+ echo Zipping wxMSW...
cd $APPDIR
# Create wxWidgets-$VERSION-win.zip which is used to create wxMSW
echo Zipping individual components
+ rm -f $DESTDIR/wxWidgets-$VERSION-win.zip
zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/generic.rsp
zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/makefile.rsp
zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/msw.rsp
zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/utils.rsp
zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/utilmake.rsp
zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/univ.rsp
+ zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/wince.rsp
+ zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-win.zip < $APPDIR/distrib/msw/palmos.rsp
+}
+
+dospinwxall()
+{
+ echo Zipping wxAll...
+ cd $APPDIR
-# rearchive wxWidgets-$VERSION-win.zip wxWidgets-$VERSION $DESTDIR
+ echo Zipping individual components
+ rm -f $DESTDIR/wxWidgets-$VERSION-all.zip
+
+ # 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 $APPDIR/distrib/msw/cw_mac.rsp $APPDIR/distrib/msw/vc.rsp $APPDIR/distrib/msw/x11.rsp $APPDIR/distrib/msw/gtk.rsp $APPDIR/distrib/msw/cocoa.rsp $APPDIR/distrib/msw/motif.rsp $APPDIR/distrib/msw/mac.rsp $APPDIR/distrib/msw/mgl.rsp $APPDIR/distrib/msw/os2.rsp $APPDIR/distrib/msw/palmos.rsp | sort | uniq > /tmp/all.txt
+ zip $ZIPFLAGS -@ -u $DESTDIR/wxWidgets-$VERSION-all.zip < /tmp/all.txt
if [ -d $DESTDIR/wxWidgets-$VERSION ]; then
rm -f -r $DESTDIR/wxWidgets-$VERSION
mkdir $DESTDIR/wxWidgets-$VERSION
cd $DESTDIR/wxWidgets-$VERSION
- unzip $ZIPFLAGS ../wxWidgets-$VERSION-win.zip
-
- echo Removing .mms files
- rm -f src/gtk/descrip.mms src/motif/descrip.mms
+ unzip $ZIPFLAGS ../wxWidgets-$VERSION-all.zip
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
cd $DESTDIR
- rm -f wxWidgets-$VERSION-win.zip
- zip $ZIPFLAGS -r wxWidgets-$VERSION-win.zip wxWidgets-$VERSION/*
+ rm -f $DESTDIR/wxWidgets-$VERSION-all.zip
+ zip $ZIPFLAGS -r wxWidgets-$VERSION.zip wxWidgets-$VERSION/*
+}
+
+dospinbase()
+{
+ cd $APPDIR
+
+ echo Zipping wxBase...
+ rm -f $DESTDIR/wxBase-$VERSION.zip
+ zip $ZIPFLAGS -@ $DESTDIR/wxBase-$VERSION.zip < $APPDIR/distrib/msw/base.rsp
+
+ if [ -d $DESTDIR/wxWidgets-$VERSION ]; then
+ rm -f -r $DESTDIR/wxWidgets-$VERSION
+ fi
+
+ mkdir $DESTDIR/wxWidgets-$VERSION
+ cd $DESTDIR/wxWidgets-$VERSION
+ unzip $ZIPFLAGS ../wxBase-$VERSION.zip
+
+ echo Copying readme files...
+ cp $APPDIR/docs/base/readme.txt README.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 README2.txt
+
+ cd $DESTDIR
+
+ rm -f wxBase-$VERSION.zip
+ zip $ZIPFLAGS -r wxBase-$VERSION.zip wxWidgets-$VERSION/*
}
dospindocs()
zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-PDF.zip < $APPDIR/distrib/msw/wx_pdf.rsp
rearchive wxWidgets-$VERSION-PDF.zip wxWidgets-$VERSION $DESTDIR
+ echo Creating $DESTDIR/wxWidgets-$VERSION-PDF.tar.gz
+ tar zcf /c/wx2dev/wxWindows/deliver/wxWidgets-$VERSION-PDF.tar.gz docs/pdf/*.pdf
+ rearchivetar wxWidgets-$VERSION-PDF.tar.gz wxWidgets-$VERSION /c/wx2dev/wxWindows/deliver
+
# zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-Word.zip < $APPDIR/distrib/msw/wx_word.rsp
# rearchive wxWidgets-$VERSION-Word.zip wxWidgets-$VERSION $DESTDIR
zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-VC.zip < $APPDIR/distrib/msw/vc.rsp
# rearchive wxWidgets-$VERSION-VC.zip wxWidgets-$VERSION $DESTDIR
+ # eVC++ project files
+ echo Creating $DESTDIR/wxWidgets-$VERSION-eVC.zip
+ zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-eVC.zip < $APPDIR/distrib/msw/wince.rsp
+ # rearchive wxWidgets-$VERSION-eVC.zip wxWidgets-$VERSION $DESTDIR
+
+ # DMC project files
+ echo Creating $DESTDIR/wxWidgets-$VERSION-DMC.zip
+ zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-DMC.zip < $APPDIR/distrib/msw/dmc.rsp
+ # rearchive wxWidgets-$VERSION-DMC.zip wxWidgets-$VERSION $DESTDIR
+
# BC++ project files
echo Creating $DESTDIR/wxWidgets-$VERSION-BC.zip
zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-BC.zip < $APPDIR/distrib/msw/bc.rsp
# 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-VC.zip wxWidgets-$VERSION-CW-Mac.zip
+ zip $ZIPFLAGS $DESTDIR/wxWidgets-$VERSION-LinuxTransit.zip wxWidgets-$VERSION-LinuxDocs.zip wxWidgets-$VERSION-VC.zip wxWidgets-$VERSION-DMC.zip wxWidgets-$VERSION-eVC.zip wxWidgets-$VERSION-CW-Mac.zip
+
+ if [ ! -f $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip ]; then
+ cd $APPDIR
+ echo Creating $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip
+ zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-HTMLHelp.zip < $APPDIR/distrib/msw/wx_chm.rsp
+ rearchive wxWidgets-$VERSION-HTMLHelp.zip wxWidgets-$VERSION $DESTDIR
+ cd $DESTDIR
+ fi
+
+ if [ ! -f $DESTDIR/wxWidgets-$VERSION-ExtraDoc.zip ]; then
+ cd $APPDIR
+ echo Creating $DESTDIR/wxWidgets-$VERSION-ExtraDoc.zip
+ zip $ZIPFLAGS -@ $DESTDIR/wxWidgets-$VERSION-ExtraDoc.zip < $APPDIR/distrib/msw/extradoc.rsp
+ rearchive wxWidgets-$VERSION-ExtraDoc.zip wxWidgets-$VERSION $DESTDIR
+ cd $DESTDIR
+ fi
+
+ rm -f -r wxWidgets-$VERSION
echo Unzipping the Windows files into wxWidgets-$VERSION
- unzip $ZIPFLAGS -o wxWidgets-$VERSION-win.zip
+ mkdir -p wxWidgets-$VERSION
+
+ unzip $ZIPFLAGS -o wxWidgets-$VERSION-win.zip -d wxWidgets-$VERSION
unzip $ZIPFLAGS -o wxWidgets-$VERSION-VC.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-CW.zip -d wxWidgets-$VERSION
+
unzip $ZIPFLAGS -o wxWidgets-$VERSION-HTMLHelp.zip
unzip $ZIPFLAGS -o wxWidgets-$VERSION-ExtraDoc.zip
rm -f src/mingegcs.bat
rm -f -r distrib
rm -f *.spec
- rm -f -r contrib/utils/wxrcedit
+ 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
# Now cp some binary files to 'bin'
if [ ! -d bin ]; then
doreplace $SETUPSCRIPTNAME "s;%HELPFILE%;$RETVALUE;g"
fi
- rm -f $DESTDIR/setup*.*
+ rm -f $DESTDIR/setup*.* $DESTDIR/wxMSW-$VERSION-Setup.exe
# Inno Setup complains if this step is not done
unix2dos --unix2dos $SETUPSCRIPTNAME
fi
cd $DESTDIR
-# mv setup.exe $APPNAME-$VERSION-setup.exe
+ mv setup.exe wxMSW-$VERSION-Setup.exe
- echo Putting all the setup files into a single zip archive
- zip wxMSW-$VERSION-setup.zip readme-$VERSION.txt setup*.*
+ # 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-eVC.zip
+ rm -f wxWidgets-$VERSION-Univ.zip
+ rm -f wxWidgets-$VERSION-VC.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
cp $WEBFILES/site/i18n.htm $APPDIR/docs/html
# Copy setup0.h files to setup.h
- cp $APPDIR/include/wx/os2/setup0.h $APPDIR/include/wx/os2/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
dospinmsw
fi
+ # Do wxBase spin
+ if [ "$SPINBASE" = "1" ] || [ "$SPINALL" = "1" ]; then
+ dospinbase
+ fi
+
+ # Do wxAll spin
+ if [ "$SPINWXALL" = "1" ] || [ "$SPINALL" = "1" ]; then
+ dospinwxall
+ fi
+
# Do docs spin
if [ "$SPINDOCS" = "1" ] || [ "$SPINALL" = "1" ]; then
dospindocs
fi
}
+# 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.
+}
+
# We can't use e.g. this:
# ls `cat $SRC/distrib/msw/makefile.rsp` zip -@ -u $DEST/wxWidgets-$VERSION-gen.zip
# because there's not enough space on the command line, plus we need to ignore the
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/setup.var.
--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 ;;
esac
done
+
doinit
+if [ "$GETMAKEFILES" = "1" ]; then
+ getmakefiles
+ exit
+fi
+
# findversion
makesetup