[MacPorts] #56737: graphene 1.8.2: difficulty building +universal

MacPorts noreply at macports.org
Mon Jul 2 03:15:01 UTC 2018


#56737: graphene 1.8.2: difficulty building +universal
-----------------------+----------------------
  Reporter:  kencu     |      Owner:  dbevans
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.5.2
Resolution:            |   Keywords:
      Port:  graphene  |
-----------------------+----------------------

Comment (by Ionic):

 Disabling the check breakout (i.e., the proposal of the PR) for `i386` and
 `x86_64` (assuming that meson will then determine that SSE2 support is
 available since we don't have `i386`-based platforms) and forcing the
 breakout of universal_archs contains `ppc` (thus disabling SSE2
 completely) sounds like a good compromise.

 We'll just need the second part as well.

 Slightly OT for this port:
 Replying to [comment:11 kencu]:
 > Googling around `pkg-config` leads to lots of discussions and threads on
 how `pkg-config` might be modified or enhanced to include knowledge of the
 host and build systems and fix this "cross-compiling" problem.  These
 discussions go back many years, so we're certainly not the first to
 stumble across them.
 > There are proposals to add a `-host` flag to `pkg-config` that could be
 used as a director to metadata to find the arch-specific one you want.

 Most systems don't need support for that in `pkg-config` itself.

 > If `pkg-config` supported `include` files, we could sort this out pretty
 easily, but it doesn't AFAIK.

 Well, even then, we'd need conditional `include` directives.

 > More common seems to be to tuck the `.pc` files into `triple[t]` folders
 that are specified to come earlier in the `pkg-config` search path. That
 might actually be something we could do in the `muniversal` portgroup and
 in base, but it's not a trivial project.

 Yeah, that needs proper base support. Not just the `muniversal` PortGroup,
 since `muniversal` is a hack when the simple universal features in base
 just aren't up to the task at hand (most often due to build system
 inflexibilities).

 Putting non-base-arch `.pc` files into a special "`triplet`" (or actually
 just `lib<arch>` directory) would be good enough. During build runs, base
 must then add this (arch-dependent) specific directory to
 `PKG_CONFIG_PATH`. Not terribly difficult, but definitely a bigger task.

-- 
Ticket URL: <https://trac.macports.org/ticket/56737#comment:16>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list