Module Name: src
Committed By: mrg
Date: Thu Mar 7 03:53:51 UTC 2019
Added Files:
src/external/bsd/libuuid_ul/lib/libuuid_ul: Makefile
libuuid_ul-rename.mk randutils.h
Log Message:
build glue libuuid_ul from util-linux's libuuid, with renamed functions,
as a private library so that fontconfig can link it in.
provide a randutils.h compat as the generic util-linux one is GPL.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/bsd/libuuid_ul/lib/libuuid_ul/Makefile \
src/external/bsd/libuuid_ul/lib/libuuid_ul/libuuid_ul-rename.mk \
src/external/bsd/libuuid_ul/lib/libuuid_ul/randutils.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: src/external/bsd/libuuid_ul/lib/libuuid_ul/Makefile
diff -u /dev/null src/external/bsd/libuuid_ul/lib/libuuid_ul/Makefile:1.1
--- /dev/null Thu Mar 7 03:53:51 2019
+++ src/external/bsd/libuuid_ul/lib/libuuid_ul/Makefile Thu Mar 7 03:53:51 2019
@@ -0,0 +1,40 @@
+# $NetBSD: Makefile,v 1.1 2019/03/07 03:53:51 mrg Exp $
+
+# Makefile to build minimal util-linux libuuid locally, with special
+# prefix on all functions to avoid conflicts with libc uuid_compare(3).
+#
+
+LIB= uuid_ul
+SRCS= compare.c copy.c \
+ gen_uuid.c \
+ pack.c parse.c \
+ unpack.c unparse.c
+
+CPPFLAGS+= \
+ -DHAVE_UNISTD_H \
+ -DHAVE_STDLIB_H \
+ -DHAVE_SYS_TIME_H \
+ -DHAVE_SYS_FILE_H \
+ -DHAVE_SYS_IOCTL_H \
+ -DHAVE_SYS_SOCKET_H \
+ -DHAVE_SYS_SOCKIO_H \
+ -DHAVE_SYS_SOCKIO_H \
+ -DHAVE_NETINET_IN_H \
+ -DHAVE_SYS_UN_H \
+ -DHAVE_TLS \
+ -DHAVE_NET_IF_H \
+ -DHAVE_NET_IF_DL_H \
+ -DHAVE_SA_LEN
+
+CPPFLAGS+= \
+ -I${.CURDIR} \
+ -DUL_CLOEXECSTR=\"e\" \
+ -DUUIDD_OP_BULK_TIME_UUID=0
+
+.include "libuuid_ul-rename.mk"
+
+LIBISPRIVATE= yes
+
+.include <bsd.lib.mk>
+
+.PATH: ${X11SRCDIR}/external/bsd/libuuid_ul/dist
Index: src/external/bsd/libuuid_ul/lib/libuuid_ul/libuuid_ul-rename.mk
diff -u /dev/null src/external/bsd/libuuid_ul/lib/libuuid_ul/libuuid_ul-rename.mk:1.1
--- /dev/null Thu Mar 7 03:53:51 2019
+++ src/external/bsd/libuuid_ul/lib/libuuid_ul/libuuid_ul-rename.mk Thu Mar 7 03:53:51 2019
@@ -0,0 +1,16 @@
+# $NetBSD: libuuid_ul-rename.mk,v 1.1 2019/03/07 03:53:51 mrg Exp $
+
+#
+# functions exported by fontconfig's private libuuid copy are
+# renamed to have a "ul_" prefix (from util-linux). listed here
+# so that both the libuuid_ul build and fontconfig can find them.
+#
+
+RENAME_FUNCS= \
+ uuid_compare uuid_copy \
+ uuid_generate uuid_generate_random \
+ uuid_parse uuid_unparse \
+ uuid_pack uuid_unpack
+.for _f in ${RENAME_FUNCS}
+CPPFLAGS+= -D${_f}=ul_${_f}
+.endfor
Index: src/external/bsd/libuuid_ul/lib/libuuid_ul/randutils.h
diff -u /dev/null src/external/bsd/libuuid_ul/lib/libuuid_ul/randutils.h:1.1
--- /dev/null Thu Mar 7 03:53:51 2019
+++ src/external/bsd/libuuid_ul/lib/libuuid_ul/randutils.h Thu Mar 7 03:53:51 2019
@@ -0,0 +1,44 @@
+/* $NetBSD: randutils.h,v 1.1 2019/03/07 03:53:51 mrg Exp $ */
+
+/*
+ * Copyright (c) 2019 Matthew R. Green
+ * 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. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+ */
+
+#ifndef NETBSD_SHIM_RANDUTILS
+#define NETBSD_SHIM_RANDUTILS
+
+/* shim function for util-linux random_get_bytes() */
+
+#include <stdlib.h>
+
+static void __inline__
+random_get_bytes(void *buf, size_t nbytes)
+{
+ arc4random_buf(buf, nbytes);
+}
+
+#endif