From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Artur Wiebe <artur@4wiebe.de>
Subject: Re: [ptxdist] [PATCH] opencv: added option to build/install python bindings
Date: Tue, 22 Sep 2020 12:16:59 +0200 [thread overview]
Message-ID: <20200922101659.GH11021@pengutronix.de> (raw)
In-Reply-To: <20200916111928.1287941-1-artur@4wiebe.de>
On Wed, Sep 16, 2020 at 01:19:28PM +0200, Artur Wiebe wrote:
> Signed-off-by: Artur Wiebe <artur@4wiebe.de>
> ---
> rules/opencv.in | 7 +++++++
> rules/opencv.make | 17 +++++++++++++----
> 2 files changed, 20 insertions(+), 4 deletions(-)
>
> diff --git a/rules/opencv.in b/rules/opencv.in
> index 328786aed..bbf907b64 100644
> --- a/rules/opencv.in
> +++ b/rules/opencv.in
> @@ -16,6 +16,7 @@ menuconfig OPENCV
> select V4L_UTILS if OPENCV_V4L_LIBV4L2
> select V4L_UTILS_LIBV4L1 if OPENCV_V4L_LIBV4L2
> select V4L_UTILS_LIBV4L2 if OPENCV_V4L_LIBV4L2
> + select PYTHON3_NUMPY if OPENCV_PYTHON
> help
> Open Source Computer Vision Library
>
> @@ -140,6 +141,12 @@ config OPENCV_QT
> help
> QT GUI Support
>
> +config OPENCV_PYTHON
> + bool
> + prompt "Python bindings"
> + help
> + Python bindings
> +
> config OPENCV_EXAMPLES
> bool
> prompt "Build Examples"
> diff --git a/rules/opencv.make b/rules/opencv.make
> index 8da4beb98..3e5ac8b2b 100644
> --- a/rules/opencv.make
> +++ b/rules/opencv.make
> @@ -35,7 +35,7 @@ OPENCV_BUILD_DIR := $(OPENCV_DIR)-build
>
> OPENCV_CONF_TOOL := cmake
>
> -# Note: not configure_helper.py does not show some options that are only
> +# Note: configure_helper.py does not show some options that are only
> # valid on other architectures. Run is for ARM and x86_64 and mix the results.
> # Variables that are not shown by configure_helper.py are added at the end.
> OPENCV_CONF_OPT := \
> @@ -78,7 +78,8 @@ OPENCV_CONF_OPT := \
> -DBUILD_opencv_ml=$(call ptx/onoff,PTXCONF_OPENCV_ML) \
> -DBUILD_opencv_objdetect=$(call ptx/onoff,PTXCONF_OPENCV_OBJDETECT) \
> -DBUILD_opencv_photo=$(call ptx/onoff,PTXCONF_OPENCV_PHOTO) \
> - -DBUILD_opencv_python_bindings_generator=ON \
> + -DBUILD_opencv_python3=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
This option should remain at the end with all other options that are not
visible with configure_helper.py
> + -DBUILD_opencv_python_bindings_generator=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
> -DBUILD_opencv_python_tests=ON \
> -DBUILD_opencv_stitching=$(call ptx/onoff,PTXCONF_OPENCV_STITCHING) \
> -DBUILD_opencv_ts=OFF \
> @@ -130,9 +131,11 @@ OPENCV_CONF_OPT := \
> -DOPENCV_GENERATE_SETUPVARS=ON \
> -DOPENCV_IPP_GAUSSIAN_BLUR=OFF \
> -DOPENCV_MATHJAX_RELPATH=https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0 \
> - -DOPENCV_PYTHON3_VERSION=OFF \
> + -DOPENCV_PYTHON3_VERSION=$(PYTHON3_MAJORMINOR) \
> -DOPENCV_WARNINGS_ARE_ERRORS=OFF \
> -DPROTOBUF_UPDATE_FILES=OFF \
> + -DPYTHON3_EXECUTABLE=$(PTXDIST_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR) \
> + -DPYTHON3_NUMPY_INCLUDE_DIRS=$(PTXDIST_SYSROOT_TARGET)$(PYTHON3_SITEPACKAGES)/numpy/core/include/ \
> -DWITH_1394=OFF \
> -DWITH_ADE=OFF \
> -DWITH_ARAVIS=OFF \
> @@ -203,7 +206,10 @@ OPENCV_CONF_OPT := \
> \
> -DCMAKE_SKIP_RPATH=ON \
> -DBUILD_opencv_python2=OFF \
> - -DBUILD_opencv_python3=OFF
> + -DPYTHON_INCLUDE_DIR=$(PTXDIST_SYSROOT_TARGET)/usr/include/python$(PYTHON3_MAJORMINOR)m \
> + -DPYTHON_LIBRARY=$(PTXDIST_SYSROOT_TARGET)/bin/python$(PYTHON3_MAJORMINOR) \
Hmmm, from what I can tell, you can use PYTHON3_INCLUDE_DIR and
PYTHON3_LIBRARY here to make it explicit. And configure_helper.py knows
about PYTHON3_LIBRARY, so move it to the correct location.
Michael
> + -DOPENCV_PYTHON3_INSTALL_PATH=$(PYTHON3_SITEPACKAGES) \
> + -DOPENCV_SKIP_PYTHON_LOADER=ON
>
>
> $(STATEDIR)/opencv.install:
> @@ -243,6 +249,9 @@ $(STATEDIR)/opencv.targetinstall:
> $(call install_lib, opencv, 0, 0, 0644, $(lib))$(ptx/nl))
> ifdef PTXCONF_OPENCV_EXAMPLES
> @$(call install_tree, opencv, 0, 0, $(OPENCV_BUILD_DIR)/bin, /bin)
> +endif
> +ifdef PTXCONF_OPENCV_PYTHON
> + @$(call install_tree, opencv, 0, 0, -, $(PYTHON3_SITEPACKAGES))
What's installed here? Just .py files? Or are .pyc files generated
correctly?
Michael
> endif
> @$(call install_finish, opencv)
> @$(call touch)
> --
> 2.28.0
>
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
next prev parent reply other threads:[~2020-09-22 10:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 11:19 Artur Wiebe
2020-09-22 10:16 ` Michael Olbrich [this message]
2020-09-24 7:33 ` [ptxdist] ?==?utf-8?q? ?==?utf-8?q? " Artur Wiebe
2020-09-24 13:47 ` [ptxdist] ?= =?utf-8?q? " Michael Olbrich
2020-10-06 8:18 ` [ptxdist] [APPLIED] " Michael Olbrich
-- strict thread matches above, loose matches on Subject: below --
2020-08-24 13:27 [ptxdist] [PATCH] " Artur Wiebe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200922101659.GH11021@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=artur@4wiebe.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox