>further information on what you refer to as 'industry standard'
The info pages for GNU libtool have this to say:
"""
'-no-undefined'
Declare that OUTPUT-FILE does not depend on any libraries other
than the ones listed on the command line, i.e., after linking, it
will not have unresolved symbols. Some platforms require all
symbols in shared libraries to be resolved at library creation
(*note Inter-library dependencies::), and using this parameter
allows 'libtool' to assume that this will not happen.
"""
"""
Some platforms, such as Windows, do not even allow you this
flexibility. In order to build a shared library, it must be entirely
self-contained or it must have dependencies known at link time (that is,
have references only to symbols that are found in the '.lo' files or the
specified '-l' libraries), and you need to specify the '-no-undefined'
flag. By default, libtool builds only static libraries on these kinds
of platforms.
"""