# $Id: buildrel,v 1.49 2004/08/19 16:52:16 gareth Exp $ # # Build the distribution package. # # A set of commands intended to be cut and pasted into a csh window. setenv D `pwd` # Update the release number. cd $D/dist vi RELEASE setenv VERSION `sh -c '. RELEASE; echo $DBXML_VERSION'` echo "Version: $VERSION" # Make sure the source tree is up-to-date, generate new support files, # commit anything that's changed. cd $D && cvs -z3 -q update cd $D/dist && sh s_all cd $D && cvs -z3 -q commit # Copy a development tree into a release tree. setenv R /var/tmp/dbxml-$VERSION rm -rf $R && mkdir -p $R cd $D rm -f xaa xab xac cvs -z3 -q status | grep "Repository revision" | sed -e 's;.*CVSROOT/xml/;;' -e 's;.*CVSROOT/;;' -e 's;,v$;;' | split -l 1000 rm -f /tmp/tmp.tar tar cf /tmp/tmp.tar `cat xaa` tar rf /tmp/tmp.tar `cat xab` tar rf /tmp/tmp.tar `cat xac` cd $R tar xpf /tmp/tmp.tar rm /tmp/tmp.tar # Build the documentation # Need to use a particular release of DB as doc source. Should # not build against what's in the docs_src cvs head, as it may be # too new. Change DB_DIR to reflect the correct, installed DB # version. NOTE: using an absolute path here will cause # problems building javadoc. It expects a path relative to docs_src. setenv DB_DIR ../xml/lib/db-4.2.52 cd $D/../docs_src rm -rf $R/docs rm -rf $D/docs cp -r $DB_DIR/docs $D rm -rf $D/docs/api_java # need to make some files writable for the build cd $D/docs && find . -type f | xargs chmod 666 # NOTE: this assumes that $D is ../xml from cwd cd $D/../docs_src sh build ../xml $DB_DIR | sed '/.html$/d' sh build ../xml $DB_DIR javadoc cp -r $D/docs $R # ACQUIRE ROOT PRIVILEGES cd $R && find . -type d | xargs chmod 775 cd $R && find . -type f | xargs chmod 444 cd $R && chmod 664 build_win32/*.dsp cd $R/dist && sh s_perm chown -R 100.100 $R # DISCARD ROOT PRIVILEGES # Create the tar archive release. # Create the zip source release. setenv T "$R/../dbxml-$VERSION.tar.gz" cd $R/.. && tar cf - dbxml-$VERSION | gzip --best > $T chmod 444 $T setenv T "/var/tmp/dbxml-$VERSION.zip" cd $R/.. && zip -r -9 $T dbxml-$VERSION chmod 444 $T ###################################################################### ###################################################################### # In the top-level dir on Windows: ###################################################################### # A set of commands intended to be cut and pasted into a bash window. ###################################################################### export D=`pwd` cd $D/dist export VERSION=`sh -c '. RELEASE; echo $DBXML_VERSION'` echo "Version: $VERSION" export PATHAN_HOME=/cygdrive/c/lib/vc6/libpathan-1.2-2 export XERCES_HOME=/cygdrive/c/lib/vc6/xerces-c-src2_4_0 export DB_HOME=/cygdrive/c/lib/vc6/db-4.2.52 # Build cd $D/build_win32 msdev Berkeley_DB_XML.dsw /make "all - Release" msdev Berkeley_DB_XML.dsw /make "dbxml_java - Release" # Build Documentation cd $D/docs_src build # NOW COPY THE JAVADOCS FROM UNIX TO WIN32 # Create binary tree export R="/var/tmp/dbxml-$VERSION-win32" rm -rf $R && mkdir -p $R/bin $R/lib $R/build_win32 cp -av $D/LICENSE $D/README $R cp -av $D/docs $R cp -av $D/include $R cp -av $D/examples $R cp -av $D/build_win32/Release/libdbxml12.dll $R/bin cp -av $D/build_win32/Release/libdbxml12.lib $R/lib cp -av $D/build_win32/Release/libdbxml_java12.dll $R/bin cp -av $D/build_win32/Release/*.jar $R/lib cp -av $D/build_win32/Release/dbxml_load.exe $R/bin cp -av $D/build_win32/Release/dbxml_dump.exe $R/bin cp -av $D/build_win32/dbxml_gettingStarted.dsw $R/build_win32 cp -av $D/build_win32/dbxml_example_*.dsp $R/build_win32 cp -av $D/build_win32/all.dsp $R/build_win32 cp -av $DB_HOME/build_win32/Release/libdb42.dll $R/bin cp -av $DB_HOME/build_win32/Release/libdb_java42.dll $R/bin cp -av $DB_HOME/build_win32/Release/libdb42.lib $R/lib cp -av $DB_HOME/build_win32/Release/*.jar $R/lib cp -av $DB_HOME/build_win32/db.h $R/include cp -av $DB_HOME/build_win32/db_cxx.h $R/include cp -av $DB_HOME/dbinc/cxx_common.h $R/include cp -av $DB_HOME/dbinc/cxx_except.h $R/include cp -av $PATHAN_HOME/lib/Pathan.dll $R/bin cp -av $PATHAN_HOME/include/* $R/include cp -av $PATHAN_HOME/lib/Pathan.lib $R/lib cp -av $XERCES_HOME/bin/xerces-c_2_4_0.dll $R/bin cp -av $XERCES_HOME/include/* $R/include cp -av $XERCES_HOME/lib/xerces-c_2.lib $R/lib # Create the zip release export T="/var/tmp/dbxml-$VERSION-win32.zip" cd $R/.. && zip -r -9 $T dbxml-$VERSION-win32 chmod 444 $T