#52739: perl5 @5.22.2: build_arch and universal not fully respected ----------------------------------+---------------------- Reporter: MarcusCalhoun-Lopez | Owner: mojca@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: perl5 | ----------------------------------+---------------------- Description changed by mojca: Old description:
The .bundle files are not built with arch flags, so they do not respect build_arch and are not built universal.[[BR]] Attached are several proposed solutions.
* Portfile1.diff adds {{{-Alddlflags="$LDFLAGS"}}} to configure.post_args. It adds the arch flags, but it also adds {{{-L/opt/local/lib -Wl,-headerpad_max_install_names}}}, which might not be desirable.
* Portfile2.diff and Portfile2.diff just add {{{"-Alddlflags=\"[get_canonical_archflags ld]\""}}} to configure.post_args. Extra code, however, is required to make {{{get_canonical_archflags}}} work correctly. {{{get_canonical_archflags}}} determines if universal flags are required using the following code: {{{ if {![variant_exists universal] || ![variant_isset universal]} { }}} When configure.post_args-append is run, however, the universal variant has not yet been created. I assume this is to give the Portfile a chance to create its own.
New description: The `.bundle` files are not built with arch flags, so they do not respect `build_arch` and are not built universal.[[BR]] Attached are several proposed solutions. * [attachment:"Portfile1.diff" Portfile1.diff] adds `-Alddlflags="$LDFLAGS"` to `configure.post_args`. It adds the arch flags, but it also adds `-L/opt/local/lib -Wl,-headerpad_max_install_names`, which might not be desirable. * [attachment:"Portfile2.diff" Portfile2.diff] and [attachment:"Portfile3.diff" Portfile3.diff] just add `"-Alddlflags=\"[get_canonical_archflags ld]\""` to `configure.post_args`. Extra code, however, is required to make `get_canonical_archflags` work correctly. `get_canonical_archflags` determines if universal flags are required using the following code: {{{ if {![variant_exists universal] || ![variant_isset universal]} { }}} When `configure.post_args-append` is run, however, the universal variant has not yet been created. I assume this is to give the `Portfile` a chance to create its own. -- -- Ticket URL: <https://trac.macports.org/ticket/52739#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X