You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pkgconf has a --personality flag, that simplifies using it for cross compiling compared to the way this has to be done with pkg-config by setting $PKG_CONFIG_LIBDIR and $PKG_CONFIG_PATH. Having such an option, and/or a better option that allows the same behavior would be good
My vision here is that cps-config can iterate on a format and implementation of a personality schema, and then propose that tested schema back to CPS as a supplementary schema.
I'd like to flesh this out a bit more, pkgconf has an extension for setting personalities, which allows for more elegant cross compilation than what pkg-config does, which is setting PKG_CONFIG_LIBDIR=/path/to/cross/lib/ and hoping that everything works.
The format pkgconf supports is described here, but for a short overview:
I've picked "isa" and "kernel" since those match the CPS "platform::package" keys, and they have the same meaning.
"schema_version" is the version of the schema in in the personality file itself, I would expect this to be an unsigned int of some size, which is incremented each time the schema is changed, though it might make sense to use an "X.Y" string value to allow for backward compatible changes
"sys_root" points to the root of the cross compilation environment.
libdir is the library directory to use inside the sys_root. This is necessary since it's possible that it's not the same as the host
There's a couple of things here I'm not sure about:
mounting a sys_root is a pretty common way to cross compile on Linux, but does that make sense for other platforms, particularly Windows and MacOS?
Some systems have ways to install non-native libraries on the build system (debian has its lib/i686-pc-linux-gnu [for example]) directories, NixOS allows installing libraries and using the environment variables
The text was updated successfully, but these errors were encountered:
pkgconf has a
--personality
flag, that simplifies using it for cross compiling compared to the way this has to be done with pkg-config by setting$PKG_CONFIG_LIBDIR
and$PKG_CONFIG_PATH
. Having such an option, and/or a better option that allows the same behavior would be goodMy vision here is that cps-config can iterate on a format and implementation of a personality schema, and then propose that tested schema back to CPS as a supplementary schema.
I'd like to flesh this out a bit more, pkgconf has an extension for setting personalities, which allows for more elegant cross compilation than what pkg-config does, which is setting
PKG_CONFIG_LIBDIR=/path/to/cross/lib/
and hoping that everything works.The format pkgconf supports is described here, but for a short overview:
This all seems pretty reasonable for the way pkgconf works. for cps-config I'm envisioning:
unsigned int
of some size, which is incremented each time the schema is changed, though it might make sense to use an "X.Y" string value to allow for backward compatible changesThere's a couple of things here I'm not sure about:
lib/i686-pc-linux-gnu
[for example]) directories, NixOS allows installing libraries and using the environment variablesThe text was updated successfully, but these errors were encountered: