[Boostheaders-commits] r29 - /

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sat May 4 02:11:16 CEST 2013


Author: edd
Date: 2013-05-04 02:11:16 +0200 (Sat, 04 May 2013)
New Revision: 29

Added:
   CreateBoost.sh
Log:
shell-script variant of CreateBoost.R
extended to try to deal with issue tickets #2527 (foreach), #2533 (math/dist.) and #2768 (iostream)
appears to work fine, though iostream is 'empty'


Added: CreateBoost.sh
===================================================================
--- CreateBoost.sh	                        (rev 0)
+++ CreateBoost.sh	2013-05-04 00:11:16 UTC (rev 29)
@@ -0,0 +1,119 @@
+#!/bin/sh
+##
+## CreateBoost.sh -- derived from CreateBoost.R
+##
+## Jay Emerson and Dirk Eddelbuettel,  2012 - 2013
+
+## First, download the new version of the Boost Libraries and
+## set the variables boostall and version, here:
+boostall="boost_1_51_0.tar.gz"
+version="1.51.0-1"
+date="2013-05-02"
+pkgdir="pkg/BoostHeaders"          
+## September 2, 2012
+
+## Additional resources we require and need to test for
+## 'sources' lists the directories we scan for Boost components
+sources="../bigmemory"
+## 'progs' lists the programs we need
+progs="bcp"
+
+
+## Derive the 'bootroot' name from the tarball, using basename(1)
+boostroot=$(basename ${boostall} ".tar.gz")
+
+## DEBUG display
+echo "Check: ${boostall} ${version} ${date} ${pkgdir} ${boostroot}"
+
+## A sanity check here before continuing:
+if [ ! -f ${boostall} ] && [ ! -d ${boostroot} ]; then
+    echo "The Boost input file or directory do not exist. Exiting."
+    exit -1
+fi
+
+## DE: Needed? Can we not just overwrite?
+#if [ -d ${pkgdir} ]; then
+#    echo "svn rmdir pkg/BoostHeaders"
+#    echo "Then when this is done and tested, add it back into the svn"
+#    echo "stop 'Move aside the old BoostHeaders'"
+#fi
+
+## Another sanity check
+for prog in ${progs}; do
+    if [ ! -x /usr/bin/${prog} ] && [ ! -x /usr/local/bin/${prog} ]; then
+	echo "** Program '${prog}' not found, exiting"
+	exit -1
+    fi
+done
+    
+## Check for sources
+for dir in ${sources}; do
+    if [ ! -d ${dir} ]; then
+	echo "** Source directory ${dir} not found, exiting"
+	exit -1
+    fi
+done
+
+########################################################################
+# Unpack, copy from boost to BoostHeaders/inst/include,
+# and build the supporting infrastructure of the package.
+
+if [ ! -d ${boostroot} ]; then
+    tar -zxf ${boostall}
+fi
+
+mkdir -p ${pkgdir} \
+         ${pkgdir}/inst \
+         ${pkgdir}/man \
+         ${pkgdir}/inst/include
+
+# bcp --scan --boost=boost_1_51_0 ../bigmemory/pkg/bigmemory/src/*.cpp test
+
+# The bigmemory Boost dependencies:
+bcp --scan --boost=${boostroot} ../bigmemory/pkg/bigmemory/src/*.cpp \
+    ${pkgdir}/inst/include > bcp.log
+
+# Plus filesystem
+bcp --boost=${boostroot} filesystem ${pkgdir}/inst/include >> bcp.log
+
+# Plus foreach (cf issue ticket #2527)
+bcp --boost=${boostroot} foreach ${pkgdir}/inst/include >> bcp.log
+
+# Plus math/distributions (cf issue ticket #2533)
+bcp --boost=${boostroot} math/distributions ${pkgdir}/inst/include >> bcp.log
+
+# Plus iostream (cf issue ticket #2768) -- thia is a null-op, why?
+bcp --boost=${boostroot} iostream ${pkgdir}/inst/include >> bcp.log
+
+# TODO: check with other packages
+
+
+## Some post processing
+rm -r ${pkgdir}/inst/include/libs \
+      ${pkgdir}/inst/include/Jamroot \
+      ${pkgdir}/inst/include/boost.png \
+      ${pkgdir}/inst/include/doc
+
+cp BoostHeadersROOT/LICENSE* \
+   BoostHeadersROOT/NAMESPACE ${pkgdir}
+cp -p BoostHeadersROOT/man/*.Rd ${pkgdir}/man
+
+sed -e "s/XXX/${version}/g" \
+    -e "s/YYY/${date}/g"    \
+    BoostHeadersROOT/DESCRIPTION  >  ${pkgdir}/DESCRIPTION
+sed -e "s/XXX/${version}/g" -e "s/YYY/${date}/g" \
+    BoostHeadersROOT/man/BoostHeaders-package.Rd >
+    ${pkgdir}/man/BoostHeaders-package.Rd 
+
+
+########################################################################
+# Now fix up things that don't work.  Here, we need to stay
+# organized and decide who is the maintainer of what, but this script
+# is the master record of any changes made to the boost tree.
+
+## bigmemory et.al. will require changes to support Windows; we
+## believe the Mac and Linux versions will be fine without changes.
+
+## We'll invite co-maintainers who identify changes needed to support
+## their specific libraries.
+


Property changes on: CreateBoost.sh
___________________________________________________________________
Added: svn:executable
   + *



More information about the Boostheaders-commits mailing list