[Xorp-hackers] [PATCH 9/9] xorp: Make symlinks for shared libraries
igorm at etf.rs
igorm at etf.rs
Mon Feb 6 09:00:37 PST 2012
From: Igor Maravic <igorm at etf.rs>
Make symlinks to shared libraries, so xorpsh and xorp_rtrmgr could be run from
$BUILDDIR.
Signed-off-by: Igor Maravic <igorm at etf.rs>
---
xorp/contrib/mld6igmp_lite/SConscript | 6 ++++++
xorp/contrib/olsr/SConscript | 12 ++++++++++++
xorp/fea/data_plane/control_socket/SConscript | 5 +++++
xorp/fea/data_plane/fibconfig/SConscript | 6 ++++++
xorp/fea/data_plane/firewall/SConscript | 6 ++++++
xorp/fea/data_plane/ifconfig/SConscript | 6 ++++++
xorp/fea/data_plane/io/SConscript | 6 ++++++
xorp/fea/data_plane/managers/SConscript | 5 +++++
8 files changed, 52 insertions(+), 0 deletions(-)
diff --git a/xorp/contrib/mld6igmp_lite/SConscript b/xorp/contrib/mld6igmp_lite/SConscript
index f4379a9..c70d5c4 100644
--- a/xorp/contrib/mld6igmp_lite/SConscript
+++ b/xorp/contrib/mld6igmp_lite/SConscript
@@ -81,6 +81,12 @@ libmld6igmplitesrcs = [
if is_shared:
libmld6igmplite = env.SharedLibrary(target = 'libmld6igmplite', source = libmld6igmplitesrcs, LIBS = '')
+ if env['rtld_origin']:
+ for obj in libmld6igmplite:
+ env.AddPostAction(libmld6igmplite,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install',
env.InstallLibrary(env['xorp_libdir'], libmld6igmplite))
else:
diff --git a/xorp/contrib/olsr/SConscript b/xorp/contrib/olsr/SConscript
index 1f7f1c0..b4cdba4 100644
--- a/xorp/contrib/olsr/SConscript
+++ b/xorp/contrib/olsr/SConscript
@@ -121,6 +121,12 @@ libolsrsrcs = [
if is_shared:
libolsr = env.SharedLibrary(target = 'libolsr', source = libolsrsrcs, LIBS = '')
+ if env['rtld_origin']:
+ for obj in libolsr:
+ env.AddPostAction(libolsr,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install',
env.InstallLibrary(env['xorp_libdir'], libolsr))
else:
@@ -137,6 +143,12 @@ libolsrxrlsrcs = [
if is_shared:
libolsrxrl = env.SharedLibrary(target = 'libolsrxrl', source = libolsrxrlsrcs, LIBS = '')
+ if env['rtld_origin']:
+ for obj in libolsrxrl:
+ env.AddPostAction(libolsrxrl,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install',
env.InstallLibrary(env['xorp_libdir'], libolsrxrl))
else:
diff --git a/xorp/fea/data_plane/control_socket/SConscript b/xorp/fea/data_plane/control_socket/SConscript
index 2d97dde..afb6796 100644
--- a/xorp/fea/data_plane/control_socket/SConscript
+++ b/xorp/fea/data_plane/control_socket/SConscript
@@ -45,6 +45,11 @@ if env['enable_click']:
if is_shared:
libxcs = env.SharedLibrary(target = 'libxorp_fea_control_socket',
source = sources)
+ if env['rtld_origin']:
+ for obj in libxcs:
+ env.AddPostAction(libxcs,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libxcs))
else:
libxcs = env.StaticLibrary(target = 'libxorp_fea_control_socket',
diff --git a/xorp/fea/data_plane/fibconfig/SConscript b/xorp/fea/data_plane/fibconfig/SConscript
index 5f03308..02b9a23 100644
--- a/xorp/fea/data_plane/fibconfig/SConscript
+++ b/xorp/fea/data_plane/fibconfig/SConscript
@@ -87,6 +87,12 @@ if env['enable_fea_dummy']:
if is_shared:
libxfc = env.SharedLibrary(target = 'libxorp_fea_fibconfig',
source = sources)
+ if env['rtld_origin']:
+ for obj in libxfc:
+ env.AddPostAction(libxfc,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libxfc))
else:
libxfc = env.StaticLibrary(target = 'libxorp_fea_fibconfig',
diff --git a/xorp/fea/data_plane/firewall/SConscript b/xorp/fea/data_plane/firewall/SConscript
index 3e9b59e..1f50e71 100644
--- a/xorp/fea/data_plane/firewall/SConscript
+++ b/xorp/fea/data_plane/firewall/SConscript
@@ -44,6 +44,12 @@ sources = [
if is_shared:
libxfw = env.SharedLibrary(target = 'libxorp_fea_firewall',
source = sources)
+ if env['rtld_origin']:
+ for obj in libxfw:
+ env.AddPostAction(libxfw,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libxfw))
else:
libxfw = env.StaticLibrary(target = 'libxorp_fea_firewall',
diff --git a/xorp/fea/data_plane/ifconfig/SConscript b/xorp/fea/data_plane/ifconfig/SConscript
index 65694d5..241f718 100644
--- a/xorp/fea/data_plane/ifconfig/SConscript
+++ b/xorp/fea/data_plane/ifconfig/SConscript
@@ -69,6 +69,12 @@ if env['enable_fea_dummy']:
if is_shared:
libxifc = env.SharedLibrary(target = 'libxorp_fea_ifconfig',
source = sources)
+ if env['rtld_origin']:
+ for obj in libxifc:
+ env.AddPostAction(libxifc,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
# XXX missing RPATH.
else:
libxifc = env.StaticLibrary(target = 'libxorp_fea_ifconfig',
diff --git a/xorp/fea/data_plane/io/SConscript b/xorp/fea/data_plane/io/SConscript
index ca17bfb..0cd0fdb 100644
--- a/xorp/fea/data_plane/io/SConscript
+++ b/xorp/fea/data_plane/io/SConscript
@@ -45,6 +45,12 @@ if env['enable_fea_dummy']:
if is_shared:
libxio = env.SharedLibrary(target = 'libxorp_fea_io', source = sources)
+ if env['rtld_origin']:
+ for obj in libxio:
+ env.AddPostAction(libxio,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
+
env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libxio))
else:
libxio = env.StaticLibrary(target = 'libxorp_fea_io', source = sources)
diff --git a/xorp/fea/data_plane/managers/SConscript b/xorp/fea/data_plane/managers/SConscript
index 6966787..18ca073 100644
--- a/xorp/fea/data_plane/managers/SConscript
+++ b/xorp/fea/data_plane/managers/SConscript
@@ -45,6 +45,11 @@ if env['enable_fea_dummy']:
if is_shared:
libxdpm = env.SharedLibrary(target = 'libxorp_fea_data_plane_managers',
source = sources)
+ if env['rtld_origin']:
+ for obj in libxdpm:
+ env.AddPostAction(libxdpm,
+ env.Symlink(obj.abspath,
+ os.path.join(env['xorp_alias_libdir'], str(obj))))
else:
libxdpm = env.StaticLibrary(target = 'libxorp_fea_data_plane_managers',
source = sources)
--
1.7.5.4
More information about the Xorp-hackers
mailing list