# this is done here since configure.ac AC_OUTPUT doesn't expand exec_prefix
bind10: bind10_src.py $(PYTHON_LOGMSGPKG_DIR)/work/bind10_messages.py
$(SED) -e "s|@@PYTHONPATH@@|@pyexecdir@|" \
+ -e "s|@@LIBDIR@@|$(libdir)|" \
-e "s|@@LIBEXECDIR@@|$(pkglibexecdir)|" bind10_src.py >$@
chmod a+x $@
self.start_simple("b10-xfrout", c_channel_env)
def start_xfrin(self, c_channel_env):
+ # XXX: a quick-hack workaround. xfrin will implicitly use dynamically
+ # loadable data source modules, which will be installed in $(libdir).
+ # On some OSes (including MacOS X and *BSDs) the main process (python)
+ # cannot find the modules unless they are located in a common shared
+ # object path or a path in the (DY)LD_LIBRARY_PATH. We should seek
+ # a cleaner solution, but for a short term workaround we specify the
+ # path here, unconditionally, and without even bothering which
+ # environment varialbe should be used.
+ if not "B10_FROM_SOURCE" in os.environ:
+ cur_path = os.getenv('DYLD_LIBRARY_PATH')
+ cur_path = '' if cur_path is None else ':' + cur_path
+ c_channel_env['DYLD_LIBRARY_PATH'] = "@@LIBDIR@@" + cur_path
+
+ cur_path = os.getenv('LD_LIBRARY_PATH')
+ cur_path = '' if cur_path is None else ':' + cur_path
+ c_channel_env['LD_LIBRARY_PATH'] = "@@LIBDIR@@" + cur_path
self.start_simple("b10-xfrin", c_channel_env)
def start_zonemgr(self, c_channel_env):