Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] package/eigen: use cmake-package infra
Date: Sun, 14 Jun 2020 23:15:44 +0200	[thread overview]
Message-ID: <20200614211544.GO2346@scaer> (raw)
In-Reply-To: <20200614173754.702855-1-juju@cotds.org>

Julien, All,

On 2020-06-14 19:37 +0200, Julien Olivain spake thusly:
> The eigen package was introduced as a generic package, but upstream was
> in fact using CMake.
> 
> The motivation of this change is to fix package detection with CMake.
> 
> Eigen3 library normally installs a signature file named
> "signature_of_eigen3_matrix_library" to help library detection:
> https://gitlab.com/libeigen/eigen/-/blob/3.3.7/CMakeLists.txt#L423
> 
> The library also provide a CMake macro that use this file to
> detect it:
> https://gitlab.com/libeigen/eigen/-/blob/3.3.7/cmake/FindEigen3.cmake#L76
> 
> Without the signature file installed, packages searching for this
> library with this method will fail. Other packages usings pkg-config are
> not affected by this issue.
> 
> By using the cmake-package infrastructure, all the needed files
> are now installed, fixing this CMake detection issue.
> 
> Other changes in this patch:
> - Updated the Eigen git repository to the new url:
>   https://gitlab.com/libeigen/eigen
> - Removed all build and install staging commands
>   (now included in upstream cmake)
> - Package needs EIGEN_SUPPORTS_IN_SOURCE_BUILD = NO
> - Removed the BR2_PACKAGE_EIGEN_UNSUPPORTED_MODULES option,
>   as this option is not proposed by the upstream CMake

    ... but they are unconditionally installed. A such, no need to
    introduce a legacy entry for BR2_PACKAGE_EIGEN_UNSUPPORTED_MODULES:
    users that had it enabled will still get the files installed, while
    those that did not will get them installed now.

> - Updated hash for source package

... because the first component in the stored paths changed from
eigen-eigen-323c052e1731/ to eigen-3.3.7/ and some mercurial related
files (.hg_archival.txt, .hgtags) got dropped after the conversion to
git.

> - Reformat hash file with two spaces delimiters
> - Define EIGEN_CONF_OPTS to set pkg-config .pc install path

This one I am having a hard time with, see below...

> Signed-off-by: Julien Olivain <juju@cotds.org>
[--SNIP--]
> +# Default Eigen CMake installs .pc file in
> +# $(STAGING)/usr/share/pkgconfig
> +# change it to lib/pkgconfig, to be consistent with other packages.
> +EIGEN_CONF_OPTS = -DPKGCONFIG_INSTALL_DIR:PATH=lib/pkgconfig

So this is a syntax that I am not familiar with.

First, it uses a non-absolute path "lib/pkgconfig". This is strange to
me. Second, it uses a variable with a colon PKGCONFIG_INSTALL_DIR:PATH,
and I don't know that either.

Yes, it works as expected, but I like to understand what's going on. Can
you shed a light on this, please?

I've tested -DPKGCONFIG_INSTALL_DIR=/usr/lib/pkgconfig which is the
usual way we're used to in Buildroot, and that works too.

I'll wait for your feedback on the above, but I'd prefer we use the more
traditional form unless there is a good reason not to.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2020-06-14 21:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-13 16:16 [Buildroot] [PATCH 1/1] package/eigen: fix package detection with CMake Julien Olivain
2020-06-14  7:28 ` Yann E. MORIN
2020-06-14 10:54   ` Julien Olivain
2020-06-14 17:37 ` [Buildroot] [PATCH v2] package/eigen: use cmake-package infra Julien Olivain
2020-06-14 21:15   ` Yann E. MORIN [this message]
2020-06-15 18:47     ` Julien Olivain
2020-06-15 18:49   ` [Buildroot] [PATCH v3] " Julien Olivain
2020-06-15 23:50     ` Matthew Weber
2020-06-16  6:54       ` Yann E. MORIN
2020-06-16  6:53     ` Yann E. MORIN

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=20200614211544.GO2346@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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