Dirty hack to get cairo compiled universally
Ryan Schmidt
ryandesign at macports.org
Sat Aug 2 22:44:28 PDT 2008
On Aug 1, 2008, at 15:13, Harry van der Wolf wrote:
> To get cairo compiled in macports using the correct SDK I used an
> extremely dirty hack (See attached Portfile).
> The reason for this is that enabling '-isysroot $SDK_path' treats
> all other includes as SDK relative path. I don't know how to get
> around that, so I used a dirty hack (copied from http://
> dev.ultravelours.com/ports/enblend/) and symlinked the '/opt'
> directory (default MacPorts installation prefix is the standard '/
> opt/local') from the SDK root directory (and deleted it later in
> the process). You can find that in the attached portfile.
>
> See for the explanation at: http://lists.apple.com/archives/darwin-
> dev/2006/Apr/msg00042.html
It's not acceptable for me for a portfile to modify the SDK by
installing a symlink into it so I'll pass on this.
There are many tickets for many ports about the "all other includes
treated as SDK-relative" issue. I spent hours the other night
researching dozens of Google results. Seems like everyone has the
problem, and either nobody solves it, or nobody posts the solution
once they find it. It's very frustrating.
> The only other way to get cairo compiled universally is to change
> the one line in the Portfile. It's the line:
> set my_cflags "${configure.cflags} -isysroot ${sysroot} $
> {my_arch_flag}"
>
> to
>
> set my_cflags "${configure.cflags} ${my_arch_flag}"
>
> That works too and is much simpler, but it does not give you the
> possibility to choose your SDK (however when compiling i386 and
> ppc, the MacOSX10.4u.sdk is always used, or isn't it)
It's not acceptable to omit the sysroot either. We must tell it which
SDK to use. Otherwise it won't use any SDK and will use the OS
libraries. This will not work on 10.4 PPC, where the OS is PPC-only.
Also, in MacPorts trunk, the user has the option to configure which
SDK they want in macports.conf. We must respect that setting.
More information about the macports-users
mailing list