--- glib.h
+++ glib.h
@@ -179,45 +179,22 @@
  * we special case most of the stuff, so inline functions can have a normal
  * implementation by defining G_INLINE_FUNC to extern and G_CAN_INLINE to 1.
  */
-#ifndef G_INLINE_FUNC
-#  define G_CAN_INLINE 1
-#endif
-#ifdef G_HAVE_INLINE
-#  if defined (__GNUC__) && defined (__STRICT_ANSI__)
-#    undef inline
-#    define inline __inline__
-#  endif
-#else /* !G_HAVE_INLINE */
+#if defined (G_HAVE_INLINE) && defined (__GNUC__) && defined (__STRICT_ANSI__)
+#  undef inline
+#  define inline __inline__
+#elif !defined (G_HAVE_INLINE)
 #  undef inline
 #  if defined (G_HAVE___INLINE__)
 #    define inline __inline__
-#  else /* !inline && !__inline__ */
-#    if defined (G_HAVE___INLINE)
-#      define inline __inline
-#    else /* !inline && !__inline__ && !__inline */
-#      define inline /* don't inline, then */
-#      ifndef G_INLINE_FUNC
-#	 undef G_CAN_INLINE
-#      endif
-#    endif
+#  elif defined (G_HAVE___INLINE)
+#    define inline __inline
+#  else /* !inline && !__inline__ && !__inline */
+#    define inline  /* don't inline, then */
 #  endif
 #endif
-#ifndef G_INLINE_FUNC
-#  ifdef __GNUC__
-#    ifdef __OPTIMIZE__
-#      define G_INLINE_FUNC extern inline
-#    else
-#      undef G_CAN_INLINE
-#      define G_INLINE_FUNC extern
-#    endif
-#  else /* !__GNUC__ */
-#    ifdef G_CAN_INLINE
-#      define G_INLINE_FUNC static inline
-#    else
-#      define G_INLINE_FUNC extern
-#    endif
-#  endif /* !__GNUC__ */
-#endif /* !G_INLINE_FUNC */
+
+#undef G_INLINE_FUNC
+#define G_INLINE_FUNC extern
 
 
 /* Provide simple macro statement wrappers (adapted from Perl):
