mirror of
				https://github.com/pocoproject/poco.git
				synced 2025-11-03 19:40:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#! /bin/sh
 | 
						|
#
 | 
						|
# mkdoc
 | 
						|
#
 | 
						|
# Create reference documentation for a POCO release.
 | 
						|
# This is a wrapper for mkdocumentation that syncs to the
 | 
						|
# Perforce head revision, reads the current
 | 
						|
# version from $POCO_BASE/VERSION and requires a release
 | 
						|
# specification (loaded from $POCO_BASE/release/spec/*.release)
 | 
						|
# as argument.
 | 
						|
#
 | 
						|
# usage: mkdoc [-l <perforce-label>] [<specfile>]
 | 
						|
#
 | 
						|
 | 
						|
osname=`uname -s | tr ' ' '_'`
 | 
						|
osarch=`uname -m | tr ' ' '_'`
 | 
						|
 | 
						|
if [ ${osname:0:6} = "CYGWIN" ] ; then
 | 
						|
	osname="CYGWIN"
 | 
						|
fi
 | 
						|
 | 
						|
if [ "$POCO_BASE" = "" ] ; then
 | 
						|
  echo "Error: POCO_BASE not set."
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
 | 
						|
spec=""
 | 
						|
docConfig=$POCO_BASE/PocoDoc/cfg/mkdoc-poco.xml
 | 
						|
while [ "$1" != "" ] ; 
 | 
						|
do
 | 
						|
	if [ "$1" = "-C" ] ; then
 | 
						|
		shift
 | 
						|
		docConfig=$1
 | 
						|
		shift
 | 
						|
	elif [ "$1" = "-v" ] ; then
 | 
						|
		shift
 | 
						|
		version=$1
 | 
						|
		shift
 | 
						|
	else
 | 
						|
		spec=$1
 | 
						|
		shift
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
if [ "$spec" != "" ] ; then
 | 
						|
  relspec="-f release/spec/${spec}.release"
 | 
						|
  tag="-$spec"
 | 
						|
  reltag="-t $spec"
 | 
						|
else
 | 
						|
  relspec=""
 | 
						|
  reltag=""
 | 
						|
  tag=""
 | 
						|
fi
 | 
						|
 | 
						|
cd $POCO_BASE
 | 
						|
 | 
						|
if [ ! -f VERSION ] ; then
 | 
						|
  echo "Error: No VERSION file found."
 | 
						|
  exit 2
 | 
						|
fi
 | 
						|
 | 
						|
if [ "$version" = "" ] ; then
 | 
						|
	read version <$POCO_BASE/VERSION
 | 
						|
fi
 | 
						|
release=$version$tag
 | 
						|
 | 
						|
if [ ! -f libversion ] ; then
 | 
						|
  echo "Error: No libversion file found."
 | 
						|
  exit 2
 | 
						|
fi
 | 
						|
if [ "$libversion" = "" ] ; then
 | 
						|
	read libversion <$POCO_BASE/libversion
 | 
						|
fi
 | 
						|
 | 
						|
#
 | 
						|
# Build release
 | 
						|
#
 | 
						|
 | 
						|
echo "Building tools"
 | 
						|
 | 
						|
tools=$POCO_BASE/stage/tools
 | 
						|
rm -rf $tools
 | 
						|
mkdir -p $tools
 | 
						|
mkrelease -o $tools $version CppParser PocoDoc
 | 
						|
 | 
						|
cd $tools
 | 
						|
./configure --no-tests --no-samples --no-prefix
 | 
						|
make -s -j8 
 | 
						|
 | 
						|
if [ $osname = "CYGWIN" ] ; then
 | 
						|
    find $tools -type f -name "*.$libversion.dll" > $TMP/dlls
 | 
						|
    rebase -O -T $TMP/dlls
 | 
						|
    rm $TMP/dlls
 | 
						|
fi
 | 
						|
 | 
						|
cd $POCO_BASE
 | 
						|
 | 
						|
if [ $osname = "Darwin" ] ; then
 | 
						|
	archpath=`dirname stage/tools/PocoDoc/bin/Darwin/*/PocoDoc`
 | 
						|
	osarch=`basename $archpath`
 | 
						|
fi
 | 
						|
 | 
						|
if [ $osname = "CYGWIN" ] ; then
 | 
						|
#   Poco dlls must be on PATH for Cygwin
 | 
						|
    export PATH=$tools/lib/$osname/$osarch:$PATH
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
export PATH=$tools/PocoDoc/bin/$osname/$osarch:$PATH
 | 
						|
echo PATH=$PATH
 | 
						|
 | 
						|
echo "Building documentation $release (using $docConfig)"
 | 
						|
mkdocumentation $reltag $relspec -C $docConfig -v $version
 |