Re: BeOS Patch #2



On Fri, 15 Dec 2000, David Reid wrote:

> Guys,
> 
> Here is another patch for BeOS.  This is all that's needed to get BeOS
> building with GLib from CVS.
> 
> No changes are needed for libtool given the changes made here.  I've tried
> to get as close to Ownes replies to the last patch, but please review and
> let me know if there are more issues.
> 
> My main reason for submitting this as it stands is that it allows others to
> do some work on it and helps me out with progressing things.


> @@ -654,15 +661,14 @@
>  if test -z "$G_MODULE_IMPL"; then
>  	G_MODULE_IMPL=0
>  fi
> +
>  AC_SUBST(G_MODULE_IMPL)
>  AC_SUBST(G_MODULE_LIBS)
> -AC_SUBST(G_MODULE_LIBS_EXTRA)
> -AC_SUBST(G_MODULE_PLUGIN_LIBS)
>  AC_SUBST(G_MODULE_LDFLAGS)
>  AC_SUBST(G_MODULE_HAVE_DLERROR)
>  AC_SUBST(G_MODULE_NEED_USCORE)
>  AC_SUBST(GLIB_DEBUG_FLAGS)
> -
> +AC_SUBST(OBJECT_LIBADD)

what's this for? you never set that variable up.

>  
>  dnl ***********************
>  dnl *** g_thread checks ***
> @@ -764,7 +770,6 @@
>  dnl ********************************
>  
>  G_THREAD_LIBS=
> -G_THREAD_LIBS_EXTRA=
>  G_THREAD_CFLAGS=
>  

> Index: gmodule/Makefile.am
> ===================================================================
> RCS file: /cvs/gnome/glib/gmodule/Makefile.am,v
> retrieving revision 1.24
> diff -u -r1.24 Makefile.am
> --- Makefile.am	2000/10/16 01:02:17	1.24
> +++ Makefile.am	2000/12/15 20:21:59
> @@ -40,17 +40,17 @@
>  	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
>  	-export-dynamic
>  
> -libgmodule_1_3_la_LIBADD = @G_MODULE_LIBS_EXTRA@ @G_MODULE_LIBS@ # $(libglib)
> +libgmodule_1_3_la_LIBADD = @G_BEOS_NEEDED_LDFLAGS@ @OBJECT_LIBADD@ # $(libglib)

OBJECT_LIBADD is always empty, right?

>  # we should really depend on $(libglib) for libgmodule.la, but libtool has a
>  # problem with this ;(
>  
>  libgplugin_a_la_SOURCES = libgplugin_a.c
>  libgplugin_a_la_LDFLAGS = @G_MODULE_LDFLAGS@ -avoid-version -module
> -libgplugin_a_la_LIBADD = @G_MODULE_LIBS@ @G_MODULE_LIBS_EXTRA@ @G_MODULE_PLUGIN_LIBS@ # $(libglib)
> +libgplugin_a_la_LIBADD = @G_MODULE_LIBS@ @G_BEOS_NEEDED_LDFLAGS@ @OBJECT_LIBADD@ # $(libglib)
>  
>  libgplugin_b_la_SOURCES = libgplugin_b.c
>  libgplugin_b_la_LDFLAGS = @G_MODULE_LDFLAGS@ -avoid-version -module
> -libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ @G_MODULE_LIBS_EXTRA@ @G_MODULE_PLUGIN_LIBS@ # $(libglib)
> +libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ @G_BEOS_NEEDED_LDFLAGS@ @OBJECT_LIBADD@ # $(libglib)
>  

> Index: gmodule/gmodule-beos.c
> ===================================================================
> RCS file: /cvs/gnome/glib/gmodule/gmodule-beos.c,v
> retrieving revision 1.3
> diff -u -r1.3 gmodule-beos.c
> --- gmodule-beos.c	2000/07/26 11:02:01	1.3
> +++ gmodule-beos.c	2000/12/15 20:22:00
> @@ -24,7 +24,9 @@
>   * MT safe
>   */
>  
> -#include <be/kernel/image.h> /* image (aka DSO) handling functions... */
> +#undef MIN
> +#undef MAX
> +#include <kernel/image.h> /* image (aka DSO) handling functions... */

urg, does <kernel/image.h> unconditionally define MIN and MAX?

>  static void
> @@ -105,13 +106,14 @@
>  {
>    image_info info;
>    gchar *name;
> -  
> +  status_t status;
> + 
>    if (unload_add_on ((image_id) handle) != B_OK)
>      {
>        gchar *msg;
>        
>        /* Try and get the name of the image. */
> -      if (get_image_info ((image_id) handle, &info) != B_OK)
> +      if ((status = get_image_info ((image_id) handle, &info)) != B_OK)

please don't use inline assignments, i.e. write
a = 5; if (a) ... instead of if ((a = 5)) ...

>  	name = g_strdup ("unknown");
>        else
>  	name = g_strdup (info.name);

ok, other than that i can't find any obvious errors in your code,
of course i'll simply have to trust you on the beos module loader
changes ;)
please resubmit the patch with the above items fixed, should be fine
to apply then.

> 
> david
> 
> 

---
ciaoTJ






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]