* src/base/ftmac.c: Add a fallback for the case that HAVE_TYPE_RESOURCE_INDEX is not set by configure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
diff --git a/ChangeLog b/ChangeLog
index c9208d1..fb8d5b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ * src/base/ftmac.c: Add a fallback to suppose the availability
+ of ResourceIndex type. It is used when built without configure
+ (e.g. build by Jam).
+ * builds/mac/ftmac.c: Ditto.
+ * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX
+ to 1 or 0 explicitly, even if ResourceIndex is unavailable.
+
+2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
* builds/unix/configure.raw: In checking of Mac OS X features,
all-in-one header file "Carbon.h" is replaced by by the minimum
header file "CoreServices.h", as current src/base/ftmac.c.
diff --git a/builds/mac/ftmac.c b/builds/mac/ftmac.c
index 6e91a8f..8b4d295 100644
--- a/builds/mac/ftmac.c
+++ b/builds/mac/ftmac.c
@@ -145,9 +145,21 @@
#endif
#endif
- /* Some portable types are unavailable on legacy SDKs */
-#ifndef MAC_OS_X_VERSION_10_5
-typedef short ResourceIndex;
+ /* configure checks the availability of ResourceIndex strictly */
+ /* and set HAVE_TYPE_RESOURCE_INDEX 1 or 0 always. If it is */
+ /* not set (e.g. build without configure), the availability */
+ /* is supposed from the SDK version but this is uncertain. */
+#if !defined( HAVE_TYPE_RESOURCE_INDEX )
+#if !defined( MAC_OS_X_VERSION_10_5 ) || \
+# ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 )
+#define HAVE_TYPE_RESOURCE_INDEX 0
+#else
+#define HAVE_TYPE_RESOURCE_INDEX 1
+#endif
+#endif
+
+#if ( HAVE_TYPE_RESOURCE_INDEX == 0 )
+typedef short ResourceIndex;
#endif
/* Set PREFER_LWFN to 1 if LWFN (Type 1) is preferred over
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index ba6de3c..1ac3cce 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -285,10 +285,11 @@ if test x$with_old_mac_fonts = xyes; then
])],
[AC_MSG_RESULT([ok])
CFLAGS="$orig_CFLAGS"
- CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
],
[AC_MSG_RESULT([no])
CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
])],
[AC_MSG_RESULT([not found])
LDFLAGS="${orig_LDFLAGS}"
diff --git a/src/base/ftmac.c b/src/base/ftmac.c
index 4f4ab9d..ab67391 100644
--- a/src/base/ftmac.c
+++ b/src/base/ftmac.c
@@ -77,8 +77,20 @@
#define OS_INLINE static __inline__
#endif
- /* The ResourceIndex type was available SDKs on 10.5 */
-#ifndef HAVE_TYPE_RESOURCE_INDEX
+ /* configure checks the availability of ResourceIndex strictly */
+ /* and set HAVE_TYPE_RESOURCE_INDEX 1 or 0 always. If it is */
+ /* not set (e.g. build without configure), the availability */
+ /* is supposed from the SDK version but this is uncertain. */
+#if !defined( HAVE_TYPE_RESOURCE_INDEX )
+#if !defined( MAC_OS_X_VERSION_10_5 ) || \
+# ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 )
+#define HAVE_TYPE_RESOURCE_INDEX 0
+#else
+#define HAVE_TYPE_RESOURCE_INDEX 1
+#endif
+#endif
+
+#if ( HAVE_TYPE_RESOURCE_INDEX == 0 )
typedef short ResourceIndex;
#endif