Version 0.9.28 of of HarfBuzz doesn't build under Mac OS X Lion: CXX test-test.o In file included from hb-coretext.cc:32: hb-coretext.h:34:33: error: CoreText/CoreText.h: No such file or directory hb-coretext.h:35:41: error: CoreGraphics/CoreGraphics.h: No such file or directory CXX test_buffer_serialize-test-buffer-serialize.o In file included from hb-coretext.cc:32: hb-coretext.h:48: error: 'CGFontRef' was not declared in this scope hb-coretext.h:51: error: 'CGFontRef' does not name a type hb-coretext.h:54: error: 'CTFontRef' does not name a type hb-coretext.cc: In function 'void release_table_data(void*)': hb-coretext.cc:43: error: 'CFDataRef' was not declared in this scope hb-coretext.cc:43: error: expected `;' before 'cf_data' hb-coretext.cc:44: error: 'cf_data' was not declared in this scope hb-coretext.cc:44: error: 'CFRelease' was not declared in this scope hb-coretext.cc: In function 'hb_blob_t* reference_table(hb_face_t*, hb_tag_t, void*)': hb-coretext.cc:50: error: 'CGFontRef' was not declared in this scope hb-coretext.cc:50: error: expected `;' before 'cg_font' hb-coretext.cc:51: error: 'CFDataRef' was not declared in this scope hb-coretext.cc:51: error: expected `;' before 'cf_data' hb-coretext.cc:52: error: 'cf_data' was not declared in this scope hb-coretext.cc:55: error: 'cf_data' was not declared in this scope hb-coretext.cc:55: error: 'CFDataGetBytePtr' was not declared in this scope hb-coretext.cc:56: error: 'CFDataGetLength' was not declared in this scope hb-coretext.cc:61: error: expected type-specifier before '__CFData' hb-coretext.cc:61: error: expected `>' before '__CFData' hb-coretext.cc:61: error: expected `(' before '__CFData' hb-coretext.cc:61: error: '__CFData' was not declared in this scope hb-coretext.cc:61: error: expected primary-expression before '>' token hb-coretext.cc: At global scope: hb-coretext.cc:66: error: redefinition of 'hb_face_t* hb_coretext_face_create' hb-coretext.h:48: error: 'hb_face_t* hb_coretext_face_create' previously defined here hb-coretext.cc:66: error: 'CGFontRef' was not declared in this scope hb-coretext.cc:81: error: 'CGFontRef' does not name a type hb-coretext.cc: In function 'hb_coretext_shaper_face_data_t* _hb_coretext_shaper_face_data_create(hb_face_t*)': hb-coretext.cc:100: error: 'CGFontRelease' was not declared in this scope hb-coretext.cc:102: error: 'struct hb_coretext_shaper_face_data_t' has no member named 'cg_font' […] The cause is a bogus check for iOS in "src/hb-coretext.h": #include <TargetConditionals.h> #if defined(TARGET_OS_IPHONE) # include <CoreText/CoreText.h> # include <CoreGraphics/CoreGraphics.h> #else # include <ApplicationServices/ApplicationServices.h> #endif "TargetConditionals.h" *always* defines "TARGET_OS_IPHONE". However an Mac OS X the symbol is defined as "0". The correct check therefore looks like this: #include <TargetConditionals.h> #if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE # include <CoreText/CoreText.h> # include <CoreGraphics/CoreGraphics.h> #else # include <ApplicationServices/ApplicationServices.h> #endif
Fixed. Thanks.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.