Commit 0b48e43a authored by Leigh Stoller's avatar Leigh Stoller

Checkpoint.

parent 7bb03240
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2010 University of Utah and the Flux Group.
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# All rights reserved.
#
# Testbed Makefile
......@@ -30,7 +30,7 @@ include Makeconf
# Then things that depend on stuff we just did:
#
ifeq ($(STANDALONE_CLEARINGHOUSE),0)
SUBDIRS = lib db assign www @optional_subdirs@ ipod security sensors \
SUBDIRS = lib db assign www @optional_subdirs@ clientside ipod security sensors \
pxe tbsetup account tmcd utils backend tip capture ipod vis \
sensors os xmlrpc install/newnode_sshkeys mote tools/whol \
tools/svn wiki bugdb collab protogeni node_usage install
......@@ -192,7 +192,8 @@ client-mkdirs:
-mkdir -p $(DESTDIR)$(CLIENT_MANDIR)
client:
@$(MAKE) -C lib/libtb client
@$(MAKE) -C lib client
@$(MAKE) -C clientside client
ifeq ($(EVENTSYS),1)
@$(MAKE) -C event client
endif
......@@ -200,20 +201,20 @@ endif
ifneq ($(SYSTEM),CYGWIN_NT-5.1)
@$(MAKE) -C capture client
@$(MAKE) -C tip client
@$(MAKE) -C tools client
endif
@$(MAKE) -C sensors client
@$(MAKE) -C tmcd client
client-install: client client-mkdirs
@$(MAKE) -C lib client-install
ifeq ($(EVENTSYS),1)
@$(MAKE) -C event client-install
@$(MAKE) -C clientside client-install
endif
@$(MAKE) -C os client-install
ifneq ($(SYSTEM),CYGWIN_NT-5.1)
@$(MAKE) -C capture client-install
@$(MAKE) -C tip client-install
@$(MAKE) -C tools client-install
endif
@$(MAKE) -C sensors client-install
@$(MAKE) -C tmcd client-install
......@@ -229,7 +230,6 @@ endif
ifneq ($(SYSTEM),CYGWIN_NT-5.1)
@$(MAKE) -C capture client-install
@$(MAKE) -C tip client-install
@$(MAKE) -C tools client-install
endif
@$(MAKE) -C sensors client-install
@$(MAKE) -C utils subboss-install
......
......@@ -11,7 +11,15 @@ SYSTEM := $(shell uname -s)
include $(OBJDIR)/Makeconf
SUBDIRS = lib event
SUBDIRS =
ifeq ($(EMULAB_CLIENTSIDE),1)
#
# lib is a common directory, and is added to the clientside tarball.
# So not do not build it when building full emulab tree; already done.
#
SUBDIRS += lib
endif
SUBDIRS += event tools
all: all-subdirs
......
This diff is collapsed.
This diff is collapsed.
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5.
#
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0
This diff is collapsed.
......@@ -251,54 +251,90 @@ m4trace:configure.in:42: -1- m4_pattern_allow([^RPM$])
m4trace:configure.in:48: -1- AC_SUBST([PATH])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([PATH])
m4trace:configure.in:48: -1- m4_pattern_allow([^PATH$])
m4trace:configure.in:51: -1- AC_SUBST([EMULAB_CLIENTSIDE])
m4trace:configure.in:51: -1- AC_SUBST_TRACE([EMULAB_CLIENTSIDE])
m4trace:configure.in:51: -1- m4_pattern_allow([^EMULAB_CLIENTSIDE$])
m4trace:configure.in:57: -1- AC_SUBST([ELVIN_COMPAT])
m4trace:configure.in:57: -1- AC_SUBST_TRACE([ELVIN_COMPAT])
m4trace:configure.in:57: -1- m4_pattern_allow([^ELVIN_COMPAT$])
m4trace:configure.in:67: -1- AC_DEFINE_TRACE_LITERAL([ELVIN_COMPAT])
m4trace:configure.in:67: -1- m4_pattern_allow([^ELVIN_COMPAT$])
m4trace:configure.in:70: -1- AC_SUBST([CLIENT_ETCDIR])
m4trace:configure.in:70: -1- AC_SUBST_TRACE([CLIENT_ETCDIR])
m4trace:configure.in:70: -1- m4_pattern_allow([^CLIENT_ETCDIR$])
m4trace:configure.in:71: -1- AC_SUBST([CLIENT_BINDIR])
m4trace:configure.in:71: -1- AC_SUBST_TRACE([CLIENT_BINDIR])
m4trace:configure.in:71: -1- m4_pattern_allow([^CLIENT_BINDIR$])
m4trace:configure.in:72: -1- AC_SUBST([CLIENT_VARDIR])
m4trace:configure.in:72: -1- AC_SUBST_TRACE([CLIENT_VARDIR])
m4trace:configure.in:72: -1- m4_pattern_allow([^CLIENT_VARDIR$])
m4trace:configure.in:73: -1- AC_SUBST([CLIENT_MANDIR])
m4trace:configure.in:73: -1- AC_SUBST_TRACE([CLIENT_MANDIR])
m4trace:configure.in:73: -1- m4_pattern_allow([^CLIENT_MANDIR$])
m4trace:configure.in:81: -1- AC_DEFINE_TRACE_LITERAL([LOG_TESTBED])
m4trace:configure.in:81: -1- m4_pattern_allow([^LOG_TESTBED$])
m4trace:configure.in:82: -1- AC_SUBST([LOG_TESTBED])
m4trace:configure.in:82: -1- AC_SUBST_TRACE([LOG_TESTBED])
m4trace:configure.in:82: -1- m4_pattern_allow([^LOG_TESTBED$])
m4trace:configure.in:83: -1- AC_SUBST([TBLOGFACIL])
m4trace:configure.in:83: -1- AC_SUBST_TRACE([TBLOGFACIL])
m4trace:configure.in:83: -1- m4_pattern_allow([^TBLOGFACIL$])
m4trace:configure.in:96: -1- AC_SUBST([DISTCLEAN_FILES])
m4trace:configure.in:96: -1- AC_SUBST_TRACE([DISTCLEAN_FILES])
m4trace:configure.in:96: -1- m4_pattern_allow([^DISTCLEAN_FILES$])
m4trace:configure.in:98: -1- AC_CONFIG_FILES([$outfiles])
m4trace:configure.in:98: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
m4trace:configure.in:53: -1- AC_SUBST([ELVIN_COMPAT])
m4trace:configure.in:53: -1- AC_SUBST_TRACE([ELVIN_COMPAT])
m4trace:configure.in:53: -1- m4_pattern_allow([^ELVIN_COMPAT$])
m4trace:configure.in:56: -1- AC_SUBST([CLIENT_ETCDIR])
m4trace:configure.in:56: -1- AC_SUBST_TRACE([CLIENT_ETCDIR])
m4trace:configure.in:56: -1- m4_pattern_allow([^CLIENT_ETCDIR$])
m4trace:configure.in:57: -1- AC_SUBST([CLIENT_BINDIR])
m4trace:configure.in:57: -1- AC_SUBST_TRACE([CLIENT_BINDIR])
m4trace:configure.in:57: -1- m4_pattern_allow([^CLIENT_BINDIR$])
m4trace:configure.in:58: -1- AC_SUBST([CLIENT_VARDIR])
m4trace:configure.in:58: -1- AC_SUBST_TRACE([CLIENT_VARDIR])
m4trace:configure.in:58: -1- m4_pattern_allow([^CLIENT_VARDIR$])
m4trace:configure.in:59: -1- AC_SUBST([CLIENT_MANDIR])
m4trace:configure.in:59: -1- AC_SUBST_TRACE([CLIENT_MANDIR])
m4trace:configure.in:59: -1- m4_pattern_allow([^CLIENT_MANDIR$])
m4trace:configure.in:67: -1- AC_DEFINE_TRACE_LITERAL([LOG_TESTBED])
m4trace:configure.in:67: -1- m4_pattern_allow([^LOG_TESTBED$])
m4trace:configure.in:68: -1- AC_SUBST([LOG_TESTBED])
m4trace:configure.in:68: -1- AC_SUBST_TRACE([LOG_TESTBED])
m4trace:configure.in:68: -1- m4_pattern_allow([^LOG_TESTBED$])
m4trace:configure.in:69: -1- AC_SUBST([TBLOGFACIL])
m4trace:configure.in:69: -1- AC_SUBST_TRACE([TBLOGFACIL])
m4trace:configure.in:69: -1- m4_pattern_allow([^TBLOGFACIL$])
m4trace:configure.in:111: -1- AC_SUBST([WITH_EMULAB])
m4trace:configure.in:111: -1- AC_SUBST_TRACE([WITH_EMULAB])
m4trace:configure.in:111: -1- m4_pattern_allow([^WITH_EMULAB$])
m4trace:configure.in:123: -1- AC_DEFINE_TRACE_LITERAL([ELVIN_COMPAT])
m4trace:configure.in:123: -1- m4_pattern_allow([^ELVIN_COMPAT$])
m4trace:configure.in:127: -1- AC_SUBST([PYTHON])
m4trace:configure.in:127: -1- AC_SUBST_TRACE([PYTHON])
m4trace:configure.in:127: -1- m4_pattern_allow([^PYTHON$])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_PYTHON_H], [/* Define to 1 if you have the <Python.h> header file. */
#undef HAVE_PYTHON_H])
m4trace:configure.in:140: -1- AC_SUBST([GREP])
m4trace:configure.in:140: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.in:140: -1- m4_pattern_allow([^GREP$])
m4trace:configure.in:140: -1- AC_SUBST([EGREP])
m4trace:configure.in:140: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.in:140: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.in:140: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:140: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:140: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.in:140: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:143: -1- AC_SUBST([PYTHON_INCLUDE])
m4trace:configure.in:143: -1- AC_SUBST_TRACE([PYTHON_INCLUDE])
m4trace:configure.in:143: -1- m4_pattern_allow([^PYTHON_INCLUDE$])
m4trace:configure.in:167: -1- AC_SUBST([DISTCLEAN_FILES])
m4trace:configure.in:167: -1- AC_SUBST_TRACE([DISTCLEAN_FILES])
m4trace:configure.in:167: -1- m4_pattern_allow([^DISTCLEAN_FILES$])
m4trace:configure.in:169: -1- AC_CONFIG_FILES([$outfiles])
m4trace:configure.in:169: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.in:98: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:98: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:98: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:98: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([INSTALL])
m4trace:configure.in:98: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.in:169: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:169: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:169: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:169: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([INSTALL])
m4trace:configure.in:169: -1- AC_SUBST_TRACE([MKDIR_P])
This diff is collapsed.
......@@ -47,26 +47,12 @@ fi
# Need this for Makeconf.
AC_SUBST(PATH)
# Tell build it is the clientside.
AC_SUBST(EMULAB_CLIENTSIDE)
EMULAB_CLIENTSIDE=1
#
# The only option is if we build in elvin compat support.
# Elvin compat option, which we still need.
#
AC_SUBST(ELVIN_COMPAT)
ELVIN_COMPAT=0
AC_ARG_ENABLE(elvin_compat,
[ --enable-elvin_compat[[=yes/no]] Include Elvin Hash compat [[default=no]]])
if test "$enable_elvin_compat" = "yes"; then
ELVIN_COMPAT=1
fi
if test $ELVIN_COMPAT -eq 1; then
AC_DEFINE_UNQUOTED(ELVIN_COMPAT, 1)
fi
AC_SUBST(CLIENT_ETCDIR)
AC_SUBST(CLIENT_BINDIR)
AC_SUBST(CLIENT_VARDIR)
......@@ -82,13 +68,98 @@ AC_DEFINE_UNQUOTED(LOG_TESTBED, $LOG_TESTBED)
AC_SUBST(LOG_TESTBED)
AC_SUBST(TBLOGFACIL)
#
# Allow tbdefs file that is supplied to full emulab build
#
AC_ARG_WITH(TBDEFS,
[ --with-TBDEFS=name Specify definitions file (defs-default default)],
[
if test "$withval" = "yes"; then
AC_MSG_ERROR([Invalid TBDEFS - Must specify the value])
fi
TBDEFS="$withval"
TBPATH=`dirname $withval`
if test -f $TBDEFS; then
#
# Remove the comments and newlines. Really, that's what it does.
#
OLDPATH=$PATH
PATH="$TBPATH:$PATH"
. $TBDEFS
PATH=$OLDPATH
else
AC_MSG_ERROR([Definitions file $TBDEFS was not found.])
fi
])
#
# Internal option; supplied when building as part of full Emulab.
#
WITH_EMULAB=0
AC_ARG_WITH(emulab,
[ --with-emulab Internal option; build with Emulab (default no)],
[
if test "$withval" = "yes"; then
AC_MSG_ERROR([Invalid with-emulab directive - Must specify the value])
fi
WITH_EMULAB=1
EMULAB_SRCDIR=$withval
])
AC_SUBST(WITH_EMULAB)
#
# Allow command line option, since might not have a defs file.
#
AC_ARG_ENABLE(elvin_compat,
[ --enable-elvin_compat[[=yes/no]] Include Elvin Hash compat [[default=no]]])
if test "$enable_elvin_compat" = "yes"; then
ELVIN_COMPAT=1
fi
if test $ELVIN_COMPAT -eq 1; then
AC_DEFINE_UNQUOTED(ELVIN_COMPAT, 1)
fi
# BEGIN Python detection. For the event library.
AC_PATH_PROGS(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2)
if test x"$PYTHON" = x""; then
AC_MSG_ERROR([python not detected])
fi
PYTHON_VERSION=`${PYTHON} -V 2>&1 | cut -d ' ' -f 2 | cut -d '.' -f 1,2`
PYTHON_PATH=`dirname ${PYTHON}`
if test ! -d "$PYTHON_PATH/include"; then
PYTHON_PATH=`dirname ${PYTHON_PATH}`
fi
PYTHON_INCLUDE="${PYTHON_PATH}/include/python${PYTHON_VERSION}"
CPPFLAGS="${CPPFLAGS} -I${PYTHON_INCLUDE}"
AC_CHECK_HEADERS([Python.h],
[],
[AC_MSG_WARN("Cannot find Python.h in ${PYTHON_INCLUDE}")])
AC_SUBST(PYTHON_INCLUDE)
# END Python detection.
outfiles="Makeconf GNUmakefile \
lib/GNUmakefile \
lib/libtb/GNUmakefile \
lib/event/GNUmakefile \
event/GNUmakefile \
event/program-agent/GNUmakefile"
#
# When building as part of a full emulab build, a few things come
# from the outer (upper?) build. Otherwise, we have to add them
# to the files list.
#
if test $WITH_EMULAB -eq 0; then
outfiles="$outfiles lib/GNUmakefile \
lib/libtb/GNUmakefile \
lib/event/GNUmakefile"
else
AC_CONFIG_COMMANDS([lib], [rm -f lib; ln -s ../lib .])
fi
#
# Do this for easy distclean.
#
......
......@@ -735,7 +735,7 @@ main(int argc, char **argv)
setenv("NODECNETIP", inet_ntoa(ia), 1);
}
#ifdef EMULAB_CLIENTSIDE
#ifdef NOMORE
/*
* XXX for planetlab, hostname is the official hostname as opposed
* to the per-experiment Emulab alias. To be consistent, we want
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = @top_builddir@
SUBDIR = $(subst $(TESTBED_SRCDIR)/,,$(SRCDIR))
include $(OBJDIR)/Makeconf
SUBDIRS = pcapper
all: all-subdirs
include $(TESTBED_SRCDIR)/GNUmakerules
client: client-subdirs
client-install: client client-install-subdirs
control-install: control-install-subdirs
post-install: post-install-subdirs
clean: clean-subdirs
distclean: distclean-subdirs
# How to recursively descend into subdirectories to make general
# targets such as `all'.
%.MAKE:
@$(MAKE) -C $(dir $@) $(basename $(notdir $@))
%-subdirs: $(addsuffix /%.MAKE,$(SUBDIRS)) ;
.PHONY: $(SUBDIRS)
This diff is collapsed.
......@@ -57,26 +57,6 @@ AC_SUBST(PATH)
CPPFLAGS="-I/usr/local/include"
# BEGIN Python detection.
AC_PATH_PROGS(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2)
if test x"$PYTHON" = x""; then
AC_MSG_ERROR([python not detected])
fi
PYTHON_VERSION=`${PYTHON} -V 2>&1 | cut -d ' ' -f 2 | cut -d '.' -f 1,2`
PYTHON_PATH=`dirname ${PYTHON}`
if test ! -d "$PYTHON_PATH/include"; then
PYTHON_PATH=`dirname ${PYTHON_PATH}`
fi
PYTHON_INCLUDE="${PYTHON_PATH}/include/python${PYTHON_VERSION}"
CPPFLAGS="${CPPFLAGS} -I${PYTHON_INCLUDE}"
AC_CHECK_HEADERS([Python.h],
[],
[AC_MSG_WARN("Cannot find Python.h in ${PYTHON_INCLUDE}")])
AC_SUBST(PYTHON_INCLUDE)
# END Python detection.
AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(CXX,g++)
AC_CHECK_TOOL(AR,ar)
......@@ -1082,10 +1062,10 @@ outfiles="$outfiles Makeconf GNUmakefile \
node_usage/analy2 node_usage/refresh \
node_usage/from_ptop node_usage/sanity \
node_usage/gather node_usage/mk-php-pages \
node_usage/get-start-date \
clientside/GNUmakefile \
clientside/event/GNUmakefile \
clientside/event/program-agent/GNUmakefile"
node_usage/get-start-date"
outfiles="Makeconf GNUmakefile"
#
# Do this for easy distclean.
......@@ -1093,4 +1073,13 @@ outfiles="$outfiles Makeconf GNUmakefile \
DISTCLEAN_FILES="$outfiles"
AC_SUBST(DISTCLEAN_FILES)
#
# Invoke configure in the clientside directory.
#
DEFSFILE=`realpath $TBDEFS`
AC_CONFIG_COMMANDS([clientside/Makeconf],
[(cd clientside;
$ac_srcdir/configure --with-TBDEFS=$DEFSFILE --with-emulab=$ac_top_srcdir)],
[DEFSFILE=$DEFSFILE])
AC_OUTPUT($outfiles)
......@@ -22,6 +22,8 @@ install: install-subdirs
control-install: control-install-subdirs
client-install: client-install-subdirs
clean: clean-subdirs
distclean: distclean-subdirs
......
......@@ -26,10 +26,8 @@ SWIGLIBS =
ifneq ($(SYSTEM),CYGWIN_NT-5.1)
LIBS += libevent_r.a
SWIGLIBS += event.so
ifneq ($(EMULAB_CLIENTSIDE),1)
SWIGLIBS += _tbevent.so
endif
endif
PROGRAMS = $(LIBS) $(SWIGLIBS)
all: $(PROGRAMS)
......
......@@ -12,8 +12,9 @@ include $(OBJDIR)/Makeconf
all: libtb.a
client: all
client-install: all
client: libtb-nodb.a
cmp -s libtb-nodb.a libtb.a || cp -pf libtb-nodb.a libtb.a
client-install: client
# The point of this is to make sure a nodb version of the library is
# built during the ops-install target when installing a new emulab.
......@@ -23,15 +24,16 @@ control-install: client
include $(TESTBED_SRCDIR)/GNUmakerules
OBJS = log.o tbdefs.o popenf.o systemf.o be_user.o tmcc.o
ifneq ($(EMULAB_CLIENTSIDE),1)
OBJS += tbdb.o
endif
CFLAGS += -O -g -Wall -I${OBJDIR} -I/usr/local/include
libtb.a: $(OBJS)
$(AR) crv $@ $(OBJS)
libtb.a: $(OBJS) tbdb.o
$(AR) crv $@ $(OBJS) tbdb.o
$(RANLIB) $@
libtb-nodb.a: $(OBJS)
$(AR) crv $@ $(OBJS)
$(RANLIB) $@
log.o: log.h
tbdb.o: tbdb.h log.h tbdefs.h
tbdefs.o: tbdefs.h
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2009 University of Utah and the Flux Group.
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# All rights reserved.
#
......@@ -17,24 +17,12 @@ ifeq ($(ISMAINSITE),1)
SUBDIRS += rmanage
endif
ifneq ($(host_cpu),arm)
SUBDIRS += pcapper
endif
all: all-subdirs