Module Name:    src
Committed By:   joerg
Date:           Wed Apr 10 20:32:56 UTC 2019

Modified Files:
        src/external/bsd/llvm: link.mk
        src/external/mit/xorg/lib/gallium: Makefile

Log Message:
Extend LLVM link.mk to handle librt. Use it in Gallium.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/llvm/link.mk
cvs rdiff -u -r1.22 -r1.23 src/external/mit/xorg/lib/gallium/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/llvm/link.mk
diff -u src/external/bsd/llvm/link.mk:1.5 src/external/bsd/llvm/link.mk:1.6
--- src/external/bsd/llvm/link.mk:1.5	Sun Sep 29 12:11:59 2013
+++ src/external/bsd/llvm/link.mk	Wed Apr 10 20:32:56 2019
@@ -1,7 +1,9 @@
-#	$NetBSD: link.mk,v 1.5 2013/09/29 12:11:59 joerg Exp $
+#	$NetBSD: link.mk,v 1.6 2019/04/10 20:32:56 joerg Exp $
 
 .include <bsd.own.mk>
 
+LLVM_TOPLEVEL:=	${.PARSEDIR}
+
 .if defined(HOSTPROG)
 LIB_BASE=	${NETBSDSRCDIR}/tools/llvm-lib
 .else
@@ -38,6 +40,12 @@ LDADD+=	-L${LLVM_OBJDIR.${l}} -lLLVM${l}
 DPADD+=	${LLVM_OBJDIR.${l}}/libLLVM${l}.a
 .endfor
 
+.for l in ${LLVMRT_LIBS}
+LLVMRT_OBJDIR.${l}!=	cd ${LLVM_TOPLEVEL}/librt/libLLVM${l} && ${PRINTOBJDIR}
+LDADD+=	${LLVMRT_OBJDIR.${l}}/libLLVM${l}_pic.a
+DPADD+=	${LLVMRT_OBJDIR.${l}}/libLLVM${l}_pic.a
+.endfor
+
 .if defined(HOSTPROG)
 LDADD_NEED_DL=		cat ${LLVM_TOOLCONF_OBJDIR}/need-dl 2> /dev/null
 LDADD_NEED_TERMINFO=	cat ${LLVM_TOOLCONF_OBJDIR}/need-terminfo 2> /dev/null

Index: src/external/mit/xorg/lib/gallium/Makefile
diff -u src/external/mit/xorg/lib/gallium/Makefile:1.22 src/external/mit/xorg/lib/gallium/Makefile:1.23
--- src/external/mit/xorg/lib/gallium/Makefile:1.22	Sun Apr  7 17:31:32 2019
+++ src/external/mit/xorg/lib/gallium/Makefile	Wed Apr 10 20:32:56 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.22 2019/04/07 17:31:32 christos Exp $
+# $NetBSD: Makefile,v 1.23 2019/04/10 20:32:56 joerg Exp $
 
 # Link the gallium mega driver.
 
@@ -961,9 +961,7 @@ LIBDPLIBS+=	execinfo	${.CURDIR}/../../..
 # gallium drivers requiring LLVM
 .if ${BUILD_LLVMPIPE} == 1 || ${BUILD_RADEON} == 1
 
-LLVM_LIB_DIR!=	cd ${.CURDIR}/../../../../../external/bsd/llvm/librt; ${PRINTOBJDIR}
-
-LLVM_LIBS=	\
+LLVMRT_LIBS=	\
 		TransformsCoroutines \
 		Passes \
 		MCJIT \
@@ -971,7 +969,7 @@ LLVM_LIBS=	\
 		RuntimeDyld
 
 .if ${BUILD_RADEON} == 1
-LLVM_LIBS+=	\
+LLVMRT_LIBS+=	\
 		AMDGPUCodeGen \
 		AMDGPUMCTargetDesc \
 		AMDGPUAsmPrinter \
@@ -982,7 +980,7 @@ LLVM_LIBS+=	\
 
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 # XXX duplicates
-LLVM_LIBS+=	\
+LLVMRT_LIBS+=	\
 		X86Disassembler \
 		X86CodeGen \
 		X86MCTargetDesc \
@@ -992,7 +990,7 @@ LLVM_LIBS+=	\
 		X86TargetInfo \
 		X86Utils
 .endif
-LLVM_LIBS+=	\
+LLVMRT_LIBS+=	\
 		GlobalISel \
 		MCDisassembler \
 		SelectionDAG \
@@ -1020,12 +1018,7 @@ LLVM_LIBS+=	\
 		TransformsUtils \
 		Support
 
-.for llvm_library in ${LLVM_LIBS}
-dir!=	cd ${LLVM_LIB_DIR}/libLLVM${llvm_library}; ${PRINTOBJDIR}
-lib=	${dir}/libLLVM${llvm_library}_pic.a
-DPADD+=	${lib}
-LDADD+=	${lib}
-.endfor
+.include "${NETBSDSRCDIR}/external/bsd/llvm/link.mk"
 
 .endif  # ${BUILD_LLVM_PIPE} == 1 || ${BUILD_RADEON} == 1
 

Reply via email to