Now run doxygen again before the build, but the doc/trace-source-list.h is generated during waf check; make doxygen less verbose, and give a warning when doc/trace-source-list.h is missing.
--- a/doc/doxygen.conf Tue Oct 02 15:34:00 2007 -0700
+++ b/doc/doxygen.conf Wed Oct 03 13:58:01 2007 +0100
@@ -397,7 +397,7 @@
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
-QUIET = NO
+QUIET = YES
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated by doxygen. Possible values are YES and NO. If left blank
--- a/doc/trace-source-list.h Tue Oct 02 15:34:00 2007 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-///
-/// \ingroup TraceSourceList
-/// \brief send ipv4 packet to outgoing interface
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet sent.
-/// \param arg3 index of output ipv4 interface.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/ipv4/tx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback0 (const TraceContext & arg1, const Packet & arg2, uint32_t arg3);
-
-///
-/// \ingroup TraceSourceList
-/// \brief receive ipv4 packet from incoming interface
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet received.
-/// \param arg3 index of input ipv4 interface.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/ipv4/rx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback1 (const TraceContext & arg1, const Packet & arg2, uint32_t arg3);
-
-///
-/// \ingroup TraceSourceList
-/// \brief drop ipv4 packet
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet dropped.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/ipv4/drop.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback2 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief store packet in queue
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet queued.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/queue/enqueue.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::QueueTraceType
-void TraceSinkCallback3 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief remove packet from queue
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet dequeued.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/queue/dequeue.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::QueueTraceType
-void TraceSinkCallback4 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief drop packet from queue
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet dropped.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/queue/drop.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::QueueTraceType
-void TraceSinkCallback5 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief receive MAC packet
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet received.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/rx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::PointToPointTraceType
-void TraceSinkCallback6 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief receive MAC packet
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet received.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/rx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::CsmaTraceType
-void TraceSinkCallback7 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief drop MAC packet
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet dropped.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/devices/[0-n]/drop.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::NodeNetDeviceIndex
-/// - ns3::CsmaTraceType
-void TraceSinkCallback8 (const TraceContext & arg1, const Packet & arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief The value of the speed vector changed
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 the mobility model whose course changed.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/$MobilityModelNotifier/course-change.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-void TraceSinkCallback9 (const TraceContext & arg1, Ptr<const MobilityModel> arg2);
-
-///
-/// \ingroup TraceSourceList
-/// \brief send ipv4 packet to outgoing interface
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet sent.
-/// \param arg3 index of output ipv4 interface.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/$Ipv4L3Protocol/tx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback10 (const TraceContext & arg1, const Packet & arg2, uint32_t arg3);
-
-///
-/// \ingroup TraceSourceList
-/// \brief receive ipv4 packet from incoming interface
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet received.
-/// \param arg3 index of input ipv4 interface.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/$Ipv4L3Protocol/rx.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback11 (const TraceContext & arg1, const Packet & arg2, uint32_t arg3);
-
-///
-/// \ingroup TraceSourceList
-/// \brief drop ipv4 packet
-/// \param arg1 the trace context associated to the connected trace source.
-/// \param arg2 packet dropped.
-///
-///
-/// The path to this trace source is: /nodes/[0-n]/$Ipv4L3Protocol/drop.
-///
-/// The following classes can be extracted from \p arg1 with
-/// ns3::TraceContext::GetElement:
-/// - ns3::NodeListIndex
-/// - ns3::Ipv4L3ProtocolTraceContextElement
-void TraceSinkCallback12 (const TraceContext & arg1, const Packet & arg2);
-
--- a/wscript Tue Oct 02 15:34:00 2007 -0700
+++ b/wscript Wed Oct 03 13:58:01 2007 +0100
@@ -167,6 +167,10 @@
run_shell()
raise SystemExit(0)
+ if Params.g_options.doxygen:
+ doxygen()
+ raise SystemExit(0)
+
check_shell()
# process subfolders from here
@@ -190,7 +194,7 @@
#ut.print_results()
if Params.g_commands['check']:
- run_program('run-tests')
+ _run_waf_check()
if Params.g_options.lcov_report:
lcov_report()
@@ -202,9 +206,17 @@
if Params.g_options.command_template:
Params.fatal("Option --command-template requires the option --run to be given")
- if Params.g_options.doxygen:
- doxygen()
- raise SystemExit(0)
+def _run_waf_check():
+ ## generate the trace sources list docs
+ env = Params.g_build.env_of_name('default')
+ proc_env = _get_proc_env()
+ prog = _find_program('print-trace-sources', env).m_linktask.m_outputs[0].abspath(env)
+ out = open('doc/trace-source-list.h', 'w')
+ if subprocess.Popen([prog], stdout=out, env=proc_env).wait():
+ raise SystemExit(1)
+ out.close()
+
+ run_program('run-tests')
def _find_program(program_name, env):
@@ -337,15 +349,8 @@
def doxygen():
- env = Params.g_build.env_of_name('default')
-
- ## generate the trace sources list docs
- proc_env = _get_proc_env()
- prog = _find_program('print-trace-sources', env).m_linktask.m_outputs[0].abspath(env)
- out = open('doc/trace-source-list.h', 'w')
- if subprocess.Popen([prog], stdout=out, env=proc_env).wait():
- raise SystemExit(1)
- out.close()
+ if not os.path.exists('doc/trace-source-list.h'):
+ Params.warning("doc/trace-source-list.h does not exist; run waf check to generate it.")
## run doxygen
doxygen_config = os.path.join('doc', 'doxygen.conf')