]> granicus.if.org Git - graphviz/commitdiff
Update Windows shell scripts for building.
authorerg <devnull@localhost>
Tue, 12 Feb 2008 18:53:57 +0000 (18:53 +0000)
committererg <devnull@localhost>
Tue, 12 Feb 2008 18:53:57 +0000 (18:53 +0000)
windows/bin/build.sh
windows/bin/gsetup.sh
windows/bin/runconf.sh

index 42d3042e0cdd815c462718cca51fe8292a6d3b8b..64df60fccafa45ab14a0a9c69505613dd508bc84 100644 (file)
@@ -2,7 +2,7 @@
 #\r
 \r
 PATH=$PATH:"/c/Program Files/putty:/msdev/vc/bin"\r
-export ROOT=/c/graphviz\r
+export ROOT=$PWD\r
 export INSTALLROOT=$ROOT/local\r
 GVIZ_HOME=$ROOT/gviz       \r
 LFILE=$ROOT/build.log    # log file\r
@@ -14,9 +14,10 @@ DESTDIR=$SOURCE/CURRENT
 VERSION=$(date +%K)\r
 export GTKDIR=/c/gtk\r
 typeset -l USER=${USER:-erg}\r
-WINDBG="erg"\r
-#WINDBG="erg arif ellson"\r
+#WINDBG="erg"\r
+WINDBG="erg arif ellson"\r
 SFX=\r
+SUBJECT="-s'Windows build failure'"\r
 export nativepp=-1\r
 \r
 function SetVersion \r
@@ -32,10 +33,15 @@ function SetVersion
   fi\r
 }\r
 \r
+function WarnEx\r
+{\r
+  ssh erg@penguin "echo $1 | mail erg $SUBJECT"\r
+}  \r
+\r
 function ErrorEx\r
 {\r
   scp -q $LFILE $USER@penguin:/home/$USER/build.log.$VERSION\r
-  ssh $USER@penguin "echo $1 | mail $WINDBG -s'Windows build failure'"\r
+  ssh $USER@penguin "echo $1 | mail $WINDBG $SUBJECT"\r
   exit 1\r
 }  \r
 \r
@@ -73,7 +79,14 @@ function Get
   rm -rf $GVIZ_HOME\r
   if [[ $? != 0 ]]\r
   then\r
-     ErrorEx "failure in removing old gviz directory"\r
+     ls -ld $GVIZ_HOME >> errfile\r
+     echo $USER >> errfile\r
+     WarnEx "Warning: failure in removing old gviz directory"\r
+     mv $GVIZ_HOME gviz$$\r
+     if [[ $? != 0 ]]\r
+     then\r
+       ErrorEx "failure in removing old gviz directory"\r
+     fi\r
   fi\r
 \r
   echo mv graphviz-[1-9]*[0-9] $GVIZ_HOME >> $LFILE\r
@@ -156,8 +169,11 @@ function Setup
     > lib/gd/unistd.h      # for fontconfig.h\r
     > plugin/pango/unistd.h      # for fontconfig.h\r
   fi\r
-  mv ast_common.h xx\r
-  sed '/#define _typ_ssize_t/d' xx > ast_common.h\r
+#  if grep _typ_ssize_t ast_common.h > /dev/null \r
+#  then\r
+#    mv ast_common.h xx\r
+#    sed '/#define _typ_ssize_t/d' xx > ast_common.h\r
+#  fi\r
 \r
   if ! grep DISABLE_THREADS lib/gd/gd.h > /dev/null\r
   then\r
@@ -174,6 +190,11 @@ function Setup
   then\r
     echo "\n#define GVDLL 1" >> config.h\r
   fi\r
+  if [[ $USE_DLL != 2 ]]\r
+  then\r
+    cp cmd/dot/Makefile xx\r
+    sed '/dot -c/d' xx > cmd/dot/Makefile\r
+  fi\r
 \r
   echo "Finish Setup" >> $LFILE\r
 }\r
@@ -339,7 +360,6 @@ function Build
   cd ..\r
   rm -rf graphviz\r
 \r
-  \r
   if [[ $USE_DLL != 0 ]]\r
   then\r
     mkDLL cdt\r
@@ -350,7 +370,7 @@ function Build
     mkDLL expr -lcdt\r
     mkDLL gvc "-L$GTKDIR/lib -lpathplan -lgraph -lcdt -lexpat -lz -lltdl" \r
     mkDLL gvplugin_core "-L$GTKDIR/lib -lgvc -lgraph -lcdt -lexpat -lz -lltdl"\r
