From f57c045bd68ad800db8c483fefeab44beb45aa43 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 6 Sep 1998 00:31:48 +0000 Subject: [PATCH] Define. New define. (g_bit_nth_msf): Use it. Also, add prototype. Sat Sep 5 18:03:36 1998 Tom Tromey * gutils.c (GLIB_INLINE): Define. * glib.h (GLIB_INLINE): New define. (g_bit_nth_msf): Use it. Also, add prototype. (g_bit_storage): Likewise. (g_bit_storage): Likewise. --- ChangeLog | 8 ++++ ChangeLog.pre-2-0 | 8 ++++ ChangeLog.pre-2-10 | 8 ++++ ChangeLog.pre-2-12 | 8 ++++ ChangeLog.pre-2-2 | 8 ++++ ChangeLog.pre-2-4 | 8 ++++ ChangeLog.pre-2-6 | 8 ++++ ChangeLog.pre-2-8 | 8 ++++ glib-config | 97 ++++++++++++++++++++++++++++++++++++++++++++++ glib.h | 27 +++++++++++-- glib/glib.h | 27 +++++++++++-- glib/gutils.c | 7 +++- gutils.c | 7 +++- 13 files changed, 221 insertions(+), 8 deletions(-) create mode 100755 glib-config diff --git a/ChangeLog b/ChangeLog index 635d56772..d9d208a88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 635d56772..d9d208a88 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Sat Sep 5 18:03:36 1998 Tom Tromey + + * gutils.c (GLIB_INLINE): Define. + * glib.h (GLIB_INLINE): New define. + (g_bit_nth_msf): Use it. Also, add prototype. + (g_bit_storage): Likewise. + (g_bit_storage): Likewise. + Sat Sep 5 04:40:02 1998 Tim Janik * glib.h: diff --git a/glib-config b/glib-config new file mode 100755 index 000000000..19348070e --- /dev/null +++ b/glib-config @@ -0,0 +1,97 @@ +#!/bin/sh + +prefix=/opt/gnome +exec_prefix=${prefix} +exec_prefix_set=no + +usage() +{ + cat <&2 +fi + +lib_glib=yes + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg + fi + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + exec_prefix_set=yes + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --version) + echo 1.1.3 + exit 0 + ;; + --cflags) + if test "${prefix}/include" != /usr/include ; then + includes="-I${prefix}/include" + fi + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + glib) + lib_glib=yes + ;; + gmodule) + lib_gmodule=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi +if test "$echo_cflags" = "yes"; then + echo -I${exec_prefix}/lib/glib/include $includes +fi +if test "$echo_libs" = "yes"; then + libs="" + if test "$lib_glib" = "yes"; then + libs="$libs -lglib-1.1" + fi + if test "$lib_gmodule" = "yes"; then + libs="-rdynamic -lgmodule-1.1 $libs -ldl" + fi + echo "-L${exec_prefix}/lib $libs" +fi diff --git a/glib.h b/glib.h index 64c2943f6..da6fb4508 100644 --- a/glib.h +++ b/glib.h @@ -191,6 +191,19 @@ # endif /* !__GNUC__ */ #endif /* __STRICT_ANSI__ */ +/* When using gcc we want to use `extern inline' to avoid random + * warnings with -Wall. */ +#ifdef __GNUC__ +/* We want to also have a non-inlined version of the function + * available. We implement this by redefining GLIB_INLINE in a glib + * implementation file. */ +# ifndef GLIB_INLINE +# define GLIB_INLINE extern inline +# endif +#else +# undef GLIB_INLINE +# define GLIB_INLINE inline +#endif /* Provide macros to feature the GCC function attribute. */ @@ -1195,9 +1208,17 @@ gchar* g_get_current_dir (void); #endif + /* Bit tests */ -static inline gint + +/* Prototypes are required for inline functions to pacify gcc when + * some warnings are enabled. */ +gint g_bit_nth_lsf (guint32 mask, gint nth_bit); +gint g_bit_nth_msf (guint32 mask, gint nth_bit); +guint g_bit_storage (guint number); + +GLIB_INLINE gint g_bit_nth_lsf (guint32 mask, gint nth_bit) { @@ -1210,7 +1231,7 @@ g_bit_nth_lsf (guint32 mask, while (nth_bit < 32); return -1; } -static inline gint +GLIB_INLINE gint g_bit_nth_msf (guint32 mask, gint nth_bit) { @@ -1225,7 +1246,7 @@ g_bit_nth_msf (guint32 mask, while (nth_bit > 0); return -1; } -static inline guint +GLIB_INLINE guint g_bit_storage (guint number) { register guint n_bits = 0; diff --git a/glib/glib.h b/glib/glib.h index 64c2943f6..da6fb4508 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -191,6 +191,19 @@ # endif /* !__GNUC__ */ #endif /* __STRICT_ANSI__ */ +/* When using gcc we want to use `extern inline' to avoid random + * warnings with -Wall. */ +#ifdef __GNUC__ +/* We want to also have a non-inlined version of the function + * available. We implement this by redefining GLIB_INLINE in a glib + * implementation file. */ +# ifndef GLIB_INLINE +# define GLIB_INLINE extern inline +# endif +#else +# undef GLIB_INLINE +# define GLIB_INLINE inline +#endif /* Provide macros to feature the GCC function attribute. */ @@ -1195,9 +1208,17 @@ gchar* g_get_current_dir (void); #endif + /* Bit tests */ -static inline gint + +/* Prototypes are required for inline functions to pacify gcc when + * some warnings are enabled. */ +gint g_bit_nth_lsf (guint32 mask, gint nth_bit); +gint g_bit_nth_msf (guint32 mask, gint nth_bit); +guint g_bit_storage (guint number); + +GLIB_INLINE gint g_bit_nth_lsf (guint32 mask, gint nth_bit) { @@ -1210,7 +1231,7 @@ g_bit_nth_lsf (guint32 mask, while (nth_bit < 32); return -1; } -static inline gint +GLIB_INLINE gint g_bit_nth_msf (guint32 mask, gint nth_bit) { @@ -1225,7 +1246,7 @@ g_bit_nth_msf (guint32 mask, while (nth_bit > 0); return -1; } -static inline guint +GLIB_INLINE guint g_bit_storage (guint number) { register guint n_bits = 0; diff --git a/glib/gutils.c b/glib/gutils.c index d58b44797..419487eb2 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -1,5 +1,5 @@ /* GLIB - Library of useful routines for C programming - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * Copyright (C) 1995-1998 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -24,6 +24,11 @@ #include #include #include + +/* When using gcc, we want to have a non-inlined version of the + * `extern inline'd functions in glib.h. We do this here. */ +#define GLIB_INLINE + #include "glib.h" const guint glib_major_version = GLIB_MAJOR_VERSION; diff --git a/gutils.c b/gutils.c index d58b44797..419487eb2 100644 --- a/gutils.c +++ b/gutils.c @@ -1,5 +1,5 @@ /* GLIB - Library of useful routines for C programming - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * Copyright (C) 1995-1998 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -24,6 +24,11 @@ #include #include #include + +/* When using gcc, we want to have a non-inlined version of the + * `extern inline'd functions in glib.h. We do this here. */ +#define GLIB_INLINE + #include "glib.h" const guint glib_major_version = GLIB_MAJOR_VERSION;