Commit aaeb17f3 authored by Leigh Stoller's avatar Leigh Stoller

Checkpoint

parent 0b48e43a
......@@ -12,17 +12,21 @@ SYSTEM := $(shell uname -s)
include $(OBJDIR)/Makeconf
SUBDIRS =
ifeq ($(EMULAB_CLIENTSIDE),1)
ifeq ($(WITH_EMULAB),0)
#
# 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
# These must be after lib.
SUBDIRS += event tools
ifeq ($(WITH_EMULAB),1)
all: all-subdirs
else
all: client-subdirs
endif
include $(TESTBED_SRCDIR)/GNUmakerules
client: client-subdirs
......
......@@ -36,7 +36,6 @@ INSTALL_LIBEXECDIR = @libexecdir@
INSTALL_ETCDIR = @sysconfdir@
INSTALL_INCDIR = @includedir@
INSTALL_WWWDIR = @exec_prefix@/www
INSTALL_RCDIR = @INSTALL_RCDIR@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL@ -m 755
......@@ -53,5 +52,4 @@ LOG_TESTBED = @LOG_TESTBED@
EVENTSYS = @EVENTSYS@
ELVIN_COMPAT = @ELVIN_COMPAT@
EMULAB_CLIENTSIDE = @EMULAB_CLIENTSIDE@
WITH_EMULAB = @WITH_EMULAB@
This diff is collapsed.
# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/local/share/autoconf-2.62'
],
[
'/usr/local/share/autoconf-2.62/autoconf/autoconf.m4f',
'configure.in'
],
{
'_LT_AC_TAGCONFIG' => 1,
'AM_PROG_F77_C_O' => 1,
'AC_INIT' => 1,
'm4_pattern_forbid' => 1,
'_AM_COND_IF' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_SUBST' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_FC_SRCEXT' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'AC_CONFIG_LINKS' => 1,
'm4_sinclude' => 1,
'LT_SUPPORTED_TAG' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'_m4_warn' => 1,
'AM_PROG_CXX_C_O' => 1,
'_AM_COND_ENDIF' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'LT_INIT' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_LIBSOURCE' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_CANONICAL_BUILD' => 1,
'AC_FC_FREEFORM' => 1,
'AH_OUTPUT' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'sinclude' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'm4_include' => 1,
'_AM_COND_ELSE' => 1,
'AC_SUBST_TRACE' => 1
}
], 'Autom4te::Request' )
);
This diff is collapsed.
......@@ -672,6 +672,14 @@ LIBS
build_alias
host_alias
target_alias
build
build_cpu
build_vendor
build_os
host
host_cpu
host_vendor
host_os
CC
CFLAGS
LDFLAGS
......@@ -689,6 +697,7 @@ MKDIR_P
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
SUDO
AR
STRIP
RM
......@@ -696,8 +705,10 @@ CP
YACC
TAR
RPM
ELVIN_CONFIG
PATH
ELVIN_COMPAT
EVENTSYS
CLIENT_ETCDIR
CLIENT_BINDIR
CLIENT_VARDIR
......@@ -1339,6 +1350,10 @@ Fine tuning of the installation directories:
_ACEOF
cat <<\_ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
......@@ -1840,6 +1855,89 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers="$ac_config_headers config.h"
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
{ { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
{ $as_echo "$as_me:$LINENO: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
{ { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
{ { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:$LINENO: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
{ { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
......@@ -3624,6 +3722,51 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
# Extract the first word of "sudo", so it can be a program name with args.
set dummy sudo; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_SUDO+set}" = set; then
$as_echo_n "(cached) " >&6
else
case $SUDO in
[\\/]* | ?:[\\/]*)
ac_cv_path_SUDO="$SUDO" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_SUDO="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
SUDO=$ac_cv_path_SUDO
if test -n "$SUDO"; then
{ $as_echo "$as_me:$LINENO: result: $SUDO" >&5
$as_echo "$SUDO" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
if test -z "$SUDO" ; then
{ { $as_echo "$as_me:$LINENO: error: no acceptable sudo found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable sudo found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
fi
# Extract the first word of "ar", so it can be a program name with args.
set dummy ar; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
......@@ -3940,16 +4083,58 @@ if test -z "$RPM" ; then
$as_echo "$as_me: error: no rpm found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
fi
# Extract the first word of "elvin-config", so it can be a program name with args.
set dummy elvin-config; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_ELVIN_CONFIG+set}" = set; then
$as_echo_n "(cached) " >&6
else
case $ELVIN_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_ELVIN_CONFIG="$ELVIN_CONFIG" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ELVIN_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ELVIN_CONFIG=$ac_cv_path_ELVIN_CONFIG
if test -n "$ELVIN_CONFIG"; then
{ $as_echo "$as_me:$LINENO: result: $ELVIN_CONFIG" >&5
$as_echo "$ELVIN_CONFIG" >&6; }
else
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
# Need this for Makeconf.
#
# Elvin compat option, which we still need.
# Elvin compat option, which we still need. Always turn on event system.
#
ELVIN_COMPAT=0
EVENTSYS=1
......@@ -4640,7 +4825,9 @@ done
outfiles="Makeconf GNUmakefile \
event/GNUmakefile \
event/program-agent/GNUmakefile"
event/program-agent/GNUmakefile \
tools/GNUmakefile \
tools/pcapper/GNUmakefile"
#
# When building as part of a full emulab build, a few things come
......
......@@ -8,6 +8,7 @@ AC_PREREQ(2.62)
AC_INIT(Makeconf.in)
AC_CONFIG_AUX_DIR(${srcdir}/autoconf)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_PROG_CPP
AC_PROG_CXX
......@@ -15,6 +16,10 @@ AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_MKDIR_P
AC_PROG_INSTALL
AC_PATH_PROG(SUDO,sudo)
if test -z "$SUDO" ; then
AC_MSG_ERROR([no acceptable sudo found in \$PATH])
fi
AC_PATH_PROG(AR, ar)
if test -z "$AR" ; then
AC_MSG_ERROR([no acceptable ar found in \$PATH])
......@@ -43,15 +48,18 @@ AC_PATH_PROG(RPM, rpm, rpm)
if test -z "$RPM" ; then
AC_MSG_ERROR([no rpm found in \$PATH])
fi
AC_PATH_PROG(ELVIN_CONFIG,elvin-config)
# Need this for Makeconf.
AC_SUBST(PATH)
#
# Elvin compat option, which we still need.
# Elvin compat option, which we still need. Always turn on event system.
#
AC_SUBST(ELVIN_COMPAT)
ELVIN_COMPAT=0
AC_SUBST(EVENTSYS)
EVENTSYS=1
AC_SUBST(CLIENT_ETCDIR)
AC_SUBST(CLIENT_BINDIR)
......@@ -145,7 +153,9 @@ AC_SUBST(PYTHON_INCLUDE)
outfiles="Makeconf GNUmakefile \
event/GNUmakefile \
event/program-agent/GNUmakefile"
event/program-agent/GNUmakefile \
tools/GNUmakefile \
tools/pcapper/GNUmakefile"
#
# When building as part of a full emulab build, a few things come
......
#
# 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.
#
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../..
SUBDIR = tools/pcapper
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = @top_builddir@
SUBDIR = $(subst $(TESTBED_SRCDIR)/,,$(SRCDIR))
SYSTEM := $(shell uname -s)
include $(OBJDIR)/Makeconf
......@@ -38,8 +37,8 @@ endif
ELVINFLAGS = -I/usr/local/include
ELVINLIBS = -L/usr/local/lib -lpubsub -lm
EVENTFLAGS = -DEVENTSYS -I$(TESTBED_SRCDIR)/event/lib $(ELVINFLAGS)
EVENTOBJS = $(OBJDIR)/event/lib/event.o $(OBJDIR)/event/lib/util.o
EVENTFLAGS = -DEVENTSYS -I$(TESTBED_SRCDIR)/lib/event $(ELVINFLAGS)
EVENTOBJS = $(OBJDIR)/lib/event/event.o $(OBJDIR)/lib/event/util.o
EVENTLIBS = $(ELVINLIBS) -lcrypto
TBCFLAGS = $(EVENTFLAGS) -I$(TESTBED_SRCDIR)/lib/libtb
......@@ -48,7 +47,7 @@ TBLIBS = $(EVENTOBJS) $(OBJDIR)/lib/libtb/libtb.a $(EVENTLIBS)
PCAPLIBS=-lpcap
CFLAGS = -Wall $(PTHREADCFLAGS) \
-DEMULAB -g -DDROPROOT -DBOSSNODE=\"@BOSSNODE@\" \
-DEMULAB -g -DDROPROOT \
-DCLIENT_BINDIR='"$(CLIENT_BINDIR)"'
LDFLAGS = $(LDSTATIC)
......
This diff is collapsed.
......@@ -9,6 +9,7 @@ AC_INIT(Makeconf.in)
AC_CONFIG_AUX_DIR(${srcdir}/autoconf)
AC_PREFIX_DEFAULT(/usr/testbed)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
# We use separate source and obj trees in Emulab. Configuring in a source
# tree messes it up, so throw an error.
......@@ -57,6 +58,26 @@ AC_SUBST(PATH)
CPPFLAGS="-I/usr/local/include"
# 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.
AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(CXX,g++)
AC_CHECK_TOOL(AR,ar)
......@@ -995,7 +1016,7 @@ outfiles="$outfiles Makeconf GNUmakefile \
rc.d/3.elvin_gateway.sh rc.d/pelab.sh rc.d/capture.sh \
rc.d/3.mfrisbeed.sh rc.d/3.mfrisbeed-subboss.sh \
tools/GNUmakefile rc.d/1.mysql-server.sh tools/svn/GNUmakefile \
tools/pcapper/GNUmakefile tools/teachswitch/GNUmakefile \
tools/teachswitch/GNUmakefile \
tools/webcamapplet/GNUmakefile tools/whol/GNUmakefile \
tools/selectapplet/GNUmakefile tools/rmanage/GNUmakefile \
$eventfiles \
......@@ -1064,8 +1085,15 @@ outfiles="$outfiles Makeconf GNUmakefile \
node_usage/gather node_usage/mk-php-pages \
node_usage/get-start-date"
outfiles="Makeconf GNUmakefile"
#
# While it would be nice to use the configure setup in the clientside subdir,
# this turned out to be a major headache. Instead, just duplicate the file
# lists here and in clientside.
#
outfiles="$outfiles clientside/GNUmakefile \
clientside/GNUmakefile clientside/event/GNUmakefile \
clientside/event/program-agent/GNUmakefile \
clientside/tools/GNUmakefile clientside/tools/pcapper/GNUmakefile"
#
# Do this for easy distclean.
......@@ -1073,13 +1101,5 @@ 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)
......@@ -13,7 +13,7 @@ include $(OBJDIR)/Makeconf
all: libtb.a
client: libtb-nodb.a
cmp -s libtb-nodb.a libtb.a || cp -pf libtb-nodb.a libtb.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
......@@ -31,8 +31,8 @@ libtb.a: $(OBJS) tbdb.o
$(RANLIB) $@
libtb-nodb.a: $(OBJS)
$(AR) crv $@ $(OBJS)
$(RANLIB) $@
$(AR) crv $@ $(OBJS)
$(RANLIB) $@
log.o: log.h
tbdb.o: tbdb.h log.h tbdefs.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment