added the target directory as an aditional information if different from the name of the module
<configuration>
<modules>
<module name="dce-ns3">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="ns-3-dev-dce" optional="False"/>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ccnx" optional="True"/>
<depends_on name="wget" optional="True"/>
<depends_on name="thttpd" optional="True"/>
<build type="waf" objdir="build">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="configure --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --prefix=$INSTALLDIR"/>
<!-- attribute name="post_installation" value="cd $SRCDIR; ./test.py" -->
</build>
</module>
<module name="dce-linux">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="net-next-sim-2.6.36" optional="False"/>
<depends_on name="iproute" optional="False"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ccnx" optional="True"/>
<depends_on name="wget" optional="True"/>
<depends_on name="thttpd" optional="True"/>
<depends_on name="ns-3-dev-dce" optional="False"/>
<build type="waf" objdir="yes" sourcedir="ns-3-dce">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=$SRCDIR/../net-next-sim-2.6.36/arch"/>
<!-- attribute name="post_installation" value="cd $SRCDIR; ./test.py"/ -->
</build>
</module>
<module name="dce-linux-gcov">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="net-next-sim-2.6.36" optional="False"/>
<depends_on name="iproute" optional="False"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ccnx" optional="True"/>
<depends_on name="wget" optional="True"/>
<depends_on name="thttpd" optional="True"/>
<depends_on name="dce-quagga" optional="False"/>
<depends_on name="dce-umip" optional="False"/>
<depends_on name="ns-3-dev-dce" optional="False"/>
<build type="waf" objdir="yes" sourcedir="ns-3-dce">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=$SRCDIR/../net-next-sim-2.6.36/arch --enable-gcov"/>
</build>
</module>
<module name="dce-quagga-inkernel">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/thehajime/ns-3-dce-quagga"/>
<attribute name="module_directory" value="ns-3-dce/myscripts/ns-3-dce-quagga/"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="dce-linux-inkernel" optional="False"/>
<depends_on name="quagga" optional="False"/>
<depends_on name="iputils" optional="False"/>
<build type="none">
<attribute name="supported_os" value="linux;linux2"/>
</build>
</module>
<module name="dce-umip-inkernel">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/thehajime/ns-3-dce-umip"/>
<attribute name="module_directory" value="ns-3-dce/myscripts/ns-3-dce-umip/"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="dce-linux-inkernel" optional="False"/>
<depends_on name="dce-quagga-inkernel" optional="False"/>
<depends_on name="umip" optional="False"/>
<build type="none">
<attribute name="supported_os" value="linux;linux2"/>
</build>
</module>
<module name="dce-linux-inkernel">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="iproute" optional="False"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ccnx" optional="True"/>
<depends_on name="ns-3-dev-dce" optional="False"/>
<build type="waf" objdir="yes" sourcedir="ns-3-dce">
<attribute name="supported_os" value="linux;linux2"/>
<!-- assume the bake.py build is executed under arch/sim/test/buildtop/ -->
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=$SRCDIR/../../../../../"/>
</build>
</module>
<module name="mptcp_v0.86">
<source type="git">
<attribute name="url" value="git://github.com/multipath-tcp/mptcp"/>
<attribute name="module_directory" value="mptcp"/>
<attribute name="revision" value="mptcp_v0.86"/>
</source>
<build type="make" objdir="no">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="pre_installation" value="cd $SRCDIR;git remote add dce git://github.com/thehajime/net-next-sim.git; git fetch dce; git merge dce/sim-ns3-3.5.0-branch; echo 'CONFIG_MPTCP=y' >> arch/sim/defconfig; sed 's/CONFIG_SYN_COOKIES=y/\#CONFIG_SYN_COOKIES=y/' arch/sim/defconfig >a; mv a arch/sim/defconfig"/>
<attribute name="configure_arguments" value="defconfig ARCH=sim"/>
<attribute name="build_arguments" value="library ARCH=sim"/>
<attribute name="no_installation" value="True"/>
<attribute name="post_installation" value="mkdir -p $INSTALLDIR/bin_dce; cd $INSTALLDIR/bin_dce; cp $SRCDIR/libsim-linux3.5.7.so ./libsim-linux3.5.7-mptcp.so; ln -s -f libsim-linux3.5.7-mptcp.so liblinux.so"/>
</build>
</module>
<module name="iproute-mptcp">
<source type="git">
<attribute name="url" value="git://github.com/multipath-tcp/iproute-mptcp.git"/>
<attribute name="module_directory" value="iproute-mptcp"/>
<attribute name="revision" value="49687a0dff890bf753a06357959b8bbab18b9d2a"/>
</source>
<depends_on name="libdb-dev" optional="False"/>
<depends_on name="bison" optional="False"/>
<depends_on name="flex" optional="False"/>
<depends_on name="libsysfs-dev" optional="False"/>
<depends_on name="libssl-dev" optional="False"/>
<build type="make" objdir="yes">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="patch" value="$SRCDIR/../ns-3-dce/utils/iproute-mptcp.patch"/>
<attribute name="pre_installation" value="$SRCDIR/configure"/>
<attribute name="LDFLAGS" value="-pie"/>
<attribute name="ignore_predefined_flags" value="True"/>
<attribute name="install_arguments" value="DESTDIR=$INSTALLDIR" />
<attribute name="build_arguments" value="CCOPTS+=-fpic CCOPTS+=-D_GNU_SOURCE CCOPTS+=-O0 CCOPTS+=-U_FORTIFY_SOURCE LDFLAGS=-pie DEFINES+=-I$SRCDIR/../mptcp/include"/>
</build>
</module>
<module name="dce-linux-mptcp">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="mptcp_v0.86" optional="False"/>
<depends_on name="iproute-mptcp" optional="False"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ns-3-dev-dce" optional="False"/>
<build type="waf" objdir="yes" sourcedir="ns-3-dce">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=$SRCDIR/../mptcp/arch"/>
</build>
</module>
<module name="dce-linux-mptcp-inkernel">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dce"/>
<attribute name="module_directory" value="ns-3-dce"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="elf-loader" optional="True"/>
<depends_on name="iproute-mptcp" optional="False"/>
<depends_on name="iperf" optional="True"/>
<depends_on name="ns-3-dev-dce" optional="False"/>
<build type="waf" objdir="yes" sourcedir="ns-3-dce">
<attribute name="supported_os" value="linux;linux2"/>
<!-- assume the bake.py build is executed under arch/sim/test/buildtop/ -->
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --with-ns3=$INSTALLDIR --with-elf-loader=$INSTALLDIR/lib --enable-kernel-stack=$SRCDIR/../../../../../"/>
</build>
</module>
<module name="libpcap-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="pcap.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="libpcap-dev"/>
<attribute name="name_yum" value="libpcap-devel"/>
<attribute name="more_information" value="Didn't find libpcap-dev package; please install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="libexpat-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="expat.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="libexpat1-dev"/>
<attribute name="name_yum" value="expat-devel"/>
<attribute name="more_information" value="Didn't find libexpat-dev package; please install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="ccnx">
<source type="archive">
<attribute name="url" value="http://www.ccnx.org/releases/ccnx-0.6.2.tar.gz"/>
<attribute name="extract_directory" value="ccnx-0.6.2"/>
</source>
<depends_on name="libpcap-dev" optional="False"/>
<depends_on name="libexpat-dev" optional="False"/>
<build type="make" objdir="yes">
<attribute name="pre_installation" value="cd $SRCDIR;INSTALL_BASE=$INSTALLDIR ./configure;mkdir $INSTALLDIR/include;mkdir $INSTALLDIR/lib;mkdir $INSTALLDIR/bin"/>
<attribute name="build_arguments" value="MORE_LDLIBS=-pie"/>
<attribute name="new_variable" value="INSTALL_BASE=$INSTALLDIR" />
</build>
</module>
<module name="iperf">
<source type="archive">
<attribute name="url" value="http://iperf.fr/download/iperf_2.0.5/iperf-2.0.5-source.tar.gz"/>
<attribute name="extract_directory" value="iperf-2.0.5"/>
</source>
<build type="make" objdir="yes">
<attribute name="pre_installation" value="cd $SRCDIR;./configure --prefix=$INSTALLDIR"/>
<attribute name="patch" value="$SRCDIR/../ns-3-dce/utils/iperf_4_dce.patch"/>
</build>
</module>
<module name="libdb-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="db_185.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="libdb-dev"/>
<attribute name="name_yum" value="db4-devel"/>
<attribute name="more_information" value="Didn't find libdb-dev package; please install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="bison">
<source type="system_dependency">
<attribute name="dependency_test" value="bison"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="bison"/>
<attribute name="name_yum" value="bison"/>
<attribute name="more_information" value="The bison tool is not installed, try to install them (bison)"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="flex">
<source type="system_dependency">
<attribute name="dependency_test" value="flex"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="flex"/>
<attribute name="name_yum" value="flex"/>
<attribute name="more_information" value="The flex tool is not installed, try to install them (flex)"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="libsysfs-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="libsysfs.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="libsysfs-dev"/>
<attribute name="name_yum" value="libsysfs-devel"/>
<attribute name="more_information" value="Didn't find libsysfs-dev package; please install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="libssl-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="md5.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="libssl-dev"/>
<attribute name="name_yum" value="openssl-devel"/>
<attribute name="more_information" value="Didn't find libssl-dev package; please install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="iproute">
<source type="archive">
<attribute name="url" value="http://www.linuxgrill.com/anonymous/iproute2/NEW-OSDL/iproute2-2.6.38.tar.bz2"/>
</source>
<depends_on name="libdb-dev" optional="False"/>
<depends_on name="bison" optional="False"/>
<depends_on name="flex" optional="False"/>
<depends_on name="libsysfs-dev" optional="False"/>
<depends_on name="libssl-dev" optional="False"/>
<build type="make" objdir="yes">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="pre_installation" value="$SRCDIR/configure"/>
<attribute name="LDFLAGS" value="-pie"/>
<attribute name="ignore_predefined_flags" value="True"/>
<attribute name="install_arguments" value="DESTDIR=$INSTALLDIR" />
<attribute name="build_arguments" value="CCOPTS+=-fpic CCOPTS+=-D_GNU_SOURCE CCOPTS+=-O0 CCOPTS+=-U_FORTIFY_SOURCE LDFLAGS=-pie"/>
</build>
</module>
<module name="ns-3-dev-dce">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dev"/>
<!-- attribute name="revision" value="ns-3.17"/ -->
</source>
<depends_on name="pybindgen-user" optional="True"/>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --enable-tests --with-pybindgen=$SRCDIR/../pybindgen-user"/>
</build>
</module>
<module name="net-next-sim-2.6.36">
<source type="git">
<attribute name="url" value="https://github.com/thehajime/net-next-sim.git"/>
<attribute name="module_directory" value="net-next-sim-2.6.36"/>
<attribute name="revision" value="sim-ns3-2.6.36-branch"/>
<attribute name="fetch_option" value="--depth=1"/>
</source>
<build type="make" objdir="no">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="defconfig ARCH=sim"/>
<attribute name="build_arguments" value="library ARCH=sim"/>
<attribute name="no_installation" value="True"/>
<attribute name="post_installation" value="mkdir -p $INSTALLDIR/bin_dce; cd $INSTALLDIR/bin_dce; cp $SRCDIR/libsim-linux2.6.36.so ./; ln -s -f libsim-linux2.6.36.so liblinux.so"/>
</build>
</module>
<module name="net-next-sim-3.4.0">
<source type="git">
<attribute name="url" value="https://github.com/thehajime/net-next-sim.git"/>
<attribute name="module_directory" value="net-next-sim-3.4.0"/>
<attribute name="revision" value="sim-ns3-3.4.0-branch"/>
</source>
<build type="make" objdir="no">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="defconfig ARCH=sim"/>
<attribute name="build_arguments" value="library ARCH=sim"/>
<attribute name="no_installation" value="True"/>
<attribute name="post_installation" value="mkdir -p $INSTALLDIR/bin_dce; cd $INSTALLDIR/bin_dce; cp $SRCDIR/libsim-linux3.4.0.so ./; ln -s -f libsim-linux3.4.0.so liblinux.so"/>
</build>
</module>
<module name="net-next-sim-3.7.0">
<source type="git">
<attribute name="url" value="https://github.com/thehajime/net-next-sim.git"/>
<attribute name="module_directory" value="net-next-sim-3.7.0"/>
<attribute name="revision" value="sim-ns3-3.7.0-branch"/>
</source>
<build type="make" objdir="no">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="configure_arguments" value="defconfig ARCH=sim"/>
<attribute name="build_arguments" value="library ARCH=sim"/>
<attribute name="no_installation" value="True"/>
<attribute name="post_installation" value="mkdir -p $INSTALLDIR/bin_dce; cd $INSTALLDIR/bin_dce; cp $SRCDIR/libsim-linux3.7.0.so ./; ln -s -f libsim-linux3.7.0.so liblinux.so"/>
</build>
</module>
<module name="wget">
<source type="archive">
<attribute name="url" value="http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz"/>
<attribute name="extract_directory" value="wget-1.14"/>
</source>
<build type="make" objdir="yes">
<attribute name="pre_installation" value="cd $SRCDIR; CFLAGS=-fPIC LDFLAGS=-pie ./configure --disable-opie --disable-digest --disable-ntlm --disable-largefile --disable-threads --disable-nls --disable-rpath --disable-iri --without-ssl --without-zlib --without-libiconv-prefix --without-libintl-prefix --without-libpth-prefix --without-included-regex --prefix=$INSTALLDIR"/>
</build>
</module>
<module name="thttpd">
<source type="archive">
<attribute name="url" value="http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz"/>
<attribute name="extract_directory" value="thttpd-2.25b"/>
</source>
<build type="make" objdir="yes">
<attribute name="pre_installation" value="cd $SRCDIR;./configure --prefix=$INSTALLDIR"/>
<attribute name="patch" value="$SRCDIR/../ns-3-dce/myscripts/httpd/dce-thttpd.patch"/>
<attribute name="install_arguments" value="-n" />
<attribute name="build_arguments" value="thttpd"/>
<attribute name="post_installation" value="cd $SRCDIR; mkdir $INSTALLDIR/bin_dce; /bin/cp -f thttpd-2.25b/thttpd $INSTALLDIR/bin_dce"/>
</build>
</module>
<module name="iputils">
<source type="archive">
<attribute name="url" value="http://www.skbuff.net/iputils/iputils-s20101006.tar.bz2"/>
</source>
<!-- note: iputils does not have 'make install' -->
<build type="inline" classname="IputilsModuleBuild">
<attribute name="patch" value="$SRCDIR/../ns-3-dce/myscripts/ns-3-dce-quagga/utils/iputils-ping6.patch"/>
<attribute name="supported_os" value="linux;linux2"/>
<code>class IputilsModuleBuild(InlineModuleBuild):
def __init__(self):
InlineModuleBuild.__init__(self)
def build(self, env, jobs):
if self.attribute('patch').value != '':
self.threat_patch(env)
jobstr=[]
if not jobs == -1:
jobstr = ['-j', str(jobs)]
env.run(['make', 'CFLAGS=-fpic', 'CFLAGS+=-D_GNU_SOURCE', 'CFLAGS+=-g',
'CFLAGS+=-Wstrict-prototypes', 'CFLAGS+=-Wall', 'LDFLAGS=-pie',
'ping', 'ping6'] + jobstr,
directory=env.srcdir)
env.run(['mkdir', '-p' , env.installdir + '/bin_dce/'],
directory=env.srcdir)
env.run(['cp', 'ping', 'ping6', env.installdir + '/bin_dce'],
directory=env.srcdir)
def clean(self, env):
env.run(['make', 'clean'], directory=env.srcdir)
def check_version(self, env):
return True</code>
</build>
</module>
<!-- umip related modules -->
<module name="dce-umip">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/thehajime/ns-3-dce-umip"/>
<attribute name="module_directory" value="ns-3-dce/myscripts/ns-3-dce-umip/"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="dce-linux" optional="False"/>
<depends_on name="dce-quagga" optional="False"/>
<depends_on name="umip" optional="False"/>
<build type="none">
<attribute name="supported_os" value="linux;linux2"/>
<!-- attribute name="configure_arguments" value="configure -prefix=$INSTALLDIR"/ -->
</build>
</module>
<module name="umip">
<source type="git">
<attribute name="url" value="git://git.umip.org/umip.git"/>
<attribute name="revision" value="v1.0"/>
</source>
<build type="autotools" objdir="no">
<attribute name="supported_os" value="linux;linux2"/>
<attribute name="maintainer" value="yes" />
<attribute name="configure_arguments" value="./configure CFLAGS=-fPIC LDFLAGS=-pie --prefix=$INSTALLDIR --enable-vt --with-builtin-crypto"/>
<attribute name="install_arguments" value="-n" />
<attribute name="post_installation" value="cd $SRCDIR; mkdir $INSTALLDIR/bin_dce; /bin/cp -f src/mip6d $INSTALLDIR/bin_dce"/>
</build>
</module>
<!-- quagga related modules -->
<module name="dce-quagga">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/thehajime/ns-3-dce-quagga"/>
<attribute name="module_directory" value="ns-3-dce/myscripts/ns-3-dce-quagga/"/>
<attribute name="revision" value="dce-1.0-rc1"/>
</source>
<depends_on name="dce-linux" optional="False"/>
<depends_on name="quagga" optional="False"/>
<depends_on name="iputils" optional="False"/>
<build type="none">
<attribute name="supported_os" value="linux;linux2"/>
<!-- attribute name="configure_arguments" value="configure -prefix=$INSTALLDIR"/ -->
</build>
</module>
<module name="indent">
<source type="system_dependency">
<attribute name="dependency_test" value="indent"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="indent"/>
<attribute name="name_yum" value="indent"/>
<attribute name="more_information" value="The indent tool is not installed, try to install them (indent)"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="gawk">
<source type="system_dependency">
<attribute name="dependency_test" value="gawk"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="gawk"/>
<attribute name="name_yum" value="gawk"/>
<attribute name="more_information" value="The gawk is not installed, try to install them (gawk)"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="quagga">
<source type="archive">
<!-- some of mirror sever of gnu.org isn't available.. -->
<!-- attribute name="url" value="http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz"/ -->
<attribute name="url" value="http://pkgs.fedoraproject.org/lookaside/pkgs/quagga/quagga-0.99.20.tar.gz/64cc29394eb8a4e24649d19dac868f64/quagga-0.99.20.tar.gz"/>
<attribute name="extract_directory" value="quagga-0.99.20"/>
</source>
<depends_on name="indent" optional="False"/>
<depends_on name="gawk" optional="False"/>
<build type="make" objdir="yes">
<attribute name="pre_installation" value="cd $SRCDIR; CFLAGS='-fPIC -g' LDFLAGS=-pie ./configure --disable-shared --enable-static --disable-user --disable-group --disable-capabilities --prefix=$INSTALLDIR"/>
<attribute name="install_arguments" value="-n" />
<attribute name="post_installation" value="cd $SRCDIR; mkdir $INSTALLDIR/bin_dce; /bin/cp zebra/zebra $INSTALLDIR/bin_dce;/bin/cp ripd/ripd $INSTALLDIR/bin_dce;/bin/cp ripngd/ripngd $INSTALLDIR/bin_dce;/bin/cp ospfd/ospfd $INSTALLDIR/bin_dce;/bin/cp ospf6d/ospf6d $INSTALLDIR/bin_dce;/bin/cp bgpd/bgpd $INSTALLDIR/bin_dce"/>
</build>
</module>
<module name="click-dev">
<source type="git">
<attribute name="url" value="git://read.cs.ucla.edu/git/click"/>
<!-- <attribute name="revision" value="724412626833df5c13384be5cce4da52c601371f"/>
-->
</source>
<build type="autotools" objdir="yes">
<attribute name="configure_arguments" value="../configure --prefix=$INSTALLDIR --exec-prefix=$INSTALLDIR -enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi"/>
<attribute name="post_installation" value="mkdir $INSTALLDIR/lib; cp -r $OBJDIR/include $INSTALLDIR/lib/."/>
</build>
</module>
<module name="click-ns-3.17">
<source type="git">
<attribute name="url" value="git://read.cs.ucla.edu/git/click"/>
<attribute name="revision" value="806126cb73f3600570204b538fb5201725a3a5ce"/>
</source>
<build type="autotools" objdir="yes">
<attribute name="configure_arguments" value="../configure --prefix=$INSTALLDIR --exec-prefix=$INSTALLDIR -enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi"/>
<attribute name="post_installation" value="mkdir $INSTALLDIR/lib; cp -r $OBJDIR/include $INSTALLDIR/lib/."/>
</build>
</module>
<module name="click-2.0.1">
<source type="git">
<attribute name="url" value="git://read.cs.ucla.edu/git/click"/>
<attribute name="revision" value="8847f68461856418c409f4de4165412b3ec2cade"/>
</source>
<build type="autotools" objdir="yes">
<attribute name="configure_arguments" value="../configure -enable-userlevel --disable-linuxmodule --enable-nsclick --enable-wifi"/>
<!-- <attribute name="post_installation" value="mkdir $INSTALLDIR/lib; cp -r $OBJDIR/include $INSTALLDIR/lib/.; cp -r $SRCDIR/include $INSTALLDIR/lib"/>
-->
</build>
</module>
<module name="libxml2-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="xmlIO.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_yum" value="libxml2-devel"/>
<attribute name="name_yast" value="libxml2-devel"/>
<attribute name="name_apt-get" value="libxml2-dev"/>
<attribute name="more_information" value="Didn't find the libxml2-dev library, try to install it!"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="openflow-jpelkey">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/jpelkey3/openflow"/>
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR"/>
<attribute name="no_installation" value="True"/>
<!-- It complains if the lib directory exists, so I am removing the lib directory. Another
thing is that it try to install things by default, so the instalation is not required-->
<attribute name="pre_installation" value="mv $INSTALLDIR/lib $INSTALLDIR/libTmp"/>
<attribute name="post_installation" value="mkdir $INSTALLDIR/lib; mv $INSTALLDIR/libTmp/* $INSTALLDIR/lib/.; rm -rf $INSTALLDIR/libTmp" />
</build>
<depends_on name="libxml2-dev" optional="False"/>
</module>
<module name="openflow-dev">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/openflow"/>
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR"/>
</build>
<depends_on name="libxml2-dev" optional="False"/>
</module>
<module name="openflow-ns-3.17">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/openflow"/>
<attribute name="revision" value="bb2869a6bbe1"/>
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR"/>
</build>
<depends_on name="libxml2-dev" optional="False"/>
</module>
<module name="gccxml-ns3">
<source type="cvs">
<attribute name="root" value=":pserver:anoncvs:@www.gccxml.org:/cvsroot/GCC_XML"/>
<attribute name="module" value="gccxml"/>
<attribute name="date" value="2009-09-21"/>
</source>
<build type="cmake" objdir="yes">
</build>
</module>
<module name="pygccxml">
<source type="archive">
<attribute name="url" value="http://downloads.sourceforge.net/project/pygccxml/pygccxml/pygccxml-1.0/pygccxml-1.0.0.zip"/>
</source>
<build type="python" objdir="yes">
</build>
<depends_on name="gccxml-ns3" optional="True"/>
</module>
<module name="pygccxml-1.0.0">
<source type="archive">
<attribute name="url" value="http://downloads.sourceforge.net/project/pygccxml/pygccxml/pygccxml-1.0/pygccxml-1.0.0.zip"/>
</source>
<build type="python" objdir="yes">
</build>
<depends_on name="gccxml-ns3" optional="True"/>
</module>
<module name="python-dev">
<source type="system_dependency">
<attribute name="dependency_test" value="Python.h"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="python-dev"/>
<attribute name="name_yum" value="python-devel"/>
<attribute name="more_information" value="The python-dev is not installed, try to install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="pygraphviz">
<source type="system_dependency">
<attribute name="dependency_test" value="(_gv.so or _graphviz.so)"/>
<attribute name="try_to_install" value="False"/>
<attribute name="name_apt-get" value="python-pygraphviz"/>
<attribute name="name_yum" value="graphviz-python"/>
<attribute name="more_information" value="The pygraphviz is not installed, try to install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="pygoocanvas">
<source type="system_dependency">
<attribute name="dependency_test" value="goocanvasmodule.so"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_apt-get" value="python-pygoocanvas"/>
<attribute name="name_yum" value="pygoocanvas"/>
<attribute name="more_information" value="The pygoocanvas is not installed, try to install it."/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="pybindgen-dev">
<source type="bazaar">
<attribute name="url" value="https://launchpad.net/pybindgen"/>
<!-- <attribute name="revision" value="revno:825"/>
-->
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR"/>
<attribute name="build_arguments" value="--generate-version"/>
</build>
<depends_on name="python-dev" optional="False"/>
<depends_on name="pygraphviz" optional="False"/>
<depends_on name="pygoocanvas" optional="False"/>
<depends_on name="pygccxml" optional="True"/>
<depends_on name="gccxml-ns3" optional="False"/>
</module>
<module name="pybindgen-user">
<source type="bazaar">
<attribute name="url" value="https://launchpad.net/pybindgen"/>
<attribute name="revision" value="revno:825"/>
</source>
<depends_on name="python-dev" optional="False"/>
<depends_on name="pygraphviz" optional="False"/>
<depends_on name="pygoocanvas" optional="False"/>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --disable-pygccxml"/>
<attribute name="build_arguments" value="--generate-version"/>
</build>
</module>
<module name="pybindgen-0.16.0.825">
<source type="bazaar">
<attribute name="url" value="https://launchpad.net/pybindgen"/>
<attribute name="revision" value="revno:825"/>
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR"/>
<attribute name="build_arguments" value="--generate-version"/>
</build>
</module>
<module name="g++">
<source type="system_dependency">
<attribute name="dependency_test" value="g\+\+"/>
<attribute name="try_to_install" value="False"/>
<attribute name="more_information" value="g++ is not installed, try to install it or talk to your system administrator"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="nsc-dev">
<source type="mercurial">
<attribute name="url" value="https://secure.wand.net.nz/mercurial/nsc"/>
<attribute name="module_directory" value="nsc"/>
</source>
<depends_on name="g++" optional="False"/>
<!-- problem: scons has no generic command-line support for builddir and installdir -->
<build type="inline" classname="NscModuleBuild">
<attribute name="supported_os" value="linux;linux2"/>
<code>class NscModuleBuild(InlineModuleBuild):
def __init__(self):
InlineModuleBuild.__init__(self)
def build(self, env, jobs):
import os
import shutil
jobstr=[]
if not jobs == -1:
jobstr = ['-j', str(jobs)]
env.run(['python', os.path.join(env.srcdir, 'scons.py'),
'prefix=' + env.installdir, 'install'] + jobstr,
directory=env.srcdir )
srcLib = os.path.join(env.srcdir, 'lib')
files = os.listdir(srcLib)
destination = os.path.join(env.installdir, 'lib')
for file in files:
try:
shutil.copy2(os.path.join(srcLib, file), destination)
except Exception as e:
print (" > Error executing copy : " + str(e) + "\n")
def clean(self, env):
env.run(['python', os.path.join(env.srcdir, 'scons.py'), '-c'],
directory=env.srcdir)
def check_version(self, env):
return True</code>
</build>
</module>
<module name="nsc-0.5.3">
<source type="mercurial">
<attribute name="url" value="https://secure.wand.net.nz/mercurial/nsc"/>
<attribute name="revision" value="08c391d0660a"/>
</source>
<!-- problem: scons has no generic command-line support for builddir and installdir -->
<depends_on name="g++" optional="False"/>
<build type="inline" classname="NscModuleBuild">
<attribute name="supported_os" value="linux;linux2"/>
<code>class NscModuleBuild(InlineModuleBuild):
def __init__(self):
InlineModuleBuild.__init__(self)
def build(self, env, jobs):
import os
import shutil
jobstr=[]
if not jobs == -1:
jobstr = ['-j', str(jobs)]
env.run(['python', os.path.join(env.srcdir, 'scons.py'),
'prefix=' + env.installdir, 'install'] + jobstr,
directory=env.srcdir )
srcLib = os.path.join(env.srcdir, 'lib')
env._logger.commands.write("LibDir: " + srcLib +"\n")
destination = os.path.join(env.installdir, 'lib')
env._logger.commands.write("DstDir: " + destination +"\n")
if not os.path.exists(destination):
os.makedirs(destination)
files = os.listdir(srcLib)
env._logger.commands.write("Files:"+str(files)+"\n")
for file in files:
env._logger.commands.write(file + "->" + destination +"\n")
try:
shutil.copy2(os.path.join(srcLib, file), destination)
except Exception as e:
print (" > Error executing copy : " + str(e) + "\n")
def clean(self, env):
env.run(['python', os.path.join(env.srcdir, 'scons.py'), '-c'],
directory=env.srcdir)
def check_version(self, env):
return True</code>
</build>
</module>
<module name="qt4">
<source type="system_dependency">
<attribute name="dependency_test" value="(qmake or qmake-qt4)"/>
<attribute name="try_to_install" value="True"/>
<attribute name="name_yum" value="qt4-devel"/>
<attribute name="name_apt-get" value="qt4-dev-tools"/>
<attribute name="more_information" value="Didn't find QT 4, download and install it from http://qt.nokia.com/downloads/"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="libc-debug">
<source type="system_dependency">
<attribute name="try_to_install" value="False"/> <!-- should be fixed -->
<attribute name="name_apt-get" value="libc6-dbg"/>
<attribute name="name_yum" value="glibc-debuginfo"/>
<attribute name="more_information" value="Didn't find libc debug package; please install it."/>
<attribute name="try_to_install" value="False"/>
</source>
<build type="none" objdir="no">
</build>
</module>
<module name="elf-loader">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/thehajime/elf-loader"/>
</source>
<depends_on name="libc-debug" optional="False"/>
<build type="make" objdir="no">
<attribute name="configure_arguments" value="vdl-config.h"/>
<attribute name="install_arguments" value="PREFIX=$INSTALLDIR"/>
</build>
</module>
<module name="netanim-dev">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/netanim"/>
</source>
<build type="make" objdir="no">
<attribute name="pre_installation" value="cd $SRCDIR;qmake NetAnim.pro or cd $SRCDIR;qmake-qt4 NetAnim.pro or cd $SRCDIR;qmake -spec macx-g++ NetAnim.pro"/>
</build>
<depends_on name="qt4" optional="False"/>
</module>
<module name="netanim-3.103">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/netanim"/>
<attribute name="revision" value="a898a19d5b9f"/>
</source>
<build type="make" objdir="no">
<attribute name="pre_installation" value="cd $SRCDIR;qmake NetAnim.pro or cd $SRCDIR;qmake-qt4 NetAnim.pro or cd $SRCDIR;qmake -spec macx-g++ NetAnim.pro"/>
</build>
<depends_on name="qt4" optional="False"/>
</module>
<module name="ns-3-allinone">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dev"/>
</source>
<depends_on name="netanim-dev" optional="True"/>
<depends_on name="nsc-dev" optional="True"/>
<depends_on name="pybindgen-dev" optional="True"/>
<depends_on name="click-dev" optional="True"/>
<depends_on name="openflow-dev" optional="True"/>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --enable-examples --enable-tests --with-nsclick=$SRCDIR/click-dev --with-pybindgen=$SRCDIR/pybindgen --with-openflow=$SRCDIR/openflow-dev --with-nsc=$SRCDIR/nsc-dev"/>
</build>
</module>
<module name="ns-3-dev">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dev"/>
</source>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --enable-examples --enable-tests"/>
</build>
</module>
<!-- ns-3.17 main module definition; for now, pulling ns-3-dev -->
<module name="ns-3.17">
<source type="mercurial">
<attribute name="url" value="http://code.nsnam.org/ns-3-dev"/>
</source>
<depends_on name="netanim-3.103" optional="True"/>
<depends_on name="pybindgen-0.16.0.825" optional="True"/>
<build type="waf" objdir="yes">
<attribute name="configure_arguments" value="configure --prefix=$INSTALLDIR --enable-examples --enable-tests"/>
</build>
</module>
<module name="ns-allinone-3.17">
<source type="none"/>
<depends_on name="netanim-3.103" optional="True"/>
<depends_on name="nsc-0.5.3" optional="True"/>
<depends_on name="pybindgen-0.16.0.825" optional="True"/>
<depends_on name="click-ns-3.17" optional="True"/>
<depends_on name="openflow-ns-3.17" optional="True"/>
<depends_on name="pygccxml-1.0.0" optional="True"/>
<depends_on name="gccxml-ns3" optional="True"/>
<depends_on name="ns-3.17" optional="False"/>
<build type="none"/>
</module>
</modules>
<predefined name="dbg">
<append name="CFLAGS" value="-g"/>
<append name="CXXFLAGS" value="-g"/>
<configuration objdir="dbg"/>
<configuration installdir="build_dbg"/>
</predefined>
<predefined name="opt">
<configuration objdir="opt"/>
<configuration installdir="build_opt"/>
<!-- <append name="configure_arguments" value=" -d optimized"/> -->
<append name="CFLAGS" value="-O3"/>
<append name="CXXFLAGS" value="-O3"/>
</predefined>
<predefined name="ns3">
<enable name="ns-3-dev"/>
<!-- <configuration installdir="." sourcedir="../source"/> -->
<append module="ns-3-dev" name="configure_arguments" value="--enable-examples --enable-tests"/>
</predefined>
<predefined name="ns3-min">
<enable name="ns-3-dev"/>
<append module="ns-3-dev" name="configure_arguments" value=" --enable-modules=core,network,wifi"/> -->
</predefined>
</configuration>