On Fri, Jul 1, 2022 at 4:56 PM Ilya Maximets <[email protected]> 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 <[email protected]>
> > ---
> > 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
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev