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

Re: getprogname dep wo ifdef in libsl



Leif Johansson <leifj@it.su.se> writes:
> Hi,

Hello.

> lib/sl/sl.c depends on getprogname but no #ifdef HAVE_GETPROGNAME
> surrounds the two calls. Also libss depends on com_err_va but 
> libcom_err.la is not included in libss_LDADD. These two turned up
> when building on rs_aix42.

The appended patch should take care of it.

/assar

Index: lib/roken/Makefile.am
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/lib/roken/Makefile.am,v
retrieving revision 1.100
diff -u -w -r1.100 Makefile.am
--- lib/roken/Makefile.am	2001/07/02 23:53:56	1.100
+++ lib/roken/Makefile.am	2001/07/09 14:53:02
@@ -50,6 +50,7 @@
 	get_window_size.c	\
 	getarg.c		\
 	getnameinfo_verified.c	\
+	getprogname.c		\
 	issuid.c		\
 	k_getpwnam.c		\
 	k_getpwuid.c		\
@@ -63,6 +64,7 @@
 	roken_gethostby.c	\
 	rtbl.c			\
 	rtbl.h			\
+	setprogname.c		\
 	signal.c		\
 	simple_exec.c		\
 	snprintf.c		\
Index: lib/roken/getprogname.c
===================================================================
RCS file: getprogname.c
diff -N getprogname.c
--- /dev/null	Mon Jul  9 16:53:03 2001
+++ getprogname.c	Mon Jul  9 16:53:02 2001
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 1995 - 2001 Kungliga Tekniska Högskolan 
+ * (Royal Institute of Technology, Stockholm, Sweden).  
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * 3. Neither the name of the Institute nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+RCSID("$Id$");
+#endif
+
+#include "roken.h"
+
+#ifndef HAVE___PROGNAME
+const char *__progname;
+#endif
+
+#ifndef HAVE_GETPROGNAME
+const char *
+getprogname(void)
+{
+    return __progname;
+}
+#endif /* HAVE_GETPROGNAME */
+
+const char *
+get_progname (void)
+{
+    return getprogname ();
+}
+
Index: lib/roken/setprogname.c
===================================================================
RCS file: setprogname.c
diff -N setprogname.c
--- /dev/null	Mon Jul  9 16:53:03 2001
+++ setprogname.c	Mon Jul  9 16:53:02 2001
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 1995 - 2001 Kungliga Tekniska Högskolan 
+ * (Royal Institute of Technology, Stockholm, Sweden).  
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * 3. Neither the name of the Institute nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+RCSID("$Id$");
+#endif
+
+#include "roken.h"
+
+#ifndef HAVE___PROGNAME
+extern const char *__progname;
+#endif
+
+#ifndef HAVE_SETPROGNAME
+void
+setprogname(const char *argv0)
+{
+#ifndef HAVE___PROGNAME
+    char *p;
+    if(argv0 == NULL)
+	return;
+    p = strrchr(argv0, '/');
+    if(p == NULL)
+	p = (char *)argv0;
+    else
+	p++;
+    __progname = p;
+#endif
+}
+#endif /* HAVE_SETPROGNAME */
+
+void
+set_progname(char *argv0)
+{
+    setprogname ((const char *)argv0);
+}
Index: lib/roken/warnerr.c
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/lib/roken/warnerr.c,v
retrieving revision 1.14
diff -u -w -r1.14 warnerr.c
--- lib/roken/warnerr.c	2001/07/03 19:22:52	1.14
+++ lib/roken/warnerr.c	2001/07/09 14:53:02
@@ -39,48 +39,6 @@
 #include "roken.h"
 #include "err.h"
 
-#ifndef HAVE___PROGNAME
-const char *__progname;
-#endif
-
-#ifndef HAVE_GETPROGNAME
-const char *
-getprogname(void)
-{
-    return __progname;
-}
-#endif
-
-#ifndef HAVE_SETPROGNAME
-void
-setprogname(const char *argv0)
-{
-#ifndef HAVE___PROGNAME
-    char *p;
-    if(argv0 == NULL)
-	return;
-    p = strrchr(argv0, '/');
-    if(p == NULL)
-	p = (char *)argv0;
-    else
-	p++;
-    __progname = p;
-#endif
-}
-#endif /* HAVE_SETPROGNAME */
-
-void
-set_progname(char *argv0)
-{
-    setprogname ((const char *)argv0);
-}
-
-const char *
-get_progname (void)
-{
-    return getprogname ();
-}
-
 void
 warnerr(int doerrno, const char *fmt, va_list ap)
 {
Index: lib/sl/Makefile.am
===================================================================
RCS file: /afs/pdc.kth.se/src/packages/kth-krb/SourceRepository/lib/sl/Makefile.am,v
retrieving revision 1.24
diff -u -w -r1.24 Makefile.am
--- lib/sl/Makefile.am	2001/05/16 23:58:12	1.24
+++ lib/sl/Makefile.am	2001/07/09 14:53:02
@@ -4,7 +4,7 @@
 
 if do_roken_rename
 IS = -DROKEN_RENAME
-ES = strtok_r.c snprintf.c strdup.c strupr.c
+ES = strtok_r.c snprintf.c strdup.c strupr.c getprogname.c
 endif
 
 INCLUDES += $(IS)
@@ -18,7 +18,7 @@
 libss_la_LDFLAGS = -version-info 1:4:1
 
 libsl_la_LIBADD = @LIB_readline@
-libss_la_LIBADD = @LIB_readline@
+libss_la_LIBADD = @LIB_readline@ ../com_err/libcom_err.la
 
 libsl_la_SOURCES = sl_locl.h sl.c $(ES)
 libss_la_SOURCES = $(libsl_la_SOURCES) ss.c ss.h
@@ -32,7 +32,7 @@
 ssincludedir = $(includedir)/ss
 ssinclude_HEADERS = ss.h
 
-CLEANFILES = lex.c parse.c parse.h snprintf.c strtok_r.c strdup.c strupr.c
+CLEANFILES = lex.c parse.c parse.h snprintf.c strtok_r.c strdup.c strupr.c getprogname.c
 
 $(mk_cmds_OBJECTS): parse.h
 
@@ -48,3 +48,5 @@
 	$(LN_S) $(srcdir)/../roken/strdup.c .
 strupr.c:
 	$(LN_S) $(srcdir)/../roken/strupr.c .
+getprogname.c:
+	$(LN_S) $(srcdir)/../roken/getprogname.c .