From: Igor Maravic <[email protected]> Make symlinks to shared libraries, so xorpsh and xorp_rtrmgr could be run from $BUILDDIR.
Signed-off-by: Igor Maravic <[email protected]> --- 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 _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
