From a88ba4fd5b7785efc773850803ebcbf19229c3f0 Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Sat, 24 Jan 2009 18:47:47 +0000 Subject: [PATCH] librt is need not for threading primitives but for the real time scheduler --- src/core/wscript | 3 --- src/simulator/wscript | 15 +++++++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/core/wscript b/src/core/wscript index 8d76057fe..879a4c997 100644 --- a/src/core/wscript +++ b/src/core/wscript @@ -9,8 +9,6 @@ def configure(conf): conf.check(header_name='signal.h', define_name='HAVE_SIGNAL_H') - conf.check(lib='rt', uselib='RT', define_name='HAVE_RT') - conf.env['ENABLE_THREADING'] = conf.check(header_name='pthread.h', define_name='HAVE_PTHREAD_H') conf.report_optional_feature("Threading", "Threading Primitives", @@ -54,7 +52,6 @@ def build(bld): 'config.cc', 'callback.cc', ] - core.uselib = 'RT' headers = bld.new_task_gen('ns3header') headers.module = 'core' diff --git a/src/simulator/wscript b/src/simulator/wscript index 1824bd486..e4ae5c0b8 100644 --- a/src/simulator/wscript +++ b/src/simulator/wscript @@ -33,9 +33,14 @@ def configure(conf): conf.write_config_header('ns3/simulator-config.h') - conf.report_optional_feature("RealTime", "Real Time Simulator", - conf.env['ENABLE_THREADING'], - "threading not enabled") + if not conf.check(lib='rt', uselib='RT', define_name='HAVE_RT'): + conf.report_optional_feature("RealTime", "Real Time Simulator", + False, "librt is not available") + else: + conf.report_optional_feature("RealTime", "Real Time Simulator", + conf.env['ENABLE_THREADING'], + "threading not enabled") + conf.env["ENABLE_REAL_TIME"] = conf.env['ENABLE_THREADING'] def build(bld): @@ -101,7 +106,7 @@ def build(bld): 'cairo-wideint-private.h', ]) - if env['ENABLE_THREADING']: + if env['ENABLE_REAL_TIME']: headers.source.extend([ 'realtime-simulator-impl.h', 'wall-clock-synchronizer.h', @@ -110,4 +115,6 @@ def build(bld): 'realtime-simulator-impl.cc', 'wall-clock-synchronizer.cc', ]) + sim.uselib = 'RT' +