gnome-libs patch




I had 2 problems with gnome-libs:
1) no check for VPRINTF in configure.in
2) program_name was undefined in all applications.

ad 1) easy fix, just add it to acconfig.h and configure in

ad 2) a little bit more complicated. I added a weak default definition 
of program_name with the value "unknown". This weak reference will be
used if the application itself does not define a variable
program_name. If the application defines a program_name variable, the
value of this variable will be used. The drawback is that this patch
only works with ELF systems. I don't know how other systems work with
this patch.

Here's the patch



cvs server: Diffing .
Index: acconfig.h
===================================================================
RCS file: /cvs/gnome/gnome-libs/acconfig.h,v
retrieving revision 1.15
diff -u -r1.15 acconfig.h
- --- acconfig.h	1998/07/15 23:55:56	1.15
+++ acconfig.h	1998/07/29 17:02:55
@@ -19,3 +19,4 @@
 #undef HAVE_LIBPNG
 #undef GNOME_ENABLE_DEBUG
 #undef NEED_DECLARATION_GETHOSTNAME
+#undef HAVE_VPRINTF
Index: configure.in
===================================================================
RCS file: /cvs/gnome/gnome-libs/configure.in,v
retrieving revision 1.73
diff -u -r1.73 configure.in
- --- configure.in	1998/07/19 18:40:31	1.73
+++ configure.in	1998/07/29 17:02:56
@@ -73,7 +73,7 @@
 LIBS="$oLIBS"
 AC_SUBST(DL_LIB)
 
- -AC_CHECK_FUNCS(strerror gethostbyname setfsgid setenv putenv)
+AC_CHECK_FUNCS(strerror gethostbyname setfsgid setenv putenv vprintf)
 NSL_LIBS=""
 if test $ac_cv_func_gethostbyname = no; then
   AC_CHECK_LIB(nsl,gethostbyname,NSL_LIBS=-lnsl)
cvs server: Diffing debian
cvs server: Diffing devel-docs
cvs server: Diffing devel-docs/gdoc
cvs server: Diffing gnome-hello
cvs server: Diffing gtk-xmhtml
cvs server: Diffing gtk-xmhtml/bitmaps
cvs server: Diffing intl
cvs server: Diffing libgnome
cvs server: Diffing libgnomeui
cvs server: Diffing libgnomeui/pixmaps
cvs server: Diffing libgtktty
cvs server: Diffing macros
cvs server: Diffing po
cvs server: Diffing rasterapi
cvs server: Diffing support
Index: support/error.c
===================================================================
RCS file: /cvs/gnome/gnome-common/support/error.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 error.c
- --- error.c	1998/07/29 10:38:54	1.1.1.1
+++ error.c	1998/07/29 17:03:05
@@ -82,6 +82,8 @@
    name of the executing program.  */
 extern char *program_name;
 
+char* program_name  __attribute__((weak)) = "unknown";
+
 # ifdef HAVE_STRERROR_R
 #  define __strerror_r strerror_r
 # else
cvs server: Diffing test-gnome
Index: test-gnome/testgnome.c
===================================================================
RCS file: /cvs/gnome/gnome-libs/test-gnome/testgnome.c,v
retrieving revision 1.21
diff -u -r1.21 testgnome.c
- --- testgnome.c	1998/07/27 18:50:21	1.21
+++ testgnome.c	1998/07/29 17:03:06
@@ -918,7 +918,7 @@
 
   gtk_widget_show_all(GTK_WIDGET(app));
 }
- -
+char *program_name = "testgnome";
 int main (int argc, char *argv[])
 {
 	struct {
cvs server: Diffing test-suite
cvs server: Diffing test-suite/expected
cvs server: Diffing test-suite/results
cvs server: Diffing test-suite/tests
cvs server: Diffing zvt





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