-   mkDLL gvplugin_dot_layout "-L$GTKDIR/lib -lgvc -lgraph -lpathplan -lcdt -lexpat -lz -lltdl"\r
+    mkDLL gvplugin_dot_layout "-L$GTKDIR/lib -lgvc -lgraph -lpathplan -lcdt -lexpat -lz -lltdl"\r
     mkDLL gvplugin_neato_layout "-L$GTKDIR/lib -lgvc -lpathplan -lgraph -lcdt -lexpat -lz -lltdl"\r
     mkDLL gvplugin_gd "-L$GTKDIR/lib -lgvc -lpathplan -lgraph -lcdt -lpng -ljpeg -lfontconfig -lfreetype -lcairo -liconv -lexpat -lz -lltdl" \r
 #    mkDLL gvplugin_gdk_pixbuf "-L$GTKDIR/lib -lcairo -lgdk_pixbuf-2.0 -lltdl" \r
@@ -380,21 +400,36 @@ function Build
   fi \r
 \r
   cd ../gvpr\r
-  mkGvpr >> $LFILE 2>&1 \r
+  if [[ $USE_DLL != 0 ]]\r
+  then\r
+    mkGvpr >> $LFILE 2>&1 \r
+  else\r
+    make install >> $LFILE 2>&1\r
+  fi\r
   if [[ $? != 0 ]]\r
   then\r
     ErrorEx "failure to make gvpr"\r
   fi \r
 \r
   cd ../tools\r
-  mkTools >> $LFILE 2>&1 \r
+  if [[ $USE_DLL != 0 ]]\r
+  then\r
+    mkTools >> $LFILE 2>&1 \r
+  else\r
+    make install >> $LFILE 2>&1\r
+  fi\r
   if [[ $? != 0 ]]\r
   then\r
     ErrorEx "failure to make tools"\r
   fi \r
 \r
   cd ../dot\r
-  mkDot >> $LFILE 2>&1 \r
+  if [[ $USE_DLL != 0 ]]\r
+  then\r
+    mkDot >> $LFILE 2>&1 \r
+  else\r
+    make install >> $LFILE 2>&1\r
+  fi\r
   if [[ $? != 0 ]]\r
   then\r
     ErrorEx "failure to make dot"\r
@@ -425,6 +460,8 @@ function mkDLL
   return 0\r
 }\r
 \r
+GTKPROGS="fc-cache fc-cat fc-list fc-match"\r
+\r
 GTKDLLS="iconv intl jpeg62 libcairo-2 libexpat libfontconfig-1 \\r
 libfreetype-6 libglib-2.0-0 libgmodule-2.0-0 libgobject-2.0-0 \\r
 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangowin32-1.0-0 \\r
