]> git.draconx.ca Git - dxcommon.git/blobdiff - tests/libs.at
Try an additional workaround for GLib inline issue.
[dxcommon.git] / tests / libs.at
index cc09cead3a26e280d9d9ee97e09ac5cdbe08127d..8689c380d6fba819652c7eb576fae1da7f21463e 100644 (file)
@@ -125,11 +125,15 @@ TEST_AUTORECONF
 TEST_CONFIGURE([PKG_CONFIG=$PWD/pkg-config])
 AT_CHECK([./test.sh], [0], [ignore], [ignore])
 
-AT_CHECK([grep G_INLINE_FUNC config.h], [0],
+AT_CHECK([grep '#.*G_INLINE_FUNC' config.h], [0],
 [/* #undef G_INLINE_FUNC */
 ])
+AT_CHECK([grep '#.*G_IMPLEMENT_INLINES' config.h], [0],
+[/* #undef G_IMPLEMENT_INLINES */
+])
 
-cat >>glib.h <<'EOF'
+cp glib.h glib-orig.h
+cat glib-orig.h - >glib.h <<'EOF'
 #ifndef G_INLINE_FUNC
 #  define G_INLINE_FUNC extern inline
 #endif
@@ -137,8 +141,28 @@ G_INLINE_FUNC void break_things(void) { }
 EOF
 
 TEST_CONFIGURE([PKG_CONFIG=$PWD/pkg-config])
-AT_CHECK([grep G_INLINE_FUNC config.h], [0],
+AT_CHECK([grep '#.*G_INLINE_FUNC' config.h], [0],
 [#define G_INLINE_FUNC static inline
 ])
+AT_CHECK([grep '#.*G_IMPLEMENT_INLINES' config.h], [0],
+[/* #undef G_IMPLEMENT_INLINES */
+])
+
+cat glib-orig.h - >glib.h <<'EOF'
+#define G_INLINE_FUNC extern inline
+#ifdef G_IMPLEMENT_INLINES
+extern void break_things(void);
+#else
+G_INLINE_FUNC void break_things(void) { }
+#endif
+EOF
+
+TEST_CONFIGURE([PKG_CONFIG=$PWD/pkg-config])
+AT_CHECK([grep '#.*G_INLINE_FUNC' config.h], [0],
+[/* #undef G_INLINE_FUNC */
+])
+AT_CHECK([grep '#.*G_IMPLEMENT_INLINES' config.h], [0],
+[#define G_IMPLEMENT_INLINES 1
+])
 
 AT_CLEANUP