On Fri, Jul 1, 2022 at 4:56 PM Ilya Maximets <i.maxim...@ovn.org> wrote: > > On 6/29/22 15:52, Frode Nordahl wrote: > > Allow caller of setup.py to pass in libopenvswitch.a as an object > > for linking through the use of LDFLAGS environment variable when > > not building a shared openvswitch library. > > > > To accomplish this set the `enable_shared` environment variable to > > 'no'. > > > > Example: > > LDFLAGS=lib/libopenvswitch.a enable_shared=no setup.py install > > > > Signed-off-by: Frode Nordahl <frode.nord...@canonical.com> > > --- > > python/setup.py | 12 +++++++++++- > > 1 file changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/python/setup.py b/python/setup.py > > index cfe01763f..b6e88e98e 100644 > > --- a/python/setup.py > > +++ b/python/setup.py > > @@ -10,6 +10,7 @@ > > # See the License for the specific language governing permissions and > > # limitations under the License. > > > > +import os > > import sys > > > > from distutils.command.build_ext import build_ext > > @@ -63,6 +64,15 @@ class try_build_ext(build_ext): > > raise BuildFailed() > > > > > > +# allow caller of setup.py to pass in libopenvswitch.a as an object for > > linking > > +# through the use of LDFLAGS environment variable when not building a > > shared > > +# openvswitch library. > > +if 'enable_shared' in os.environ and os.environ['enable_shared'] == 'no': > > Just a nitpick, but maybe: > > if os.environ.get('enable_shared', 'no') == 'no': > > ?
I'll update the change along those lines. I want to retain the current behavior by default, so I'll use a different default for the get() call, but otherwise it's a good idea. Thx! -- Frode Nordahl > > + json_libraries = [] > > +else: > > + json_libraries = ['openvswitch'] > > + > > + > > setup_args = dict( > > name='ovs', > > description='Open vSwitch library', > > @@ -85,7 +95,7 @@ setup_args = dict( > > 'Programming Language :: Python :: 3.5', > > ], > > ext_modules=[setuptools.Extension("ovs._json", sources=["ovs/_json.c"], > > - libraries=['openvswitch'])], > > + libraries=json_libraries)], > > cmdclass={'build_ext': try_build_ext}, > > install_requires=['sortedcontainers'], > > extras_require={':sys_platform == "win32"': ['pywin32 >= 1.0']}, > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev