diff --git a/src/contrib/net-anim/animation-interface.cc b/src/contrib/net-anim/animation-interface.cc index 047083689..5a750a906 100644 --- a/src/contrib/net-anim/animation-interface.cc +++ b/src/contrib/net-anim/animation-interface.cc @@ -21,9 +21,15 @@ #include #include +#include "ns3/net-anim-config.h" + // Socket related includes -#include -#include +#if defined(HAVE_SYS_SOCKET_H) && defined(HAVE_NETINET_IN_H) +# include +# include +#else +#include +#endif // ns3 includes #include "ns3/animation-interface.h" @@ -58,6 +64,7 @@ bool AnimationInterface::SetOutputFile (const std::string& fn) bool AnimationInterface::SetServerPort (uint16_t port) { +#if defined(HAVE_SYS_SOCKET_H) && defined(HAVE_NETINET_IN_H) int s = socket (AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr; addr.sin_family = AF_INET; @@ -77,6 +84,8 @@ bool AnimationInterface::SetServerPort (uint16_t port) int t = 1; setsockopt (s, SOL_SOCKET, SO_LINGER, &t, sizeof(t)); return true; +#endif + return false;//never reached unless the above is disabled } bool AnimationInterface::SetInternalAnimation () diff --git a/src/contrib/net-anim/point-to-point-dumbbell-helper.cc b/src/contrib/net-anim/point-to-point-dumbbell-helper.cc index 43fddf35f..0188315ec 100644 --- a/src/contrib/net-anim/point-to-point-dumbbell-helper.cc +++ b/src/contrib/net-anim/point-to-point-dumbbell-helper.cc @@ -21,10 +21,6 @@ #include #include -// Socket related includes -#include -#include - // ns3 includes #include "ns3/animation-interface.h" #include "ns3/point-to-point-dumbbell-helper.h" diff --git a/src/contrib/net-anim/wscript b/src/contrib/net-anim/wscript index 0e0c8dd30..a3cd21edc 100644 --- a/src/contrib/net-anim/wscript +++ b/src/contrib/net-anim/wscript @@ -1,5 +1,11 @@ ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*- +def configure(conf): + conf.check(header_name='sys/socket.h', define_name='HAVE_SYS_SOCKET_H') + conf.check(header_name='netinet/in.h', define_name='HAVE_NETINET_IN_H') + conf.write_config_header('ns3/net-anim-config.h', top=True) + + def build(bld): obj = bld.create_ns3_module('net-anim') obj.source = [ diff --git a/src/contrib/wscript b/src/contrib/wscript index 046958dda..1a32d13c9 100644 --- a/src/contrib/wscript +++ b/src/contrib/wscript @@ -14,10 +14,12 @@ def configure(conf): conf.report_optional_feature("XmlIo", "XmlIo", conf.env['ENABLE_LIBXML2'], "library 'libxml-2.0 >= 2.7' not found") - conf.sub_config('stats') - conf.write_config_header('ns3/contrib-config.h', top=True) + conf.sub_config('stats') + conf.sub_config('net-anim') + + def build(bld): module = bld.create_ns3_module('contrib', ['simulator', 'common']) module.source = [