mirror of https://github.com/xzeldon/htop.git
241 lines
7.4 KiB
Tcsh
241 lines
7.4 KiB
Tcsh
|
#! /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
|
||
|
|