]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/makesetup.sh
Olly Betts' typo patch
[wxWidgets.git] / distrib / msw / makesetup.sh
index 3919009de5d86f3f2fb5564c82c0cbe283562e7f..7afe376ecb9881d0dfcd60886d687398a2b548a9 100644 (file)
@@ -2,7 +2,7 @@
 
 # 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
@@ -13,8 +13,11 @@ INNO=1
 SPINMSW=0
 SPINMAC=0
 SPINOS2=0
-SPINDOCS=1
-SPINALL=1
+SPINDOCS=0
+SPINALL=0
+SPINWXALL=0
+SPINBASE=0
+GETMAKEFILES=0
 VERBOSE=0
 ZIPFLAGS=
 
@@ -22,7 +25,7 @@ PROGNAME=$0
 SCRIPTDIR=$WXWIN/distrib/msw
 WEBFILES=c:/wx2dev/wxWebSite
 # Set this to the required version
-VERSION=2.5.2
+VERSION=2.6.0
 
 . $SCRIPTDIR/setup.var
 
@@ -83,6 +86,29 @@ rearchive()
     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()
@@ -98,7 +124,7 @@ 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
@@ -150,6 +176,7 @@ dospinos2()
 
 dospinmac()
 {
+    echo Spinning wxMac...
     cd $APPDIR
 
     echo Zipping wxMac distribution
@@ -201,10 +228,12 @@ dospinmac()
 
 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
@@ -220,8 +249,26 @@ dospinmsw()
     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/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
@@ -229,14 +276,9 @@ dospinmsw()
 
     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
@@ -244,8 +286,37 @@ dospinmsw()
 
     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()
@@ -268,6 +339,10 @@ 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
 
@@ -307,6 +382,16 @@ dospinmisc()
     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
@@ -325,14 +410,36 @@ dospinsetup()
     # 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
 
@@ -350,7 +457,15 @@ dospinsetup()
     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
@@ -417,7 +532,7 @@ dospinsetup()
                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
@@ -444,13 +559,19 @@ dospinsetup()
     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
@@ -531,7 +652,8 @@ makesetup()
     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
 
@@ -550,6 +672,16 @@ makesetup()
         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
@@ -600,6 +732,24 @@ makesetup()
     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
@@ -634,8 +784,11 @@ usage()
     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.
@@ -653,6 +806,9 @@ for i in "$@"; do
        --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 ;;
@@ -663,8 +819,14 @@ for i in "$@"; do
     esac
 done
 
+
 doinit
 
+if [ "$GETMAKEFILES" = "1" ]; then
+    getmakefiles
+    exit
+fi
+
 # findversion
 makesetup