-dnl Copyright © 2019 Nick Bowler
+dnl Copyright © 2019-2020, 2022 Nick Bowler
dnl
dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
dnl This is free software: you are free to do what the fuck you want to.
case \$arg in
--cflags) cflags=]$1[;;
--libs) libs=]$2[;;
+ --atleast-pkgconfig-version) exit;;
esac
done
printf '%s %s\n' "\$cflags" "\$libs"
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
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