commit 51cb204eb2a7ee840a86cc66b762ddfff56f01b2
parent e32415744c0e7f2d75d4669addefc1b50f977cd6
Author: Quentin Rameau <quinq@fifth.space>
Date: Tue, 29 May 2018 18:34:52 +0200
Add a config option to link against system or shipped strlcpy
Diffstat:
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
@@ -3,7 +3,7 @@
include config.mk
-SRC = ii.c strlcpy.c
+SRC = ii.c
OBJ = $(SRC:.c=.o)
IICFLAGS = -DVERSION=\"$(VERSION)\" -D_DEFAULT_SOURCE $(CFLAGS)
@@ -19,7 +19,7 @@ options:
.c.o:
$(CC) $(IICFLAGS) -c $<
-ii: $(OBJ)
+ii: $(OBJ) $(LIBS)
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
$(OBJ): arg.h
diff --git a/config.mk b/config.mk
@@ -6,6 +6,9 @@ PREFIX = /usr/local
MANPREFIX = ${PREFIX}/share/man
DOCPREFIX = ${PREFIX}/share/doc
-CFLAGS = -Os
+# on systems which provide strlcpy(3),
+# remove NEED_STRLCPY from CFLAGS and
+# remove strlcpy.o from LIBS
+CFLAGS = -DNEED_STRLCPY -Os
LDFLAGS = -s
-LIBS =
+LIBS = strlcpy.o
diff --git a/ii.c b/ii.c
@@ -24,8 +24,9 @@ char *argv0;
#include "arg.h"
-#undef strlcpy
+#ifdef NEED_STRLCPY
size_t strlcpy(char *, const char *, size_t);
+#endif /* NEED_STRLCPY */
#define IRC_CHANNEL_MAX 200
#define IRC_MSG_MAX 512 /* guaranteed to be <= than PIPE_BUF */