Opened 16 years ago
Closed 14 years ago
#18718 closed defect (fixed)
portaudio: universal variant
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | ||
Port: | portaudio |
Description
portaudio includes these lines:
# Universal building is on by default universal_variant no
"universal_variant no
" is supposed to mean that the port cannot or does not need to build universal. But portaudio does build universal, always. So you should remove "universal_variant no
" because that is not accurate.
Then, you should do one of two things:
- Preferably, you would fix the port so that if you do not request the universal variant, it does not build universal. And if you do request the universal variant, it builds universal, respecting the user's choices of universal_archs, universal_sysroot, universal_target from macports.conf.
- If that's not possible, then you should define an empty universal variant and cause the port to auto-select that variant and require it to be selected, to indicate that it is in fact universal software. See the port isightcapture for an example of this.
Change History (7)
comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
comment:3 Changed 15 years ago by tobypeterson
I made some changes to make it build universal on Snow Leopard... with the exception of patch-src__hostapi__coreaudio__pa_mac_core.c, the patches are probably applicable to earlier releases. If someone wants to test them out and report, it'd be a straightforward enough change.
comment:4 follow-up: 5 Changed 15 years ago by tobypeterson
Heh, that didn't format properly. You get the point, hopefully.
comment:5 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
comment:6 Changed 14 years ago by jmroot (Joshua Root)
Owner: | changed from themiwi@… to macports-tickets@… |
---|
Port is now unmaintained, so do what you like.
comment:7 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed and simplified in r74882. I verified portaudio will now compile universal (i386 and ppc) and non-universal (ppc) on Leopard and Tiger (on a Power Mac G4), and still compiles universal (x86_64 and i386) and non-universal (x86_64 or i386) on Snow Leopard (on a Core 2 Duo MacBook Pro).
In addition to removing the -arch
, -isysroot
and -mmacosx-version-min
flags, the configure patch Toby added above also changed -framework Carbon
to -framework CoreFoundation
; Snow Leopard had no problem compiling portaudio this way, but Leopard complained of undefined symbols _CloseComponent
, _OpenAComponent
and _FindNextComponent
. Leaving it as -framework Carbon
didn't seem to make a difference for Snow Leopard, but allowed it to compile on Leopard and Tiger, so I changed it back. If using -framework CoreFoundation
on Snow Leopard was better for some reason, we can still change it back just for Snow Leopard and up.
I'm still a little worried about -DPA_LITTLE_ENDIAN
which I see flying by on every line of compilation on the Power Mac when building universal. Hopefully someone will speak up if the universal build doesn't actually work.
Replying to ryandesign@…:
FYI, this change came about due to #14362.