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