It would be nice to be able to use Xcode to work on Issue 847, but
gears/tools/osx/gears.xcodeproj/project.pbxproj hasn't been updated since
r2827, and won't build without
errors.
I've attached a patch for fixes the build errors. For future reference, it was
helpful to do the following things:
Reinstall Xcode, since the Mac OS X 10.4 SDK is not included by default in the
Snow Leopard Developer Tools.
Switch the project compiler from the system default (GCC 4.2, which won't work
with the 10.4 SDK) to GCC 4.0.
Update Xcode's view of the project's files to match the changes in the
gears/Makefile between r2827 and r3414.
Patch /usr/include/curl/curl.h, because gears/base/safari/curl_downloader.mm
#includes
/usr/include/curl/curl.h, which results in a build error
"/usr/include/curl/curl.h:35:66: error: curl/curlbuild.h: No
such file or directory." Editing curl.h to remove the extra directory fixes
this issue. The cURL project's log for
curl.h at
<http://curl.haxx.se/cvs.cgi/curl/include/curl/curl.h?r1=1.397&view=log> shows
a series of changes
to this line between revisions 1.391 and 1.397, so hopefully Apple will
eventually pick up the change.
Add SystemConfiguration.framework to the Gears.bundle target to supply some
undefined _kSC symbols.
Recreate the sqlite_google folder groups, so as to be independent of the
underlying filesystem.
Create a new target for skia, since it has been compiled from scratch since
r3205, rather than just linking in a
pre-compiled version. Then, add the skia target as a prerequisite for the
Gears.bundle target, add libskia.a to
the libraries that are linked into Gears.bundle, and remove the old skia linker
flags. This eliminates linking errors
about not finding the skia-dbg-osx-i386+ppc library. The Gears.plugin target
also has a -lskia-dbg-osx-
i386+ppc, flag set, but changing it to -lskia should fix it. Finally, set the
skia target's visibility options to hidden
to eliminate some linker warnings about symbol visibility.
Add a user header search path of $(SRCROOT)/../../../third_party/zlib to
libpng, so that it will include zlib.h from
the project, rather than /usr/local/include. This eliminates linker errors
about undefined symbols in pngread.
Remove the sqlite target's SQLITE_OMIT_ATTACH flags, since parse.c in r3145 was
generated with ATTACH
enabled. This fixes linker errors about undefined attach, detach, and vacuum
symbols in libsqlite's parse file.
Original issue reported on code.google.com by lem...@gmail.com on 4 Dec 2009 at 10:47
Original issue reported on code.google.com by
lem...@gmail.com
on 4 Dec 2009 at 10:47Attachments: