# Generated by libtool
# NOTE: above line is just to pass func_ltwrapper_script_p sanity check of
#       libtool script, as we are basically sort of abusing it so as to inject
#       our custom linker script to "private" (cf. examples) users of libqb.la

# shall rather carry a location of old_library (possibly libdir or something
# else, but installed=no needed to suppress 'library moved' warning then) as
# it's together (with libtool implied prefix otherwise) used for linking libqb
libdir=@abs_builddir@

# avoids issues with library_names (spurious rpath emitting, relink-on-install)
old_library=qblog_script_noop.ld

# subject of our injection into libqb.la impacting build time for private users
inherited_linker_flags=-Wl,@abs_builddir@/qblog_script.ld
