#\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
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
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
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
> 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
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
cd ..\r
rm -rf graphviz\r
\r
- \r
if [[ $USE_DLL != 0 ]]\r
then\r
mkDLL cdt\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_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
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
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
# 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
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
\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
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
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
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
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
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
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
\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