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':

?

> +    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

Reply via email to