On 2017/05/25 13:58, Ricardo Mestre wrote:
> Hi ports@
>
> This is a simple diff to allow net/trickle to be compiled by clang.
Might be better to remove their copy of an old version of OpenBSD's
getopt and just use the libc one instead?
> Regards,
> mestre
> Index: patches/patch-getopt_c
> ===================================================================
> RCS file: patches/patch-getopt_c
> diff -N patches/patch-getopt_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-getopt_c 25 May 2017 12:52:06 -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +Index: getopt.c
> +--- getopt.c.orig
> ++++ getopt.c
> +@@ -41,8 +41,8 @@ static char *rcsid = "$OpenBSD: getopt.c,v 1.2 1996/08
> +
> + int opterr = 1, /* if error message should be printed */
> + optind = 1, /* index into parent argv vector */
> +- optopt, /* character checked for validity */
> + optreset; /* reset getopt */
> ++extern int optopt; /* character checked for validity */
> + char *optarg; /* argument associated with option */
> +
> + #define BADCH (int)'?'
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/trickle/Makefile,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile
--- Makefile 3 Feb 2017 16:21:10 -0000 1.21
+++ Makefile 25 May 2017 14:08:32 -0000
@@ -2,6 +2,8 @@
COMMENT= lightweight userspace bandwidth shaper
DISTNAME= trickle-1.07
+REVISION= 0
+
CATEGORIES= net
HOMEPAGE= http://monkey.org/~marius/trickle/
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/net/trickle/patches/patch-Makefile_in,v
retrieving revision 1.1
diff -u -p -r1.1 patch-Makefile_in
--- patches/patch-Makefile_in 22 Jan 2015 00:02:41 -0000 1.1
+++ patches/patch-Makefile_in 25 May 2017 14:08:32 -0000
@@ -1,9 +1,38 @@
$OpenBSD: patch-Makefile_in,v 1.1 2015/01/22 00:02:41 jca Exp $
-undefined symbol '__guard_local'
+-nostdlib: undefined symbol '__guard_local'
+remove getopt.c: fix with clang
---- Makefile.in.orig Sat Jan 8 21:20:08 2005
-+++ Makefile.in Wed Jan 21 20:01:48 2015
+Index: Makefile.in
+--- Makefile.in.orig
++++ Makefile.in
+@@ -107,10 +107,10 @@ man_MANS = trickle.1 trickled.8 trickled.conf.5
+ bin_PROGRAMS = trickle trickled tricklectl
+
+ trickle_DEPENDENCIES = @ERRO@ @LIBOBJS@
+-trickle_SOURCES = trickle.c util.c getopt.c
++trickle_SOURCES = trickle.c util.c
+ trickle_LDADD = @ERRO@ @LIBOBJS@
+
+-trickled_SOURCES = trickled.c atomicio.c print.c bwstat.c client.c conf.c util.c cleanup.c getopt.c xdr.c
++trickled_SOURCES = trickled.c atomicio.c print.c bwstat.c client.c conf.c util.c cleanup.c xdr.c
+
+ trickled_LDADD = @EVENTLIB@ @LIBOBJS@
+
+@@ -138,11 +138,11 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.
+ CPPFLAGS = @CPPFLAGS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+-trickle_OBJECTS = trickle.$(OBJEXT) util.$(OBJEXT) getopt.$(OBJEXT)
++trickle_OBJECTS = trickle.$(OBJEXT) util.$(OBJEXT)
+ trickle_LDFLAGS =
+ trickled_OBJECTS = trickled.$(OBJEXT) atomicio.$(OBJEXT) \
+ print.$(OBJEXT) bwstat.$(OBJEXT) client.$(OBJEXT) conf.$(OBJEXT) \
+-util.$(OBJEXT) cleanup.$(OBJEXT) getopt.$(OBJEXT) xdr.$(OBJEXT)
++util.$(OBJEXT) cleanup.$(OBJEXT) xdr.$(OBJEXT)
+ trickled_DEPENDENCIES = @LIBOBJS@
+ trickled_LDFLAGS =
+ tricklectl_OBJECTS = tricklectl.$(OBJEXT) trickledu.$(OBJEXT) \
@@ -618,7 +618,7 @@ mostlyclean distclean maintainer-clean
trickle-overload.so: $(TRICKLEOVERLOADFILES)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la \
No comments:
Post a Comment