@@ -433,9 +470,14 @@ libpng12 libxml2 zlib1 libgdk_pixbuf-2.0-0"
 # Add additional software (DLLs, manuals, examples, etc.) to tree\r
 function Install\r
 {\r
-# Add 3rd party libraries\r
-  echo "Copying 3rd party libraries" >> $LFILE 2>&1   \r
+# Add 3rd party programs and libraries\r
   cd $GTKDIR/bin\r
+  echo "Copying 3rd party programs" >> $LFILE 2>&1   \r
+  for l in $GTKPROGS\r
+  do\r
+    cp $l.exe $INSTALLROOT/bin\r
+  done\r
+  echo "Copying 3rd party libraries" >> $LFILE 2>&1   \r
   for l in $GTKDLLS\r
   do\r
     cp $l.dll $INSTALLROOT/bin\r
@@ -443,15 +485,32 @@ function Install
   cp -r $GTKDIR/lib/pango $INSTALLROOT/lib\r
   cp -r $GTKDIR/etc $INSTALLROOT\r
 \r
+  # For some reasson, fc-cache and fc-list are linked against\r
+  # fontconfig.dll rather than libfontconfig-1.dll, so we make a copy.\r
+  cd $INSTALLROOT/bin\r
+  cp libfontconfig-1.dll fontconfig.dll\r
+  \r
   # Add extra software\r
   cd $ROOT/add-on\r
   cp Uninstall.exe $INSTALLROOT\r
   cp fonts.conf $INSTALLROOT/etc/fonts\r
-  cp props.txt GVedit.exe GVedit.html GVUI.exe $INSTALLROOT/bin\r
+  cp props.txt GVedit.exe GVedit.html GVUI.exe Settings.ini $INSTALLROOT/bin\r
+  cp comdlg32.ocx $INSTALLROOT/bin\r
 \r
+  if [[ $USE_DLL == 0 ]]\r
+  then\r
+    cd $INSTALLROOT/bin\r
+    if [[ -f dot_static.exe ]]\r
+    then\r
+      mv dot_static.exe dot.exe\r
+    fi\r
+    cd ..\r
+  fi\r
+  \r
 # Create "soft" links. At present, hard links appear necessary for\r
 # GVedit and GVUI. It is hoped this will change with the new GVUI.\r
   echo "Create soft links" >> $LFILE 2>&1   \r
+  echo cd $INSTALLROOT/bin >> $LFILE 2>&1\r
   cd $INSTALLROOT/bin\r
   cp dot.exe neato.exe\r
   cp dot.exe twopi.exe\r
@@ -477,18 +536,31 @@ function Install
 \r
   echo "Install man pages" >> $LFILE 2>&1   \r
   cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/cmd/gvpr/gvpr.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/cmd/dotty/dotty.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/cmd/lefty/lefty.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/cmd/lneato/lneato.pdf $INSTALLROOT/doc/man\r
   cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/neato.pdf\r
   cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/twopi.pdf\r
   cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/circo.pdf\r
   cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/fdp.pdf\r
   cp $GVIZ_HOME/cmd/tools/*.pdf $INSTALLROOT/doc/man\r
   cp $GVIZ_HOME/cmd/tools/gxl2dot.pdf $INSTALLROOT/doc/man/dot2gxl.pdf\r
+  cp $GVIZ_HOME/lib/agraph/agraph.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/lib/cdt/cdt.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/lib/graph/graph.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/lib/gvc/gvc.pdf $INSTALLROOT/doc/man\r
+  cp $GVIZ_HOME/lib/pathplan/pathplan.pdf $INSTALLROOT/doc/man\r
 \r
   if [[ -d $INSTALLROOT/share ]]\r
   then\r
     echo "Install share software" >> $LFILE 2>&1   \r
+    echo "cd $INSTALLROOT/share/graphviz" >> $LFILE 2>&1\r
     cd $INSTALLROOT/share/graphviz\r
-    mv lefty ../../lib\r
+    if [[ -d lefty ]]\r
+    then\r
+      mv lefty ../../lib\r
+    fi\r
 \r
     cd ../..\r
     rm -rf share\r
@@ -503,32 +575,30 @@ function Install
     mv ginclude include\r
   fi\r
 \r
-  if [[ $USE_DLL == 0 ]]\r
-  then\r
-    cd $INSTALLROOT/bin\r
-    if [[ -f dot_static.exe ]]\r
-    then\r
-      mv dot_static.exe dot.exe\r
-    fi\r
-    cd ..\r
-  fi\r
-  \r
     # Remove makefiles\r
   cd $INSTALLROOT\r
   rm -f $(find graphs -name Makefile* -print)\r
   rm -f $(find contrib -name Makefile -print)\r
   rm -f $(find contrib -name Makefile.in -print)\r
 \r
+  echo "Finish Install" >> $LFILE 2>&1   \r
 }\r
 \r
 function PackageTar\r
 {\r
   cd $ROOT\r
 \r
+  if [[ -n "$RELEASE" ]]\r
+  then\r
+    localstr=local.$RELEASE\r
+  else\r
+    localstr=local\r
+  fi\r
+\r
     # Create tgz package\r
-  TGZFILE=graphviz-win-${VERSION}.bin.tar.gz\r
-  echo "creating tgz local" >> $LFILE\r
-  pax -w -x tar -s/local/graphviz-${VERSION}/ local | gzip > $TGZFILE\r
+  TGZFILE=graphviz-win-${VERSION}${STATIC}.bin.tar.gz\r
+  echo "creating tgz $localstr" >> $LFILE\r
+  pax -w -x tar -s/$localstr/graphviz-${VERSION}/ $localstr | gzip > $TGZFILE\r
   if [[ -f $TGZFILE ]]\r
   then\r
     echo "SUCCESS : tgz file created" >> $LFILE\r
@@ -554,10 +624,10 @@ function Package
   cp Setup.exe Selfstbv.exe $ROOT/release\r
   sed "s/XXX/$SHORTVERSION/" Graphviz.ini > $ROOT/release/Graphviz.ini\r
   cd $ROOT\r
-  ./gsetup.sh >> $LFILE 2>&1\r
+  ./gsetup.sh $ROOT "${RELEASE}" >> $LFILE 2>&1\r
  \r
   # now copy it to the webserver\r
-  UPLOADFILE=graphviz-${VERSION}.exe\r
+  UPLOADFILE=graphviz-${VERSION}${STATIC}.exe\r
   PACKAGEDFILE=$ROOT/release/graphvizw.exe\r
   \r
   if [[ -f $PACKAGEDFILE ]]\r
@@ -592,6 +662,8 @@ INSTALL=0    # install the software locally
 PACKAGE=0    # make main package and copy all software to cvs machine\r
 USE_DLL=2\r
 CONFARG=-PL\r
+STATIC=\r
+RELEASE=\r
 \r
 Usage='build [-CDLGSBIP] [-R<relno>] \n\r
  -C : core package \n\r
@@ -606,10 +678,6 @@ Usage='build [-CDLGSBIP] [-R<relno>] \n
 while getopts :XCDLGSBIPR: c\r
 do\r
   case $c in\r
-  X )       # Remove when pixbuf is fixed\r
-    PFX=x\r
-    CONFARG="$CONFARG -X"\r
-    ;;\r
   D )       # build with dlls\r
     CONFARG=-P\r
     USE_DLL=1\r
@@ -618,8 +686,11 @@ do
     USE_DLL=2\r
     CONFARG=-PL\r
     ;;\r
-  C )       # no pango/cairo/fontconfig\r
-    CONFARG=\r
+  C )       # general static package\r
+    STATIC=".static"\r
+    SUBJECT="-s'Static windows build failure'"\r
+    CONFARG=-P\r
+    USE_DLL=0\r
     ;;\r
   G )       # get\r
     SETOPTS=1\r
@@ -646,6 +717,8 @@ do
     INPKG=graphviz-${RELEASE}.tar.gz\r
     SOURCEFILE=$SOURCE/ARCHIVE/$INPKG\r
     DESTDIR=$SOURCE/ARCHIVE\r
+    INSTALLROOT=$ROOT/local.${RELEASE}\r
+    GVIZ_HOME=$ROOT/gviz.${RELEASE}       \r
     ;;\r
   :)\r
     echo $OPTARG requires a value\r
@@ -665,9 +738,6 @@ done
 \r
 shift $((OPTIND-1))\r
 \r
-LFILE=$ROOT/${PFX}build.log\r
-GVIZ_HOME=$ROOT/${PFX}gviz\r
-INSTALLROOT=$ROOT/${PFX}local\r
 \r
 if [[ $# > 0 ]]\r
 then\r
index 2f660c8372d975b545def2129263b325659f4377..a66a9b05787c788e87aed73e6bac792d0a47dc80 100644 (file)
 # If all goes well, this script should create a file with the \r
 # name "Graphviz.exe" in the relase folder\r
 \r
+# $1 is ROOT of build tree, having the form /c/AAA\r
+# Set PFX to AAA\r
+PFX=${1#/*/}\r
+\r
+# $2 is release tag or ""\r
+if [[ -n "$2" ]]\r
+then\r
+  GraphvizTree=C:/$PFX/local.$2\r
+else\r
+  GraphvizTree=C:/$PFX/local\r
+fi\r
+\r
 PATH=$PATH:/c/progra~1/7-Zip\r
