]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/makerpm
Make expat's configure detect if -ext o is needed (MW) so tests work correctly.
[wxWidgets.git] / distrib / msw / makerpm
index 6071d938deb70fbb152e71eb652875cc2d1f590b..52ceae85c1425b194ad952b08bd48471c9a3de78 100755 (executable)
@@ -1,5 +1,9 @@
 #!/bin/sh
 #!/bin/sh
-# Makes the wxWindows RPMs
+# Makes the wxWidgets RPMs
+
+RPMBUILDARGS=
+PLATFORM=
+NORPMS=
 
 doupdatecvs()
 {
 
 doupdatecvs()
 {
@@ -27,10 +31,15 @@ dospinwxgtk()
   make allmo
   cd $WXDEST/wxgtk/release
   echo Configuring...
   make allmo
   cd $WXDEST/wxgtk/release
   echo Configuring...
-  $WXSRC/configure --no-recursion
+  $WXSRC/configure --with-gtk --no-recursion
   echo Making...
   make -j1 dist bzip-dist-only
 
   echo Making...
   make -j1 dist bzip-dist-only
 
+  mkdir $WXDEST/$PLATFORM
+
+  if [ "$NORPMS" != "1" ]
+  then
+
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
@@ -50,24 +59,222 @@ dospinwxgtk()
   echo Copying wxGTK.spec to $RPM_ROOT/SPECS...
   cp $WXSRC/wxGTK.spec $RPM_ROOT/SPECS
 
   echo Copying wxGTK.spec to $RPM_ROOT/SPECS...
   cp $WXSRC/wxGTK.spec $RPM_ROOT/SPECS
 
-  echo Starting wxGTK RPM build...
+  echo Starting wxGTK RPM build, rpmbuild args=$RPMBUILDARGS...
   cd $RPM_ROOT
   cd $RPM_ROOT
-  rpmbuild -ba SPECS/wxGTK.spec 2>&1 | tee wxGTK.out
+  rpmbuild -ba $RPMBUILDARGS SPECS/wxGTK.spec 2>&1 | tee wxGTK.out
 
 
-  echo Finished wxBase RPM build, in $RPM_ROOT.
+  echo Finished wxGTK RPM build, in $RPM_ROOT.
+  echo "SRPMS:"
+  ls SRPMS
+  echo "RPMS/i386:"
+  ls RPMS/i386
+
+  cp $RPM_ROOT/SRPMS/*.rpm $WXDEST/$PLATFORM
+  cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST/$PLATFORM
+
+  fi
+
+  cp $WXDEST/wxgtk/release/*.tar.gz $WXDEST/$PLATFORM
+  cp $WXDEST/wxgtk/release/*.tar.bz2 $WXDEST/$PLATFORM
+
+#  rm -f -r $WXDEST/wxgtk
+
+  echo Now try the RPMs with rpm -i.
+}
+
+dospinwxmgl()
+{
+  echo Making wxMGL RPMs...
+  RPM_ROOT=$WXDEST/wxmgl/rpm-root
+
+  if [ ! -d $WXDEST ]; then
+    mkdir $WXDEST
+  fi
+
+  rm -f -r $WXDEST/wxmgl
+  mkdir $WXDEST/wxmgl
+  mkdir $WXDEST/wxmgl/release
+  mkdir $RPM_ROOT
+
+  cd $WXSRC
+  cd locale
+  make allmo
+  cd $WXDEST/wxmgl/release
+  echo Configuring...
+  $WXSRC/configure --with-mgl --no-recursion
+  echo Making...
+  make -j1 dist bzip-dist-only
+
+  if [ "$NORPMS" != "1" ]
+  then
+
+  echo Setting up RPM build dir $RPM_ROOT...
+  rm -f -r $RPM_ROOT
+  mkdir $RPM_ROOT
+  mkdir $RPM_ROOT/BUILD
+  mkdir $RPM_ROOT/RPMS
+  mkdir $RPM_ROOT/RPMS/i386
+  mkdir $RPM_ROOT/RPMS/i686
+  mkdir $RPM_ROOT/RPMS/noarch
+  mkdir $RPM_ROOT/SOURCES
+  mkdir $RPM_ROOT/SPECS
+  mkdir $RPM_ROOT/SRPMS
+
+  echo %_topdir $RPM_ROOT > ~/.rpmmacros
+
+  echo Copying wxMGL-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
+  cp wxMGL-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
+  echo Copying wxMGL.spec to $RPM_ROOT/SPECS...
+  cp $WXSRC/wxMGL.spec $RPM_ROOT/SPECS
+
+  echo Starting wxMGL RPM build...
+  cd $RPM_ROOT
+  rpmbuild -ba SPECS/wxMGL.spec 2>&1 | tee wxMGL.out
+
+  echo Finished wxMGL RPM build, in $RPM_ROOT.
   echo "SRPMS:"
   ls SRPMS
   echo "RPMS/i386:"
   ls RPMS/i386
 
   cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
   echo "SRPMS:"
   ls SRPMS
   echo "RPMS/i386:"
   ls RPMS/i386
 
   cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
-  cp $RPM_ROOT/RPMS/*.rpm $WXDEST
-  cp $WXDEST/wxgtk/release/*.tar.gz $WXDEST
-  cp $WXDEST/wxgtk/release/*.tar.bz2 $WXDEST
+  cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
+
+  fi
+
+  cp $WXDEST/wxmgl/release/*.tar.gz $WXDEST
+  cp $WXDEST/wxmgl/release/*.tar.bz2 $WXDEST
+
+#  rm -f -r $WXDEST/wxmgl
 
   echo Now try the RPMs with rpm -i.
 }
 
 
   echo Now try the RPMs with rpm -i.
 }
 
+dospinwxmotif()
+{
+  echo Making wxMotif RPMs...
+  RPM_ROOT=$WXDEST/wxmotif/rpm-root
+
+  if [ ! -d $WXDEST ]; then
+    mkdir $WXDEST
+  fi
+
+  rm -f -r $WXDEST/wxmotif
+  mkdir $WXDEST/wxmotif
+  mkdir $WXDEST/wxmotif/release
+  mkdir $RPM_ROOT
+
+  cd $WXSRC
+  cd locale
+  make allmo
+  cd $WXDEST/wxmotif/release
+  echo Configuring...
+  $WXSRC/configure --with-motif --no-recursion
+  echo Making...
+  make -j1 dist bzip-dist-only
+
+  if [ "$NORPMS" != "1" ]
+  then
+
+  echo Setting up RPM build dir $RPM_ROOT...
+  rm -f -r $RPM_ROOT
+  mkdir $RPM_ROOT
+  mkdir $RPM_ROOT/BUILD
+  mkdir $RPM_ROOT/RPMS
+  mkdir $RPM_ROOT/RPMS/i386
+  mkdir $RPM_ROOT/RPMS/i686
+  mkdir $RPM_ROOT/RPMS/noarch
+  mkdir $RPM_ROOT/SOURCES
+  mkdir $RPM_ROOT/SPECS
+  mkdir $RPM_ROOT/SRPMS
+
+  echo %_topdir $RPM_ROOT > ~/.rpmmacros
+
+  echo Copying wxMOTIF-$WXVER.tar.bz2 to $RPM_ROOT/SOURCES...
+  cp wxMOTIF-$WXVER.tar.bz2 $RPM_ROOT/SOURCES
+  echo Copying wxMotif.spec to $RPM_ROOT/SPECS...
+  cp $WXSRC/wxMotif.spec $RPM_ROOT/SPECS
+
+  echo Starting wxMotif RPM build...
+  cd $RPM_ROOT
+  rpmbuild -ba SPECS/wxMotif.spec 2>&1 | tee wxGTK.out
+
+  echo Finished wxMotif RPM build, in $RPM_ROOT.
+  echo "SRPMS:"
+  ls SRPMS
+  echo "RPMS/i386:"
+  ls RPMS/i386
+
+  cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
+  cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
+
+  fi
+
+  cp $WXDEST/wxmotif/release/*.tar.gz $WXDEST
+  cp $WXDEST/wxmotif/release/*.tar.bz2 $WXDEST
+
+  echo Rearchiving wxMotif tarballs to change wxMOTIF to wxMotif...
+  cd $WXDEST
+  mkdir wxMotif.tmp
+  cd wxMotif.tmp
+  rm -f -r *
+  tar xfz ../wxMOTIF-$WXVER.tar.gz
+  mv wxMOTIF-$WXVER wxMotif-$WXVER
+  rm -f ../wxMOTIF-$WXVER.tar.gz
+  rm -f ../wxMOTIF-$WXVER.tar.bz2
+  tar cf ../wxMotif-$WXVER.tar *
+  gzip -c ../wxMotif-$WXVER.tar > ../wxMotif-$WXVER.tar.gz
+  bzip2 -f9 ../wxMotif-$WXVER.tar
+  cd ..
+  rm -f -r wxMotif.tmp
+#  rm -f -r $WXDEST/wxmotif
+
+  echo Now try the RPMs with rpm -i.
+}
+
+dospinwxmac()
+{
+  echo Making wxMac tarballs...
+  echo Note that this must be done on a Mac.
+  if [ ! -d $WXDEST ]; then
+    mkdir $WXDEST
+  fi
+
+  rm -f -r $WXDEST/wxmac
+  mkdir $WXDEST/wxmac
+  mkdir $WXDEST/wxmac/release
+
+  cd $WXSRC
+  cd locale
+  make allmo
+  cd $WXDEST/wxmac/release
+  echo Configuring...
+  $WXSRC/configure --with-mac --no-recursion
+  echo Making...
+  make -j1 dist bzip-dist-only
+
+  cp $WXDEST/wxmac/release/*.tar.gz $WXDEST
+  cp $WXDEST/wxmac/release/*.tar.bz2 $WXDEST
+
+  echo Rearchiving wxMac tarballs to change wxMAC to wxMAC...
+  cd $WXDEST
+  mkdir wxMac.tmp
+  cd wxMac.tmp
+  rm -f -r *
+  tar xfz ../wxMac-$WXVER.tar.gz
+  mv wxMAC-$WXVER wxMac-$WXVER
+  rm -f ../wxMAC-$WXVER.tar.gz
+  rm -f ../wxMAC-$WXVER.tar.bz2
+  tar cf ../wxMac-$WXVER.tar *
+  gzip -c ../wxMac-$WXVER.tar > ../wxMac-$WXVER.tar.gz
+  bzip2 -f9 ../wxMac-$WXVER.tar
+  cd ..
+  rm -f -r wxMac.tmp
+
+  rm -f -r $WXDEST/wxmac
+  echo Now try the RPMs with rpm -i.
+}
+
 dospinwxbase()
 {
   echo Making wxBase RPMs...
 dospinwxbase()
 {
   echo Making wxBase RPMs...
@@ -91,6 +298,11 @@ dospinwxbase()
   echo Making...
   make -j1 dist bzip-dist-only
 
   echo Making...
   make -j1 dist bzip-dist-only
 
+  mkdir $WXDEST/$PLATFORM
+
+  if [ "$NORPMS" != "1" ]
+  then
+
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
@@ -110,9 +322,9 @@ dospinwxbase()
   echo Copying wxBase.spec to $RPM_ROOT/SPECS...
   cp $WXSRC/wxBase.spec $RPM_ROOT/SPECS
 
   echo Copying wxBase.spec to $RPM_ROOT/SPECS...
   cp $WXSRC/wxBase.spec $RPM_ROOT/SPECS
 
-  echo Starting wxBase RPM build...
+  echo Starting wxBase RPM build, rpmbuild args=$RPMBUILDARGS...
   cd $RPM_ROOT
   cd $RPM_ROOT
-  rpmbuild -ba SPECS/wxBase.spec 2>&1 | tee wxBase.out
+  rpmbuild -ba $RPMBUILDARGS SPECS/wxBase.spec 2>&1 | tee wxBase.out
 
   echo Finished wxBase RPM build, in $RPM_ROOT.
   echo "SRPMS:"
 
   echo Finished wxBase RPM build, in $RPM_ROOT.
   echo "SRPMS:"
@@ -120,11 +332,15 @@ dospinwxbase()
   echo "RPMS/i386:"
   ls RPMS/i386
 
   echo "RPMS/i386:"
   ls RPMS/i386
 
-  cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
-  cp $RPM_ROOT/RPMS/*.rpm $WXDEST
-  cp $WXDEST/wxbase/release/*.tar.gz $WXDEST
-  cp $WXDEST/wxbase/release/*.tar.bz2 $WXDEST
+  cp $RPM_ROOT/SRPMS/*.rpm $WXDEST/$PLATFORM
+  cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST/$PLATFORM
 
 
+  fi
+
+  cp $WXDEST/wxbase/release/*.tar.gz $WXDEST/$PLATFORM
+  cp $WXDEST/wxbase/release/*.tar.bz2 $WXDEST/$PLATFORM
+
+#  rm -f -r $WXDEST/wxbase
   echo Now try the RPMs with rpm -i.
 }
 
   echo Now try the RPMs with rpm -i.
 }
 
@@ -151,6 +367,9 @@ dospinwxx11()
   echo Making...
   make -j1 dist bzip-dist-only
 
   echo Making...
   make -j1 dist bzip-dist-only
 
+  if [ "$NORPMS" != "1" ]
+  then
+
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
   echo Setting up RPM build dir $RPM_ROOT...
   rm -f -r $RPM_ROOT
   mkdir $RPM_ROOT
@@ -181,40 +400,31 @@ dospinwxx11()
   ls RPMS/i386
 
   cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
   ls RPMS/i386
 
   cp $RPM_ROOT/SRPMS/*.rpm $WXDEST
-  cp $RPM_ROOT/RPMS/*.rpm $WXDEST
+  cp $RPM_ROOT/RPMS/i386/*.rpm $WXDEST
+
+  fi
+
   cp $WXDEST/wxx11/release/*.tar.gz $WXDEST
   cp $WXDEST/wxx11/release/*.tar.bz2 $WXDEST
 
   cp $WXDEST/wxx11/release/*.tar.gz $WXDEST
   cp $WXDEST/wxx11/release/*.tar.bz2 $WXDEST
 
+#  rm -f -r $WXDEST/wxx11
   echo Now try the RPMs with rpm -i.
 }
 
   echo Now try the RPMs with rpm -i.
 }
 
-init=""
-if [ "$1" = "" ]
-then
-  echo Usage: makerpm wx-dir output-dir version
-  exit
-fi
-
-if [ "$2" = "" ]
-then
-  echo Usage: makerpm wx-dir output-dir version
-  exit
-fi
-
-if [ "$3" = "" ]
-then
-  echo Usage: makerpm wx-dir output-dir version
-  exit
-fi
-
 PROGNAME=$0
 WXSRC=$1
 WXDEST=$2
 WXVER=$3
 
 SPINWXX11=0
 PROGNAME=$0
 WXSRC=$1
 WXDEST=$2
 WXVER=$3
 
 SPINWXX11=0
-SPINWXGTK=0
+SPINWXGTK1=0
+SPINWXGTK2=0
+SPINWXGTK2UNICODE=0
+SPINWXMAC=0
+SPINWXMOTIF=0
 SPINWXBASE=0
 SPINWXBASE=0
+SPINWXBASEUNICODE=0
+SPINWXMGL=0
 SPINEVERYTHING=0
 UPDATECVS=0
 
 SPINEVERYTHING=0
 UPDATECVS=0
 
@@ -222,25 +432,58 @@ usage()
 {
     echo Usage: $PROGNAME "src-dir dest-dir version-number [ options ]"
     echo Options:
 {
     echo Usage: $PROGNAME "src-dir dest-dir version-number [ options ]"
     echo Options:
-    echo "    --help         Display this help message"
-    echo "    --wxgtk        Spin wxGTK RPMs"
-    echo "    --wxbase       Spin wxBase RPMs"
-    echo "    --wxx11        Spin wxX11 RPMs"
-    echo "    --all          Spin EVERYTHING"
-    echo "    --updatecvs    Update from CVS"
+    echo "    --help          Display this help message"
+    echo "    --wxgtk1        Spin wxGTK1 RPMs"
+    echo "    --wxgtk2        Spin wxGTK2 RPMs"
+    echo "    --wxgtk2unicode Spin wxGTK2 Unicode RPMs"
+    echo "    --wxbase        Spin wxBase RPMs"
+    echo "    --wxbaseunicode Spin wxBase Unicode RPMs"
+    echo "    --wxx11         Spin wxX11 RPMs"
+    echo "    --wxmotif       Spin wxMotif RPMs"
+    echo "    --wxmgl         Spin wxMGL RPMs"
+    echo "    --wxmac         Make wxMac tarball"
+    echo "    --all           Spin EVERYTHING"
+    echo "    --updatecvs     Update from CVS"
+    echo "    --norpms        No RPMS, just tarballs"
 
     exit 1
 }
 
 
     exit 1
 }
 
+init=""
+if [ "$1" = "" ]
+then
+  usage
+  exit
+fi
+
+if [ "$2" = "" ]
+then
+  usage
+  exit
+fi
+
+if [ "$3" = "" ]
+then
+  usage
+  exit
+fi
+
 # Process command line options.
 shift 3
 for i in "$@"; do
     case "$i" in
        --wxx11) SPINWXX11=1 ;;
 # Process command line options.
 shift 3
 for i in "$@"; do
     case "$i" in
        --wxx11) SPINWXX11=1 ;;
-       --wxgtk) SPINWXGTK=1 ;;
+       --wxgtk1) SPINWXGTK1=1 ;;
+       --wxgtk2) SPINWXGTK2=1 ;;
+       --wxgtk2unicode) SPINWXGTK2UNICODE=1 ;;
+       --wxmotif) SPINWXMOTIF=1 ;;
+       --wxmgl) SPINWXMGL=1 ;;
+       --wxmac) SPINWXMAC=1 ;;
        --wxbase) SPINWXBASE=1 ;;
        --wxbase) SPINWXBASE=1 ;;
+       --wxbaseunicode) SPINWXBASEUNICODE=1 ;;
        --all) SPINEVERYTHING=1 ;;
        --updatecvs) UPDATECVS=1 ;;
        --all) SPINEVERYTHING=1 ;;
        --updatecvs) UPDATECVS=1 ;;
+       --norpms) NORPMS=1 ;;
        *)
            usage
            exit
        *)
            usage
            exit
@@ -248,7 +491,7 @@ for i in "$@"; do
     esac
 done
 
     esac
 done
 
-echo About to make wxWindows RPMs:
+echo About to make wxWidgets RPMs:
 echo   From    $WXSRC
 echo   To      $WXDEST
 echo   Version $WXVER
 echo   From    $WXSRC
 echo   To      $WXDEST
 echo   Version $WXVER
@@ -263,11 +506,44 @@ if [ "$SPINWXX11" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
   dospinwxx11
 fi
 
   dospinwxx11
 fi
 
-if [ "$SPINWXGTK" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+if [ "$SPINWXGTK1" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  RPMBUILDARGS=
+  PLATFORM=gtk1
+  dospinwxgtk
+fi
+
+if [ "$SPINWXGTK2" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  RPMBUILDARGS="--with gtk2"
+  PLATFORM=gtk2
+  dospinwxgtk
+fi
+
+if [ "$SPINWXGTK2UNICODE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  RPMBUILDARGS="--with gtk2 --with unicode"
+  PLATFORM=gtk2unicode
   dospinwxgtk
 fi
 
 if [ "$SPINWXBASE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
   dospinwxgtk
 fi
 
 if [ "$SPINWXBASE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  PLATFORM=base
   dospinwxbase
 fi
 
   dospinwxbase
 fi
 
+if [ "$SPINWXBASEUNICODE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  RPMBUILDARGS="--with unicode"
+  PLATFORM=baseunicode
+  dospinwxbase
+fi
+
+if [ "$SPINWXMOTIF" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  dospinwxmotif
+fi
+
+if [ "$SPINWXMGL" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then
+  dospinwxmgl
+fi
+
+if [ "$SPINWXMAC" = "1" ]; then
+  dospinwxmac
+fi
+