[uniscribe] Enable Uniscribe backend only if it has ScriptShapeOpenType()
authorBehdad Esfahbod <behdad@behdad.org>
Mon, 10 Dec 2012 22:44:22 +0000 (17:44 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 10 Dec 2012 22:44:22 +0000 (17:44 -0500)
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP

config.h.in
configure.ac

index f465cc0..0973c93 100644 (file)
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to 1 if you have the <usp10.h> header file. */
-#undef HAVE_USP10_H
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
 /* Define to 1 if you have the `_setmode' function. */
 #undef HAVE__SETMODE
 
index 49accd7..963af2e 100644 (file)
@@ -208,7 +208,19 @@ AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
 
 dnl ===========================================================================
 
-AC_CHECK_HEADERS(usp10.h windows.h, have_uniscribe=true, have_uniscribe=false)
+AC_MSG_CHECKING([for ScriptShapeOpenType in usp10])
+saved_LIBS=$LIBS
+LIBS="$LIBS -lusp10 -lgdi32"
+AC_LINK_IFELSE([AC_LANG_PROGRAM(
+       [[
+        #define _WIN32_WINNT 0x0600
+        #include <windows.h>
+        #include <usp10.h>
+        ]],
+       ScriptShapeOpenType)],
+       [have_uniscribe=true; AC_MSG_RESULT(yes)],
+       [have_uniscribe=false;AC_MSG_RESULT(no)])
+LIBS=$saved_LIBS
 if $have_uniscribe; then
        UNISCRIBE_CFLAGS=
        UNISCRIBE_LIBS="-lusp10 -lgdi32"