-GraphvizTree=C:/graphviz/local\r
-ReleaseFolder=C:/graphviz/release\r
+ReleaseFolder=C:/$PFX/release\r
 \r
 #7z a -tzip -r $ReleaseFolder/graphviz.zip $GraphvizTree/*\r
 #7z a -tzip -r '-x!self*.exe' $ReleaseFolder/graphvizw.zip $ReleaseFolder/*\r
index a804230e624e2ebeb628efee4e48918b1f96ed35..c68f35722b8d1e2ad9070417fa9324805e08d74e 100644 (file)
@@ -12,8 +12,8 @@ fi
 
 PANGOFLAGS=
 LTDLFLAGS=--disable-ltdl 
-#SHAREFLAGS="--disable-shared --enable-static "
-SHAREFLAGS="--enable-shared --disable-static "
+SHAREFLAGS="--disable-shared --enable-static "
+#SHAREFLAGS="--enable-shared --disable-static "
 # Removed if pixbuf gets fixed
 GDKPIXBUF=--without-gdk-pixbuf
 export CPPFLAGS="-I$GTKDIR/include -I$GTKDIR/include/freetype2" 
@@ -46,5 +46,5 @@ do
 esac
 done
 
-echo configure -C --prefix=$INSTALLROOT $GDKPIXBUF --with-mylibgd --disable-swig --without-x  --without-tclsh --without-ipsepcola --with-codegens $SHAREFLAGS --with-freetype=$GTKDIR/lib $LTDLFLAGS $PANGOFLAGS
-configure -C --prefix=$INSTALLROOT $GDKPIXBUF --with-mylibgd --disable-swig --without-x  --without-tclsh --without-ipsepcola --with-codegens $SHAREFLAGS --with-freetype=$GTKDIR/lib $LTDLFLAGS $PANGOFLAGS
+echo ./configure -C --prefix=$INSTALLROOT $GDKPIXBUF --with-mylibgd --disable-swig --without-x  --without-tclsh --without-ipsepcola --with-codegens $SHAREFLAGS --with-freetype=$GTKDIR/lib $LTDLFLAGS $PANGOFLAGS
+./configure -C --prefix=$INSTALLROOT $GDKPIXBUF --with-mylibgd --disable-swig --without-x  --without-tclsh --without-ipsepcola --with-codegens $SHAREFLAGS --with-freetype=$GTKDIR/lib $LTDLFLAGS $PANGOFLAGS