]> granicus.if.org Git - graphviz/commitdiff
Update Windows build files
authorerg <devnull@localhost>
Fri, 9 Nov 2007 18:08:09 +0000 (18:08 +0000)
committererg <devnull@localhost>
Fri, 9 Nov 2007 18:08:09 +0000 (18:08 +0000)
windows/bin/build.sh
windows/bin/runconf.sh

index 73ff62220f9a9347bf8c145190dceae6f3b99432..42d3042e0cdd815c462718cca51fe8292a6d3b8b 100644 (file)
-# Relies on pscp (/c/Program Files/putty/pscp)
-#
-
-PATH=$PATH:"/c/Program Files/putty:/msdev/vc/bin"
-export ROOT=/c/graphviz
-export INSTALLROOT=$ROOT/local
-GVIZ_HOME=$ROOT/gviz       
-LFILE=$ROOT/build.log    # log file
-SOURCEM=www.graphviz.org
-SOURCE=/var/www/www.graphviz.org/pub/graphviz
-INPKG=graphviz-working.tar.gz
-SOURCEFILE=$SOURCE/CURRENT/$INPKG
-DESTDIR=$SOURCE/CURRENT
-VERSION=$(date +%K)
-USER=${USER:-erg}
-SFX=
-export nativepp=-1
-
-function SetVersion 
-{
-  if [[ -f $GVIZ_HOME/config.h ]]
-  then
-    VERSION=$(grep 'e VERSION' $GVIZ_HOME/config.h)
-    VERSION=${VERSION#*VERSION \"}
-    VERSION=${VERSION%\"*}
-
-    SFX=${VERSION#*.*.}
-    SHORTVERSION=${VERSION%.$SFX}
-  fi
-}
-
-function ErrorEx
-{
-  scp -q $LFILE penguin:/home/$USER/build.log.$VERSION
-  ssh penguin "echo $1 | mail $USER"
-  exit 1
-}  
-
-# Copy file to graphviz machine
-function PutFile
-{
-  echo pscp $1 $SOURCEM:$DESTDIR  >> $LFILE 2>&1
-  pscp -q  $1 $SOURCEM:$DESTDIR  >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to put $1"
-  fi
-}
-
-function Get 
-{
-  echo pscp $SOURCEM:$SOURCEFILE . >> $LFILE
-  pscp -q  $SOURCEM:$SOURCEFILE . >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to get source"
-  fi 
-
-     # Remove any old source directories 
-  rm -rf graphviz-[1-9]*[0-9]
-  echo "unpacking the package" >> $LFILE
-  echo "(gunzip < $INPKG | tar xf - )" >> $LFILE 2>&1
-  (gunzip < $INPKG | tar xf - ) >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-     ErrorEx "failure in unwrapping"
-  fi
-
-  echo rm -rf $GVIZ_HOME >> $LFILE
-  rm -rf $GVIZ_HOME
-  if [[ $? != 0 ]]
-  then
-     ErrorEx "failure in removing old gviz directory"
-  fi
-
-  echo mv graphviz-[1-9]*[0-9] $GVIZ_HOME >> $LFILE
-  mv graphviz-[1-9]*[0-9] $GVIZ_HOME
-  if [[ ! -d $GVIZ_HOME ]]
-  then
-     ErrorEx "could not create $GVIZ_HOME"
-  fi
-  echo "Finish Get" >> $LFILE
-}
-
-function mkDir {
-  if [[ ! -d $1 ]]
-  then 
-    echo mkdir $1 >> $LFILE 2>&1
-    mkdir $1 >> $LFILE 2>&1
-  fi 
-}
-
-THIRD_PARTY_DLL="freetype6.dll libexpat.dll png.dll jpeg.dll libexpatw.dll z.dll zlib1.dll" 
-THIRD_PARTY="freetype.lib libexpat.lib libexpatw.lib expat.lib png.lib jpeg.lib expatw.lib z.lib" 
-
-#Todo : 
-# Do we need freetype[6].def?
-
-# Prepare to build the software.
-#   Initialize target tree
-#   Add any missing software and libraries
-#   Run configure
-#   Make post-configure tweaks to source, Makefiles and config.h
-function Setup 
-{
-  cd $ROOT
-  echo rm -rf $INSTALLROOT >> $LFILE 2>&1
-  rm -rf $INSTALLROOT >> $LFILE 2>&1
-
-  mkDir $INSTALLROOT
-  mkDir $INSTALLROOT/lib
-  mkDir $INSTALLROOT/include
-  mkDir $INSTALLROOT/bin
-  mkDir $INSTALLROOT/doc
-  mkDir $INSTALLROOT/doc/man
-
-  # Overlay third-party libraries
-#  cd $ROOT/third-party/include
-#  cp -r * $INSTALLROOT/include
-#  cp ltdl.h $INSTALLROOT/include
-#  cd ../lib
-#  cp libltdl* $INSTALLROOT/lib
-#  cp $THIRD_PARTY_DLL $INSTALLROOT/bin
-#  cp $THIRD_PARTY $INSTALLROOT/lib
-
-  # Add regex code
-  cd $ROOT/add-on
-  cp regex_win32.c regex_win32.h $GVIZ_HOME/lib/gvc
-
-  # Add ltdlt library if necessary
-  if [[ $USE_DLL == 2 ]]
-  then
-    cp libltdl.a ltdl.lib  $INSTALLROOT/lib
-    cp ltdl.dll  $INSTALLROOT/bin
-  fi
-
-  cd $GVIZ_HOME
-  cp configure xxx
-  sed '/PKG_CONFIG_PATH=/d' xxx > configure
-  echo ../runconf.sh $CONFARG >> $LFILE 2>&1
-  ../runconf.sh $CONFARG > conf.log 2>&1
-  if [[ $? != "0" ]]
-  then
-    ErrorEx "configure failed"
-  fi
-
-  # make source fixes for Windows
-  if [[ ! -f lib/agraph/unistd.h ]]
-  then
-    > lib/agraph/unistd.h  # for scan.c
-    > lib/gd/unistd.h      # for fontconfig.h
-  fi
-  mv ast_common.h xx
-  sed '/#define _typ_ssize_t/d' xx > ast_common.h
-
-  if ! grep DISABLE_THREADS lib/gd/gd.h > /dev/null
-  then
-    cp lib/gd/gd.h xx
-    sed 's/#ifndef WIN32/#define NONDLL 1\n#define DISABLE_THREADS 1\n#ifndef WIN32/' xx > lib/gd/gd.h
-  fi
-  if grep 'define NO_POSTSCRIPT_ALIAS' lib/gd/gdft.c > /dev/null
-  then
-    cp lib/gd/gdft.c xx
-    sed 's/^.*define NO_POSTSCRIPT_ALIAS.*$/#define NO_POSTSCRIPT_ALIAS 1/' xx > lib/gd/gdft.c
-  fi
-
-  if [[ $USE_DLL != 0 ]]
-  then
-    echo "\n#define GVDLL 1" >> config.h
-  fi
-
-  echo "Finish Setup" >> $LFILE
-}
-
-# To build libltdl:
-#   cd libltdl
-#   CC=ncc CFLAGS=-D__WINDOWS__ configure --prefix=/c/graphviz/local
-#   make install
-#   cd $INSTALLROOT/lib
-#   mkDLL ltdl
-
-function mkGvpr
-{
-  FILES="actions.o compile.o gvpr.o gprstate.o parse.o queue.o"
-
-  for f in $FILES
-  do
-    make $f
-    if [[ $? != 0 ]]
-    then
-      return 1
-    fi 
-  done
-
-  echo "ncc -g -L$INSTALLROOT/lib -o gvpr.exe  actions.o compile.o gvpr.o gprstate.o parse.o queue.o ../../lib/ingraphs/.libs/libingraphs_C.a -lexpr -lagraph -lcdt"
-  ncc -g -L$INSTALLROOT/lib -o gvpr.exe  actions.o compile.o gvpr.o gprstate.o parse.o queue.o ../../lib/ingraphs/.libs/libingraphs_C.a -lexpr -lagraph -lcdt
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  cp gvpr.exe $INSTALLROOT/bin
-  return 0
-}
-
-function mkDot
-{
-  make dot.o
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  echo "ncc -g -o dot.exe dot.o  -L$INSTALLROOT/lib -L/c/gtk/2.0/lib -lgvc -lgraph -lpathplan -lexpat -lz -lltdl" 
-  ncc -g -o dot.exe dot.o  -L$INSTALLROOT/lib -L/c/gtk/2.0/lib -lgvc -lgraph -lpathplan -lexpat -lz -lltdl
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  cp dot.exe $INSTALLROOT/bin
-  return 0
-}
-
-function mkTool
-{
-  echo ncc ${1}.o ${3} ../../lib/ingraphs/.libs/libingraphs_C.a -L$INSTALLROOT/lib $2 -lcdt -o ${1}
-  ncc -g ${1}.o ${3} ../../lib/ingraphs/.libs/libingraphs_C.a -L$INSTALLROOT/lib $2 -lcdt -o ${1}
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  cp ${1}.exe $INSTALLROOT/bin
-  return 0
-}
-
-function mkTools
-{
-  TBASE="acyclic bcomps ccomps colxlate cvtgxl dijkstra dot2gxl gc gvcolor gxl2dot nop sccmap tred unflatten gvpack"
-
-  for f in $TBASE
-  do
-    make ${f}.o
-    if [[ $? != 0 ]]
-    then
-      return 1
-    fi 
-  done
-
-  mkTool acyclic -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool bcomps -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool ccomps -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool dijkstra -lagraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool gc -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool gvcolor -lgraph colxlate.o
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool gxl2dot "-L/c/gtk/2.0/lib -lagraph -lgraph -lexpat" "cvtgxl.o dot2gxl.o" 
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool nop -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool sccmap -lagraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool tred -lgraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool unflatten -lagraph
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-  mkTool gvpack "-lgvplugin_neato_layout -lgvc -lgraph"
-  if [[ $? != 0 ]]
-  then
-    return 1
-  fi 
-
-  return 0
-}
-
-function Build 
-{
-  cd $GVIZ_HOME
-
-  cd lib
-  make install >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make lib"
-  fi 
-
-  cd ../plugin
-  make install >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make plugins"
-  fi 
-
-  # Go to install directory and move libraries from graphviz
-  # subdirectory to main lib directory
-  cd $INSTALLROOT/lib/graphviz
-  mv lib*.a ..
-  cd ..
-  rm -rf graphviz
-
-  
-  if [[ $USE_DLL != 0 ]]
-  then
-    mkDLL cdt
-    mkDLL pathplan
-    mkDLL graph -lcdt
-    mkDLL agraph -lcdt
-    cp $GVIZ_HOME/lib/expr/.libs/libexpr_C.a libexpr.a
-    mkDLL expr -lcdt
-    mkDLL gvc "-L/c/gtk/2.0/lib -lpathplan -lgraph -lcdt -lexpat -lz -lltdl" 
-    mkDLL gvplugin_core "-L/c/gtk/2.0/lib -lgvc -lgraph -lcdt -lexpat -lz -lltdl"
-   mkDLL gvplugin_dot_layout "-L/c/gtk/2.0/lib -lgvc -lgraph -lpathplan -lcdt -lexpat -lz -lltdl"
-    mkDLL gvplugin_neato_layout "-L/c/gtk/2.0/lib -lgvc -lpathplan -lgraph -lcdt -lexpat -lz -lltdl"
-    mkDLL gvplugin_gd "-L/c/gtk/2.0/lib -lgvc -lpathplan -lgraph -lcdt -lpng -ljpeg -lfontconfig -lfreetype -lcairo -liconv -lexpat -lz -lltdl" 
-    mkDLL gvplugin_gdk_pixbuf "-L/c/gtk/2.0/lib -lcairo -lgdk_pixbuf-2.0 -lltdl" 
-    mkDLL gvplugin_pango "-L/C/GTK/2.0/lib -lfontconfig  -lfreetype  -ljpeg  -lpng  -lexpat  -lz -lcairo -lpango-1.0 -lpangocairo-1.0 -lgobject-2.0 -lgtk-win32-2.0 -lglib-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0"  
-  fi 
-
-  cd $GVIZ_HOME/cmd
-  cd lefty
-  make install >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make lefty"
-  fi 
-
-  cd ../lneato
-  make install >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make lneato"
-  fi 
-
-  cd ../dotty
-  make install >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make dotty"
-  fi 
-
-  cd ../gvpr
-  mkGvpr >> $LFILE 2>&1 
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make gvpr"
-  fi 
-
-  cd ../tools
-  mkTools >> $LFILE 2>&1 
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make tools"
-  fi 
-
-  cd ../dot
-  mkDot >> $LFILE 2>&1 
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make dot"
-  fi 
-
-#  make install >> $LFILE 2>&1
-#  if [[ $? != 0 ]]
-#  then
-#    ErrorEx "failure to make cmd"
-#  fi 
-
-}
-
-# $1 is the library base name xxx
-# create xxx.lib and xxx.dll, moving the latter to ../bin
-function mkDLL
-{
-  LIB=$1
-  > $LIB.ign
-  echo "nld -L. -G -o $LIB.dll -Bwhole-archive lib$LIB.a -Bno-whole-archive $LIB.ign" $2 >> $LFILE 2>&1
-  nld -L. -G -o $LIB.dll -Bwhole-archive lib$LIB.a -Bno-whole-archive $LIB.ign $2 >> $LFILE 2>&1
-  if [[ $? != 0 ]]
-  then
-    ErrorEx "failure to make dll $1"
-  fi
-  mv $LIB.dll ../bin
-  rm $LIB.ign
-  return 0
-}
-
-GTKDLLS="fontconfig iconv intl jpeg62 libcairo-2 libexpat libfontconfig-1 \
-libfreetype-6 libglib-2.0-0 libgmodule-2.0-0 libgobject-2.0-0 \
-libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangowin32-1.0-0 \
-libpng12 libxml2 zlib1 libgdk_pixbuf-2.0-0"
-
-# Add additional software (DLLs, manuals, examples, etc.) to tree
-function Install
-{
-# Add 3rd party libraries
-  echo "Copying 3rd party libraries" >> $LFILE 2>&1   
-  cd /c/gtk/2.0/bin
-  for l in $GTKDLLS
-  do
-    cp $l.dll $INSTALLROOT/bin
-  done
-  cp -r /c/gtk/2.0/lib/pango $INSTALLROOT/lib
-  cp -r /c/gtk/2.0/etc $INSTALLROOT
-
-  # Add extra software
-  cd $ROOT/add-on
-  cp Uninstall.exe $INSTALLROOT
-  cp fonts.conf $INSTALLROOT/etc/fonts
-  cp props.txt GVedit.exe GVedit.html GVUI.exe $INSTALLROOT/bin
-
-# Create "soft" links. At present, hard links appear necessary for
-# GVedit and GVUI. It is hoped this will change with the new GVUI.
-  echo "Create soft links" >> $LFILE 2>&1   
-  cd $INSTALLROOT/bin
-  cp dot.exe neato.exe
-  cp dot.exe twopi.exe
-  cp dot.exe circo.exe
-  cp dot.exe fdp.exe
-  cp gxl2dot.exe dot2gxl.exe
-
-  if [[ $USE_DLL == 2 ]]
-  then
-    ./dot -c >> $LFILE 2>&1   
-    if [[ $? != 0 ]]
-    then
-      ErrorEx "failure to initialize dot"
-    fi 
-  fi
-  
-  cd $ROOT
-  echo "Install extra files" >> $LFILE 2>&1   
-  cp -r $GVIZ_HOME/graphs $INSTALLROOT
-  cp -r $GVIZ_HOME/dot.demo $INSTALLROOT
-  cp -r $GVIZ_HOME/contrib $INSTALLROOT
-  cp -r $GVIZ_HOME/doc/*.pdf $INSTALLROOT/doc 
-
-  echo "Install man pages" >> $LFILE 2>&1   
-  cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man
-  cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/neato.pdf
-  cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/twopi.pdf
-  cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/circo.pdf
-  cp $GVIZ_HOME/cmd/dot/dot.pdf $INSTALLROOT/doc/man/fdp.pdf
-  cp $GVIZ_HOME/cmd/tools/*.pdf $INSTALLROOT/doc/man
-  cp $GVIZ_HOME/cmd/tools/gxl2dot.pdf $INSTALLROOT/doc/man/dot2gxl.pdf
-
-  if [[ -d $INSTALLROOT/share ]]
-  then
-    echo "Install share software" >> $LFILE 2>&1   
-    cd $INSTALLROOT/share/graphviz
-    mv lefty ../../lib
-
-    cd ../..
-    rm -rf share
-  fi
-
-  if [[ -d $INSTALLROOT/include/graphviz ]]
-  then
-    echo "Install include/graphviz files" >> $LFILE 2>&1   
-    cd $INSTALLROOT
-    mv include/graphviz ginclude
-    rm -rf include
-    mv ginclude include
-  fi
-
-  if [[ $USE_DLL == 0 ]]
-  then
-    cd $INSTALLROOT/bin
-    if [[ -f dot_static.exe ]]
-    then
-      mv dot_static.exe dot.exe
-    fi
-    cd ..
-  fi
-  
-    # Remove makefiles
-  cd $INSTALLROOT
-  rm -f $(find graphs -name Makefile* -print)
-  rm -f $(find contrib -name Makefile -print)
-  rm -f $(find contrib -name Makefile.in -print)
-
-}
-
-function PackageTar
-{
-  cd $ROOT
-
-    # Create tgz package
-  TGZFILE=graphviz-win-${VERSION}.bin.tar.gz
-  echo "creating tgz local" >> $LFILE
-  pax -w -x tar -s/local/graphviz-${VERSION}/ local | gzip > $TGZFILE
-  if [[ -f $TGZFILE ]]
-  then
-    echo "SUCCESS : tgz file created" >> $LFILE
-    echo "uploading the tgz file $TGZFILE" >> $LFILE
-    chmod 644 $TGZFILE
-    PutFile $TGZFILE
-#    rm $TGZFILE
-  else
-    echo "FAILED : could not create tgz file" >> $LFILE
-    ErrorEx "windows install failure"
-  fi
-  cd ..
-}
-  
-function Package
-{
-  cd $ROOT
-
-  # new package
-  rm -rf release
-  mkDir release
-  cd add-on
-  cp Setup.exe Selfstbv.exe $ROOT/release
-  sed "s/XXX/$SHORTVERSION/" Graphviz.ini > $ROOT/release/Graphviz.ini
-  cd $ROOT
-  ./gsetup.sh >> $LFILE 2>&1
-  # now copy it to the webserver
-  UPLOADFILE=graphviz-${VERSION}.exe
-  PACKAGEDFILE=$ROOT/release/graphvizw.exe
-  
-  if [[ -f $PACKAGEDFILE ]]
-  then
-    echo "SUCCESS : installation package created" >> $LFILE
-    mv $PACKAGEDFILE $UPLOADFILE    # attach version info
-  
-    echo "uploading the package file $UPLOADFILE" >> $LFILE
-    chmod 755 $UPLOADFILE
-    PutFile $UPLOADFILE
-  else
-    echo "FAILED : could not create installation package" >> $LFILE
-      ErrorEx "windows install failure"
-  fi
-  
-}
-
-function PutLog 
-{
-  LOG=graphviz-windows-buildlog-${VERSION}.txt
-  echo "uploading the log $LOG file" >> $LFILE
-  cp $LFILE $LOG
-  PutFile $LOG
-  rm -f $LOG
-}
-
-SETOPTS=0
-GET=0        # get from cvs machine and create tree
-SETUP=0      # run configure and modify source
-BUILD=0      # build all of the software
-INSTALL=0    # install the software locally
-PACKAGE=0    # make main package and copy all software to cvs machine
-USE_DLL=2
-CONFARG=-PL
-
-Usage='build [-CDLGSBIP] [-R<relno>] \n
- -C : core package \n
- -D : build DLLs \n
- -L : build using plugins \n
- -G : get software \n
- -S : setup software \n
- -B : build \n
- -I : install in local tree \n
- -P : create package and ship'
-
-while getopts :CDLGSBIPR: c
-do
-  case $c in
-  D )       # build with dlls
-    CONFARG=-P
-    USE_DLL=1
-#    SFX='.dy'
-    ;;
-  L )       # use ltdl
-    USE_DLL=2
-#    SFX='.dy'
-    CONFARG=-PL
-    ;;
-  C )       # no pango/cairo/fontconfig
-    CONFARG=
-    ;;
-  G )       # get
-    SETOPTS=1
-    GET=1
-    ;;
-  S )       # setup
-    SETOPTS=1
-    SETUP=1
-    ;;
-  B )       # build
-    SETOPTS=1
-    BUILD=1
-    ;;
-  I )       # install
-    SETOPTS=1
-    INSTALL=1
-    ;;
-  P )       # package
-    SETOPTS=1
-    PACKAGE=1
-    ;;
-  R )       # build official release
-    RELEASE=$OPTARG
-    INPKG=graphviz-${RELEASE}.tar.gz
-    SOURCEFILE=$SOURCE/ARCHIVE/$INPKG
-    DESTDIR=$SOURCE/ARCHIVE
-    ;;
-  :)
-    echo $OPTARG requires a value
-    exit 2
-    ;;
-  \? )
-    if [[ "$OPTARG" == '?' ]]
-    then
-      echo $Usage
-      exit 0
-    else
-      echo "build: unknown flag $OPTARG - ignored"
-    fi
-    ;;
-  esac
-done
-
-shift $((OPTIND-1))
-
-LFILE=$ROOT/build.log${SFX}
-GVIZ_HOME=$ROOT/gviz${SFX}
-INSTALLROOT=$ROOT/local${SFX}
-
-if [[ $# > 0 ]]
-then
-  LFILE=$1
-fi
-
-
-# If no passes picked, do all
-if [[ $SETOPTS == 0 ]]
-then
-  GET=1
-  SETUP=1
-  BUILD=1
-  INSTALL=1
-  PACKAGE=1
-fi
-
-cd $ROOT
-rm -f $LFILE
-
-if [[ $GET == 1 ]]
-then
-  Get
-fi
-if [[ $SETUP == 1 ]]
-then
-  Setup
-fi
-SetVersion
-if [[ $BUILD == 1 ]]
-then
-  Build
-fi
-if [[ $INSTALL == 1 ]]
-then
-  Install
-fi
-if [[ $PACKAGE == 1 ]]
-then
-  Package
-  PackageTar
-#  PutLog
-fi
-
-exit 0
-
+# Relies on pscp (/c/Program Files/putty/pscp)\r
+#\r
+\r
+PATH=$PATH:"/c/Program Files/putty:/msdev/vc/bin"\r
+export ROOT=/c/graphviz\r
+export INSTALLROOT=$ROOT/local\r
+GVIZ_HOME=$ROOT/gviz       \r
+LFILE=$ROOT/build.log    # log file\r
+SOURCEM=www.graphviz.org\r
+SOURCE=/var/www/www.graphviz.org/pub/graphviz\r
+INPKG=graphviz-working.tar.gz\r
+SOURCEFILE=$SOURCE/CURRENT/$INPKG\r
+DESTDIR=$SOURCE/CURRENT\r
+VERSION=$(date +%K)\r
+export GTKDIR=/c/gtk\r
+typeset -l USER=${USER:-erg}\r
+WINDBG="erg"\r
+#WINDBG="erg arif ellson"\r
+SFX=\r
+export nativepp=-1\r
+\r
+function SetVersion \r
+{\r
+  if [[ -f $GVIZ_HOME/config.h ]]\r
+  then\r
+    VERSION=$(grep 'e VERSION' $GVIZ_HOME/config.h)\r
+    VERSION=${VERSION#*VERSION \"}\r
+    VERSION=${VERSION%\"*}\r
+\r
+    SFX=${VERSION#*.*.}\r
+    SHORTVERSION=${VERSION%.$SFX}\r
+  fi\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
+  exit 1\r
+}  \r
+\r
+# Copy file to graphviz machine\r
+function PutFile\r
+{\r
+  echo scp $1 $SOURCEM:$DESTDIR  >> $LFILE 2>&1\r
+  scp -q  $1 $SOURCEM:$DESTDIR  >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to put $1"\r
+  fi\r
+}\r
+\r
+function Get \r
+{\r
+  echo scp $SOURCEM:$SOURCEFILE . >> $LFILE\r
+  scp -q  $SOURCEM:$SOURCEFILE . >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to get source"\r
+  fi \r
+\r
+     # Remove any old source directories \r
+  rm -rf graphviz-[1-9]*[0-9]\r
+  echo "unpacking the package" >> $LFILE\r
+  echo "(gunzip < $INPKG | tar xf - )" >> $LFILE 2>&1\r
+  (gunzip < $INPKG | tar xf - ) >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+     ErrorEx "failure in unwrapping"\r
+  fi\r
+\r
+  echo rm -rf $GVIZ_HOME >> $LFILE\r
+  rm -rf $GVIZ_HOME\r
+  if [[ $? != 0 ]]\r
+  then\r
+     ErrorEx "failure in removing old gviz directory"\r
+  fi\r
+\r
+  echo mv graphviz-[1-9]*[0-9] $GVIZ_HOME >> $LFILE\r
+  mv graphviz-[1-9]*[0-9] $GVIZ_HOME\r
+  if [[ ! -d $GVIZ_HOME ]]\r
+  then\r
+     ErrorEx "could not create $GVIZ_HOME"\r
+  fi\r
+  echo "Finish Get" >> $LFILE\r
+}\r
+\r
+function mkDir {\r
+  if [[ ! -d $1 ]]\r
+  then \r
+    echo mkdir $1 >> $LFILE 2>&1\r
+    mkdir $1 >> $LFILE 2>&1\r
+  fi \r
+}\r
+\r
+THIRD_PARTY_DLL="freetype6.dll libexpat.dll png.dll jpeg.dll libexpatw.dll z.dll zlib1.dll" \r
+THIRD_PARTY="freetype.lib libexpat.lib libexpatw.lib expat.lib png.lib jpeg.lib expatw.lib z.lib" \r
+\r
+#Todo : \r
+# Do we need freetype[6].def?\r
+\r
+# Prepare to build the software.\r
+#   Initialize target tree\r
+#   Add any missing software and libraries\r
+#   Run configure\r
+#   Make post-configure tweaks to source, Makefiles and config.h\r
+function Setup \r
+{\r
+  cd $ROOT\r
+  echo rm -rf $INSTALLROOT >> $LFILE 2>&1\r
+  rm -rf $INSTALLROOT >> $LFILE 2>&1\r
+\r
+  mkDir $INSTALLROOT\r
+  mkDir $INSTALLROOT/lib\r
+  mkDir $INSTALLROOT/include\r
+  mkDir $INSTALLROOT/bin\r
+  mkDir $INSTALLROOT/doc\r
+  mkDir $INSTALLROOT/doc/man\r
+\r
+  # Overlay third-party libraries\r
+#  cd $ROOT/third-party/include\r
+#  cp -r * $INSTALLROOT/include\r
+#  cp ltdl.h $INSTALLROOT/include\r
+#  cd ../lib\r
+#  cp libltdl* $INSTALLROOT/lib\r
+#  cp $THIRD_PARTY_DLL $INSTALLROOT/bin\r
+#  cp $THIRD_PARTY $INSTALLROOT/lib\r
+\r
+  # Add regex code\r
+  cd $ROOT/add-on\r
+  cp regex_win32.c regex_win32.h $GVIZ_HOME/lib/gvc\r
+\r
+  # Add ltdlt library if necessary\r
+  if [[ $USE_DLL == 2 ]]\r
+  then\r
+    cp libltdl.a ltdl.lib  $INSTALLROOT/lib\r
+    cp ltdl.dll  $INSTALLROOT/bin\r
+  fi\r
+\r
+  cd $GVIZ_HOME\r
+  cp configure xxx\r
+  sed '/PKG_CONFIG_PATH=/d' xxx > configure\r
+  echo ../runconf.sh $CONFARG >> $LFILE 2>&1\r
+  ../runconf.sh $CONFARG > conf.log 2>&1\r
+  if [[ $? != "0" ]]\r
+  then\r
+    ErrorEx "configure failed"\r
+  fi\r
+  chmod 664 config.h\r
+\r
+  # make source fixes for Windows\r
+  if [[ ! -f lib/agraph/unistd.h ]]\r
+  then\r
+    > lib/agraph/unistd.h  # for scan.c\r
+    > lib/cgraph/unistd.h  # for scan.c\r
+    > 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
+\r
+  if ! grep DISABLE_THREADS lib/gd/gd.h > /dev/null\r
+  then\r
+    cp lib/gd/gd.h xx\r
+    sed 's/#ifndef WIN32/#define NONDLL 1\n#define DISABLE_THREADS 1\n#ifndef WIN32/' xx > lib/gd/gd.h\r
+  fi\r
+  if grep 'define NO_POSTSCRIPT_ALIAS' lib/gd/gdft.c > /dev/null\r
+  then\r
+    cp lib/gd/gdft.c xx\r
+    sed 's/^.*define NO_POSTSCRIPT_ALIAS.*$/#define NO_POSTSCRIPT_ALIAS 1/' xx > lib/gd/gdft.c\r
+  fi\r
+\r
+  if [[ $USE_DLL != 0 ]]\r
+  then\r
+    echo "\n#define GVDLL 1" >> config.h\r
+  fi\r
+\r
+  echo "Finish Setup" >> $LFILE\r
+}\r
+\r
+# To build libltdl:\r
+#   cd libltdl\r
+#   CC=ncc CFLAGS=-D__WINDOWS__ configure --prefix=/c/graphviz/local\r
+#   make install\r
+#   cd $INSTALLROOT/lib\r
+#   mkDLL ltdl\r
+\r
+function mkGvpr\r
+{\r
+  FILES="actions.o compile.o gvpr.o gprstate.o parse.o queue.o"\r
+\r
+  for f in $FILES\r
+  do\r
+    make $f\r
+    if [[ $? != 0 ]]\r
+    then\r
+      return 1\r
+    fi \r
+  done\r
+\r
+  echo "ncc -g -L$INSTALLROOT/lib -o gvpr.exe  actions.o compile.o gvpr.o gprstate.o parse.o queue.o ../../lib/ingraphs/.libs/libingraphs_C.a -lexpr -lagraph -lcdt"\r
+  ncc -g -L$INSTALLROOT/lib -o gvpr.exe  actions.o compile.o gvpr.o gprstate.o parse.o queue.o ../../lib/ingraphs/.libs/libingraphs_C.a -lexpr -lagraph -lcdt\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  cp gvpr.exe $INSTALLROOT/bin\r
+  return 0\r
+}\r
+\r
+function mkDot\r
+{\r
+  make dot.o\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  echo "ncc -g -o dot.exe dot.o  -L$INSTALLROOT/lib -L$GTKDIR/lib -lgvc -lgraph -lpathplan -lexpat -lz -lltdl" \r
+  ncc -g -o dot.exe dot.o  -L$INSTALLROOT/lib -L$GTKDIR/lib -lgvc -lgraph -lpathplan -lexpat -lz -lltdl\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  cp dot.exe $INSTALLROOT/bin\r
+  return 0\r
+}\r
+\r
+function mkTool\r
+{\r
+  echo ncc ${1}.o ${3} ../../lib/ingraphs/.libs/libingraphs_C.a -L$INSTALLROOT/lib $2 -lcdt -o ${1}\r
+  ncc -g ${1}.o ${3} ../../lib/ingraphs/.libs/libingraphs_C.a -L$INSTALLROOT/lib $2 -lcdt -o ${1}\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  cp ${1}.exe $INSTALLROOT/bin\r
+  return 0\r
+}\r
+\r
+function mkTools\r
+{\r
+  TBASE="acyclic bcomps ccomps colxlate cvtgxl dijkstra dot2gxl gc gvcolor gxl2dot nop sccmap tred unflatten gvpack"\r
+\r
+  for f in $TBASE\r
+  do\r
+    make ${f}.o\r
+    if [[ $? != 0 ]]\r
+    then\r
+      return 1\r
+    fi \r
+  done\r
+\r
+  mkTool acyclic -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool bcomps -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool ccomps -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool dijkstra -lagraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool gc -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool gvcolor -lgraph colxlate.o\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool gxl2dot "-L$GTKDIR/lib -lagraph -lgraph -lexpat" "cvtgxl.o dot2gxl.o" \r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool nop -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool sccmap -lagraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool tred -lgraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool unflatten -lagraph\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+  mkTool gvpack "-lgvplugin_neato_layout -lgvc -lgraph"\r
+  if [[ $? != 0 ]]\r
+  then\r
+    return 1\r
+  fi \r
+\r
+  return 0\r
+}\r
+\r
+function Build \r
+{\r
+  cd $GVIZ_HOME\r
+\r
+  cd lib\r
+  make install >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make lib"\r
+  fi \r
+\r
+  cd ../plugin\r
+  make install >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make plugins"\r
+  fi \r
+\r
+  # Go to install directory and move libraries from graphviz\r
+  # subdirectory to main lib directory\r
+  cd $INSTALLROOT/lib/graphviz\r
+  mv lib*.a ..\r
+  cd ..\r
+  rm -rf graphviz\r
+\r
+  \r
+  if [[ $USE_DLL != 0 ]]\r
+  then\r
+    mkDLL cdt\r
+    mkDLL pathplan\r
+    mkDLL graph -lcdt\r
+    mkDLL agraph -lcdt\r
+    cp $GVIZ_HOME/lib/expr/.libs/libexpr_C.a libexpr.a\r
+    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_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
+    mkDLL gvplugin_pango "-L$GTKDIR/lib -lgvc -lfontconfig  -lfreetype  -ljpeg  -lpng  -lexpat  -lz -lcairo -lpango-1.0 -lpangocairo-1.0 -lgobject-2.0 -lgtk-win32-2.0 -lglib-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0"  \r
+  fi \r
+\r
+  cd $GVIZ_HOME/cmd\r
+  cd lefty\r
+  make install >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make lefty"\r
+  fi \r
+\r
+  cd ../lneato\r
+  make install >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make lneato"\r
+  fi \r
+\r
+  cd ../dotty\r
+  make install >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make dotty"\r
+  fi \r
+\r
+  cd ../gvpr\r
+  mkGvpr >> $LFILE 2>&1 \r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make gvpr"\r
+  fi \r
+\r
+  cd ../tools\r
+  mkTools >> $LFILE 2>&1 \r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make tools"\r
+  fi \r
+\r
+  cd ../dot\r
+  mkDot >> $LFILE 2>&1 \r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make dot"\r
+  fi \r
+\r
+#  make install >> $LFILE 2>&1\r
+#  if [[ $? != 0 ]]\r
+#  then\r
+#    ErrorEx "failure to make cmd"\r
+#  fi \r
+\r
+}\r
+\r
+# $1 is the library base name xxx\r
+# create xxx.lib and xxx.dll, moving the latter to ../bin\r
+function mkDLL\r
+{\r
+  LIB=$1\r
+  > $LIB.ign\r
+  echo "nld -L. -G -o $LIB.dll -Bwhole-archive lib$LIB.a -Bno-whole-archive $LIB.ign" $2 >> $LFILE 2>&1\r
+  nld -L. -G -o $LIB.dll -Bwhole-archive lib$LIB.a -Bno-whole-archive $LIB.ign $2 >> $LFILE 2>&1\r
+  if [[ $? != 0 ]]\r
+  then\r
+    ErrorEx "failure to make dll $1"\r
+  fi\r
+  mv $LIB.dll ../bin\r
+  rm $LIB.ign\r
+  return 0\r
+}\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
+libpng12 libxml2 zlib1 libgdk_pixbuf-2.0-0"\r
+\r
+# 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
+  cd $GTKDIR/bin\r
+  for l in $GTKDLLS\r
+  do\r
+    cp $l.dll $INSTALLROOT/bin\r
+  done\r
+  cp -r $GTKDIR/lib/pango $INSTALLROOT/lib\r
+  cp -r $GTKDIR/etc $INSTALLROOT\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
+\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
+  cd $INSTALLROOT/bin\r
+  cp dot.exe neato.exe\r
+  cp dot.exe twopi.exe\r
+  cp dot.exe circo.exe\r
+  cp dot.exe fdp.exe\r
+  cp gxl2dot.exe dot2gxl.exe\r
+\r
+  if [[ $USE_DLL == 2 ]]\r
+  then\r
+    ./dot -c >> $LFILE 2>&1   \r
+    if [[ $? != 0 ]]\r
+    then\r
+      ErrorEx "failure to initialize dot"\r
+    fi \r
+  fi\r
+  \r
+  cd $ROOT\r
+  echo "Install extra files" >> $LFILE 2>&1   \r
+  cp -r $GVIZ_HOME/graphs $INSTALLROOT\r
+  cp -r $GVIZ_HOME/dot.demo $INSTALLROOT\r
+  cp -r $GVIZ_HOME/contrib $INSTALLROOT\r
+  cp -r $GVIZ_HOME/doc/*.pdf $INSTALLROOT/doc \r
+\r
+  echo "Install man pages" >> $LFILE 2>&1   \r
+  cp $GVIZ_HOME/cmd/dot/dot.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
+\r
+  if [[ -d $INSTALLROOT/share ]]\r
+  then\r
+    echo "Install share software" >> $LFILE 2>&1   \r
+    cd $INSTALLROOT/share/graphviz\r
+    mv lefty ../../lib\r
+\r
+    cd ../..\r
+    rm -rf share\r
+  fi\r
+\r
+  if [[ -d $INSTALLROOT/include/graphviz ]]\r
+  then\r
+    echo "Install include/graphviz files" >> $LFILE 2>&1   \r
+    cd $INSTALLROOT\r
+    mv include/graphviz ginclude\r
+    rm -rf include\r
+    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
+}\r
+\r
+function PackageTar\r
+{\r
+  cd $ROOT\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
+  if [[ -f $TGZFILE ]]\r
+  then\r
+    echo "SUCCESS : tgz file created" >> $LFILE\r
+    echo "uploading the tgz file $TGZFILE" >> $LFILE\r
+    chmod 644 $TGZFILE\r
+    PutFile $TGZFILE\r
+#    rm $TGZFILE\r
+  else\r
+    echo "FAILED : could not create tgz file" >> $LFILE\r
+    ErrorEx "windows install failure"\r
+  fi\r
+  cd ..\r
+}\r
+  \r
+function Package\r
+{\r
+  cd $ROOT\r
+\r
+  # new package\r
+  rm -rf release\r
+  mkDir release\r
+  cd add-on\r
+  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
\r
+  # now copy it to the webserver\r
+  UPLOADFILE=graphviz-${VERSION}.exe\r
+  PACKAGEDFILE=$ROOT/release/graphvizw.exe\r
+  \r
+  if [[ -f $PACKAGEDFILE ]]\r
+  then\r
+    echo "SUCCESS : installation package created" >> $LFILE\r
+    mv $PACKAGEDFILE $UPLOADFILE    # attach version info\r
+  \r
+    echo "uploading the package file $UPLOADFILE" >> $LFILE\r
+    chmod 755 $UPLOADFILE\r
+    PutFile $UPLOADFILE\r
+  else\r
+    echo "FAILED : could not create installation package" >> $LFILE\r
+      ErrorEx "windows install failure"\r
+  fi\r
+  \r
+}\r
+\r
+function PutLog \r
+{\r
+  LOG=graphviz-windows-buildlog-${VERSION}.txt\r
+  echo "uploading the log $LOG file" >> $LFILE\r
+  cp $LFILE $LOG\r
+  PutFile $LOG\r
+  rm -f $LOG\r
+}\r
+\r
+SETOPTS=0\r
+GET=0        # get from cvs machine and create tree\r
+SETUP=0      # run configure and modify source\r
+BUILD=0      # build all of the software\r
+INSTALL=0    # install the software locally\r
+PACKAGE=0    # make main package and copy all software to cvs machine\r
+USE_DLL=2\r
+CONFARG=-PL\r
+\r
+Usage='build [-CDLGSBIP] [-R<relno>] \n\r
+ -C : core package \n\r
+ -D : build DLLs \n\r
+ -L : build using plugins \n\r
+ -G : get software \n\r
+ -S : setup software \n\r
+ -B : build \n\r
+ -I : install in local tree \n\r
+ -P : create package and ship'\r
+\r
+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
+    ;;\r
+  L )       # use ltdl\r
+    USE_DLL=2\r
+    CONFARG=-PL\r
+    ;;\r
+  C )       # no pango/cairo/fontconfig\r
+    CONFARG=\r
+    ;;\r
+  G )       # get\r
+    SETOPTS=1\r
+    GET=1\r
+    ;;\r
+  S )       # setup\r
+    SETOPTS=1\r
+    SETUP=1\r
+    ;;\r
+  B )       # build\r
+    SETOPTS=1\r
+    BUILD=1\r
+    ;;\r
+  I )       # install\r
+    SETOPTS=1\r
+    INSTALL=1\r
+    ;;\r
+  P )       # package\r
+    SETOPTS=1\r
+    PACKAGE=1\r
+    ;;\r
+  R )       # build official release\r
+    RELEASE=$OPTARG\r
+    INPKG=graphviz-${RELEASE}.tar.gz\r
+    SOURCEFILE=$SOURCE/ARCHIVE/$INPKG\r
+    DESTDIR=$SOURCE/ARCHIVE\r
+    ;;\r
+  :)\r
+    echo $OPTARG requires a value\r
+    exit 2\r
+    ;;\r
+  \? )\r
+    if [[ "$OPTARG" == '?' ]]\r
+    then\r
+      echo $Usage\r
+      exit 0\r
+    else\r
+      echo "build: unknown flag $OPTARG - ignored"\r
+    fi\r
+    ;;\r
+  esac\r
+done\r
+\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
+  LFILE=$1\r
+fi\r
+\r
+\r
+# If no passes picked, do all\r
+if [[ $SETOPTS == 0 ]]\r
+then\r
+  GET=1\r
+  SETUP=1\r
+  BUILD=1\r
+  INSTALL=1\r
+  PACKAGE=1\r
+fi\r
+\r
+cd $ROOT\r
+rm -f $LFILE\r
+\r
+if [[ $GET == 1 ]]\r
+then\r
+  Get\r
+fi\r
+if [[ $SETUP == 1 ]]\r
+then\r
+  Setup\r
+fi\r
+SetVersion\r
+if [[ $BUILD == 1 ]]\r
+then\r
+  Build\r
+fi\r
+if [[ $INSTALL == 1 ]]\r
+then\r
+  Install\r
+fi\r
+if [[ $PACKAGE == 1 ]]\r
+then\r
+  Package\r
+  PackageTar\r
+#  PutLog\r
+fi\r
+\r
+exit 0\r
+\r
index 07c7e4deec42c1b3521216dafd821419f18546bd..a804230e624e2ebeb628efee4e48918b1f96ed35 100644 (file)
@@ -1,4 +1,9 @@
 export nativepp=-1
+if [[ -z "$GTKDIR" ]]
+then
+  GTKDIR is undefined in runconf script
+  exit 1
+fi
 if [[ -z "$INSTALLROOT" ]]
 then
   INSTALLROOT is undefined in runconf script
@@ -9,25 +14,30 @@ PANGOFLAGS=
 LTDLFLAGS=--disable-ltdl 
 #SHAREFLAGS="--disable-shared --enable-static "
 SHAREFLAGS="--enable-shared --disable-static "
-export CPPFLAGS='-g -I/c/gtk/2.0/include -I/c/gtk/2.0/include/freetype2' 
-export LDFLAGS='-g -L/c/gtk/2.0/lib'
+# Removed if pixbuf gets fixed
+GDKPIXBUF=--without-gdk-pixbuf
+export CPPFLAGS="-I$GTKDIR/include -I$GTKDIR/include/freetype2" 
+export LDFLAGS="-L$GTKDIR/lib"
 export CC=ncc 
 
-while getopts :PL c
+while getopts :PLX c
 do
   case $c in
+   X )
+    GDKPIXBUF=
+    ;;
    P )
-    export FONTCONFIG_CFLAGS=-I/C/gtk/2.0/include/ 
-    export FONTCONFIG_LIBS=-L/C/gtk/2.0/lib 
-    export FREETYPE2_CFLAGS=-IC:/gtk/2.0/include/freetype2
-    export FREETYPE2_LIBS="-LC:/gtk/2.0/lib -lfreetype -lz"
-    export PKG_CONFIG=/c/gtk/2.0/bin/pkg-config 
-    export PKG_CONFIG_PATH='C:/gtk/2.0/lib/pkgconfig' 
-    export PANGOCAIRO_CFLAGS="-I/C/GTK/2.0/include/cairo -I/C/GTK/2.0/include/pango-1.0 -I/C/GTK/2.0/include/glib-2.0 -I/C/GTK/2.0/LIB/GLIB-2.0/INCLUDE"
-    export PANGOCAIRO_LIBS="-L/C/GTK/2.0/lib -lfontconfig  -lfreetype  -ljpeg  -lpng  -lexpat  -lz -lcairo -lpango-1.0 -lpangocairo-1.0 -lgobject-2.0 -lgtk-win32-2.0 -lglib-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0"  
-    export GTK_CFLAGS="-I/C/GTK/2.0/include -I/C/GTK/2.0/INCLUDE/GTK-2.0 -I/C/GTK/2.0/INCLUDE/CAIRO -I/C/GTK/2.0/include/glib-2.0 -I/C/GTK/2.0/LIB/GLIB-2.0/INCLUDE -I/C/GTK/2.0/LIB/GLIB-2.0/INCLUDE -I/C/GTK/2.0/INCLUDE/PANGO-1.0 -I/C/GTK/2.0/LIB/GTK-2.0/INCLUDE -I/C/GTK/2.0/INCLUDE/ATK-1.0"
-    export GTK_LIBS=-L/C/GTK/2.0/lib
-    PANGOFLAGS="--with-fontconfig --with-fontconfiglibdir=/C/gtk/2.0/lib --with-fontconfigincludedir=/C/gtk/2.0/include/ --with-pangocairo"
+    export FONTCONFIG_CFLAGS=-I$GTKDIR/include/ 
+    export FONTCONFIG_LIBS=-L$GTKDIR/lib 
+    export FREETYPE2_CFLAGS=-IC:/gtk/include/freetype2
+    export FREETYPE2_LIBS="-LC:/gtk/lib -lfreetype -lz"
+    export PKG_CONFIG=$GTKDIR/bin/pkg-config 
+    export PKG_CONFIG_PATH='C:/gtk/lib/pkgconfig' 
+    export PANGOCAIRO_CFLAGS="-I$GTKDIR/include/cairo -I$GTKDIR/include/pango-1.0 -I$GTKDIR/include/glib-2.0 -I$GTKDIR/LIB/GLIB-2.0/INCLUDE"
+    export PANGOCAIRO_LIBS="-L$GTKDIR/lib -lfontconfig  -lfreetype  -ljpeg  -lpng  -lexpat  -lz -lcairo -lpango-1.0 -lpangocairo-1.0 -lgobject-2.0 -lgtk-win32-2.0 -lglib-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0"  
+    export GTK_CFLAGS="-I$GTKDIR/include -I$GTKDIR/INCLUDE/GTK-2.0 -I$GTKDIR/INCLUDE/CAIRO -I$GTKDIR/include/glib-2.0 -I$GTKDIR/LIB/GLIB-2.0/INCLUDE -I$GTKDIR/LIB/GLIB-2.0/INCLUDE -I$GTKDIR/INCLUDE/PANGO-1.0 -I$GTKDIR/LIB/GTK-2.0/INCLUDE -I$GTKDIR/INCLUDE/ATK-1.0"
+    export GTK_LIBS=-L$GTKDIR/lib
+    PANGOFLAGS="--with-fontconfig --with-fontconfiglibdir=/C/gtk/2.0/lib --with-fontconfigincludedir=$GTKDIR/include/ --with-pangocairo"
     ;;
    L )
     LTDLFLAGS="--enable-ltdl" 
@@ -36,5 +46,5 @@ do
 esac
 done
 
-echo configure -C --prefix=$INSTALLROOT --without-gdk-pixbuf --with-mylibgd --disable-swig --without-x  --without-tclsh --with-codegens $SHAREFLAGS --with-freetype=/c/gtk/2.0/lib $LTDLFLAGS $PANGOFLAGS
-configure -C --prefix=$INSTALLROOT --without-gdk-pixbuf --with-mylibgd --disable-swig --without-x  --without-tclsh --with-codegens $SHAREFLAGS --with-freetype=/c/gtk/2.0/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