diff options
Diffstat (limited to 'hwloc-1.2.1/config/distscript.csh')
-rwxr-xr-x | hwloc-1.2.1/config/distscript.csh | 240 |
1 files changed, 240 insertions, 0 deletions
diff --git a/hwloc-1.2.1/config/distscript.csh b/hwloc-1.2.1/config/distscript.csh new file mode 100755 index 00000000..ed4578b4 --- /dev/null +++ b/hwloc-1.2.1/config/distscript.csh @@ -0,0 +1,240 @@ +#! /bin/csh -f +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright © 2010 INRIA. All rights reserved. +# Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +set builddir="`pwd`" + +set srcdir="$1" +cd "$srcdir" +set srcdir=`pwd` +cd "$builddir" + +set distdir="$builddir/$2" +set HWLOC_VERSION="$3" +set HWLOC_REPO_REV="$4" + +if ("$distdir" == "") then + echo "Must supply relative distdir as argv[2] -- aborting" + exit 1 +elif ("$HWLOC_VERSION" == "") then + echo "Must supply version as argv[1] -- aborting" + exit 1 +endif + +#======================================================================== + +if ("$srcdir" != "$builddir") then + set vpath=1 + set vpath_msg=yes +else + set vpath=0 + set vpath_msg=no +endif + +# We can catch some hard (but possible) to do mistakes by looking at +# our tree's revision number, but only if we are in the source tree. +# Otherwise, use what configure told us, at the cost of allowing one +# or two corner cases in (but otherwise VPATH builds won't work). +set repo_rev=$HWLOC_REPO_REV +if (-d .svn) then + set repo_rev="r`svnversion .`" +endif + +set start=`date` +cat <<EOF + +Creating hwloc distribution +In directory: `pwd` +Srcdir: $srcdir +Builddir: $builddir +VPATH: $vpath_msg +Version: $HWLOC_VERSION +Started: $start + +EOF + +umask 022 + +if (! -d "$distdir") then + echo "*** ERROR: dist dir does not exist" + echo "*** ERROR: $distdir" + exit 1 +endif + +# +# See if we need to update the version file with the current repo +# revision number. Do this *before* entering the distribution tree to +# solve a whole host of problems with VPATH (since srcdir may be +# relative or absolute) +# +set cur_repo_rev="`grep '^repo_rev' ${distdir}/VERSION | cut -d= -f2`" +if ("$cur_repo_rev" == "-1") then + sed -e 's/^repo_rev=.*/repo_rev='$repo_rev'/' "${distdir}/VERSION" > "${distdir}/version.new" + cp "${distdir}/version.new" "${distdir}/VERSION" + rm -f "${distdir}/version.new" + # need to reset the timestamp to not annoy AM dependencies + touch -r "${srcdir}/VERSION" "${distdir}/VERSION" + echo "*** Updated VERSION file with repo rev number: $repo_rev" +else + echo "*** Did NOT update VERSION file with repo rev number" +endif + +# +# VPATH builds only work if the srcdir has valid docs already built. +# If we're VPATH and the srcdir doesn't have valid docs, then fail. +# + +if ($vpath == 1 && ! -d $srcdir/doc/doxygen-doc) then + echo "*** This is a VPATH 'make dist', but the srcdir does not already" + echo "*** have a doxygen-doc tree built. hwloc's config/distscript.csh" + echo "*** requores the docs to be built in the srcdir before executing" + echo "*** 'make dist' in a VPATH build." + exit 1 +endif + +# +# If we're not VPATH, force the generation of new doxygen documentation +# + +if ($vpath == 0) then + # Not VPATH + echo "*** Making new doxygen documentation (doxygen-doc tree)" + echo "*** Directory: srcdir: $srcdir, distdir: $distdir, pwd: `pwd`" + cd doc + # We're still in the src tree, so kill any previous doxygen-docs + # tree and make a new one. + chmod -R a=rwx doxygen-doc + rm -rf doxygen-doc + make + if ($status != 0) then + echo ERROR: generating doxygen docs failed + echo ERROR: cannot continue + exit 1 + endif + + # Make new README file + echo "*** Making new README" + make readme + if ($status != 0) then + echo ERROR: generating new README failed + echo ERROR: cannot continue + exit 1 + endif +else + echo "*** This is a VPATH build; assuming that the doxygen docs and REAME" + echo "*** are current in the srcdir (i.e., we'll just copy those)" +endif + +echo "*** Copying doxygen-doc tree to dist..." +echo "*** Directory: srcdir: $srcdir, distdir: $distdir, pwd: `pwd`" +chmod -R a=rwx $distdir/doc/doxygen-doc +echo rm -rf $distdir/doc/doxygen-doc +rm -rf $distdir/doc/doxygen-doc +echo cp -rpf $srcdir/doc/doxygen-doc $distdir/doc +cp -rpf $srcdir/doc/doxygen-doc $distdir/doc + +echo "*** Copying new README" +ls -lf $distdir/README +cp -pf $srcdir/README $distdir + +######################################################### +# VERY IMPORTANT: Now go into the new distribution tree # +######################################################### +cd "$distdir" +echo "*** Now in distdir: $distdir" + +# +# Remove all the latex source files from the distribution tree (the +# PDFs are still there; we're just removing the latex source because +# some of the filenames get really, really long...). +# + +echo "*** Removing latex source from dist tree" +rm -rf doc/doxygen-doc/latex + +# +# Get the latest config.guess and config.sub from ftp.gnu.org +# + +echo "*** Downloading latest config.sub/config.guess from ftp.gnu.org..." +cd config +set configdir="`pwd`" +mkdir tmp.$$ +cd tmp.$$ +# Official HTTP git mirrors for config.guess / config.sub +wget -t 1 -T 10 -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=master' +wget -t 1 -T 10 -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=master' +chmod +x config.guess config.sub + +# Recently, ftp.gnu.org has had zero-legnth config.guess / config.sub +# files, which causes the automated nightly SVN snapshot tarball to +# fail to be made correctly. This is a primitive attempt to fix that. +# If we got zero-length files from wget, use a config.guess / +# config.sub from a known location that is more recent than what ships +# in the current generation of auto* tools. Also check to ensure that +# the resulting scripts are runnable (Jan 2009: there are un-runnable +# scripts available right now because of some git vulnerability). + +# Before you complain about this too loudly, remember that we're using +# unreleased software... + +set happy=0 +if (! -f config.guess || ! -s config.guess) then + echo " - WARNING: Got bad config.guess from ftp.gnu.org (non-existent or empty)" +else + ./config.guess >& /dev/null + if ($status != 0) then + echo " - WARNING: Got bad config.guess from ftp.gnu.org (not executable)" + else + if (! -f config.sub || ! -s config.sub) then + echo " - WARNING: Got bad config.sub from ftp.gnu.org (non-existent or empty)" + else + ./config.sub `./config.guess` >& /dev/null + if ($status != 0) then + echo " - WARNING: Got bad config.sub from ftp.gnu.org (not executable)" + else + echo " - Got good config.guess and config.sub from ftp.gnu.org" + chmod +w ../config.sub ../config.guess + cp config.sub config.guess .. + set happy=1 + endif + endif + endif +endif + +if ("$happy" == "0") then + echo " - WARNING: using included versions for both config.sub and config.guess" +endif +cd .. +rm -rf tmp.$$ +cd .. + +# +# All done +# + +cat <<EOF +*** hwloc version $HWLOC_VERSION distribution created + +Started: $start +Ended: `date` + +EOF + |