Module Name:    src
Committed By:   christos
Date:           Wed Aug  9 18:57:04 UTC 2023

Modified Files:
        src/tools/gcc: Makefile
        src/tools/gdb: Makefile
Added Files:
        src/tools/gcc: lgpl3.mk

Log Message:
jump through hoops to make the native build find gmp for gdb.


To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 src/tools/gcc/Makefile
cvs rdiff -u -r0 -r1.1 src/tools/gcc/lgpl3.mk
cvs rdiff -u -r1.42 -r1.43 src/tools/gdb/Makefile

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

Modified files:

Index: src/tools/gcc/Makefile
diff -u src/tools/gcc/Makefile:1.107 src/tools/gcc/Makefile:1.108
--- src/tools/gcc/Makefile:1.107	Sun Jul 30 21:48:37 2023
+++ src/tools/gcc/Makefile	Wed Aug  9 14:57:04 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.107 2023/07/31 01:48:37 mrg Exp $
+#	$NetBSD: Makefile,v 1.108 2023/08/09 18:57:04 christos Exp $
 
 .include <bsd.hostinit.mk>
 
@@ -171,22 +171,7 @@ native-gcc: .native/.configure_done
 		${MACHINE_GNU_PLATFORM} ${GCC_MACHINE_ARCH} ${DESTDIR} ${TOOLDIR}
 
 NATIVE_CONFIGURE_ARGS=	${COMMON_CONFIGURE_ARGS}
-MPC=		${NETBSDSRCDIR}/external/lgpl3/mpc
-MPFR=		${NETBSDSRCDIR}/external/lgpl3/mpfr
-GMP=		${NETBSDSRCDIR}/external/lgpl3/gmp
-MPCOBJ!=	cd ${MPC}/lib/libmpc && ${PRINTOBJDIR}
-MPFROBJ!=	cd ${MPFR}/lib/libmpfr && ${PRINTOBJDIR}
-GMPOBJ!=	cd ${GMP}/lib/libgmp && ${PRINTOBJDIR}
-
-.include "../../external/lgpl3/gmp/Makefile.arch"
-
-NATIVE_CONFIGURE_ARGS+=	\
-			--with-mpc-lib=${MPCOBJ} \
-			--with-mpfr-lib=${MPFROBJ} \
-			--with-gmp-lib=${GMPOBJ} \
-			--with-mpc-include=${MPC}/dist/src \
-			--with-mpfr-include=${MPFR}/dist/src \
-			--with-gmp-include=${GMP}/lib/libgmp/arch/${GMP_MACHINE_ARCH}
+.include "lgpl3.mk"
 
 .if ${MACHINE_ARCH} != "vax"
 NATIVE_CONFIGURE_ARGS+= --enable-tls

Index: src/tools/gdb/Makefile
diff -u src/tools/gdb/Makefile:1.42 src/tools/gdb/Makefile:1.43
--- src/tools/gdb/Makefile:1.42	Mon Jul 31 13:09:59 2023
+++ src/tools/gdb/Makefile	Wed Aug  9 14:57:04 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.42 2023/07/31 17:09:59 christos Exp $
+#	$NetBSD: Makefile,v 1.43 2023/08/09 18:57:04 christos Exp $
 
 .include <bsd.hostinit.mk>
 
@@ -25,6 +25,7 @@ BUILD_MAKE=${TOOL_GMAKE}
 
 BINENV=		/usr/bin/env -i
 
+.include "${.CURDIR}/../gcc/lgpl3.mk"
 
 MKNATIVE_ENV=	${BINENV} ${CONFIGURE_ENV:NC*:NLD*:Nam_cv_func_iconv*} \
 			CC_FOR_BUILD=${HOST_CC:Q} \
@@ -33,7 +34,8 @@ MKNATIVE_ENV=	${BINENV} ${CONFIGURE_ENV:
 			CC=${CC:Q}' '${CCADDFLAGS:Q} \
 			CXX=${CXX:Q}' '${CCADDFLAGS:Q}' '${CXXADDFLAGS:Q} \
 			CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \
-			CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \
+			CFLAGS= CPPFLAGS=-I${.OBJDIR}/.native/include \
+			CXXFLAGS= LDFLAGS=-L${GMPOBJ} \
 			AS=${AS:Q} AWK=${TOOL_AWK:Q} LD=${LD:Q} \
 			MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \
 			NM=${NM:Q} OBJDUMP=${OBJDUMP:Q} \
@@ -94,6 +96,7 @@ CONFIGURE_ARGS_GDBSERVER=
 CONFIGURE_ARGS_GDBSERVER+= --enable-gdbserver
 .endif
 
+
 native-gdb: .native/.configure_done
 	@echo 'Extracting GDB configury for a native toolchain.'
 	MAKE=${BUILD_MAKE:Q} ${HOST_SH} ${MKNATIVE} gdb \
@@ -101,13 +104,14 @@ native-gdb: .native/.configure_done
 		${GDB_MACHINE_ARCH}
 
 .native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile
-	mkdir ${.OBJDIR}/.native 2>/dev/null || true
+	mkdir -p ${.OBJDIR}/.native/include
+	# we need to make a copy because ${GMPINC} has a config.h
+	cp -p ${GMPINC}/gmp.h ${.OBJDIR}/.native/include
 	PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
 		(cd ${.OBJDIR}/.native && \
 			${MKNATIVE_ENV} ${HOST_SH} ${GNUHOSTDIST}/configure \
 			--prefix=/usr \
 			--with-separate-debug-dir=/usr/libdata/debug \
-			--with-libgmp-prefix=${TOOLDIR} \
 			${CONFIGURE_ARGS_SIM} \
 			${CONFIGURE_ARGS_GDBSERVER} \
 			--build=`${GNUHOSTDIST}/config.guess` \

Added files:

Index: src/tools/gcc/lgpl3.mk
diff -u /dev/null src/tools/gcc/lgpl3.mk:1.1
--- /dev/null	Wed Aug  9 14:57:05 2023
+++ src/tools/gcc/lgpl3.mk	Wed Aug  9 14:57:04 2023
@@ -0,0 +1,24 @@
+# $NetBSD: lgpl3.mk,v 1.1 2023/08/09 18:57:04 christos Exp $
+# configuration for native build to find lgpl3 libraries
+#
+.include "../../external/lgpl3/gmp/Makefile.arch"
+
+MPC=		${NETBSDSRCDIR}/external/lgpl3/mpc
+MPFR=		${NETBSDSRCDIR}/external/lgpl3/mpfr
+GMP=		${NETBSDSRCDIR}/external/lgpl3/gmp
+
+MPCOBJ!=	cd ${MPC}/lib/libmpc && ${PRINTOBJDIR}
+MPFROBJ!=	cd ${MPFR}/lib/libmpfr && ${PRINTOBJDIR}
+GMPOBJ!=	cd ${GMP}/lib/libgmp && ${PRINTOBJDIR}
+
+MPCINC=		${MPC}/dist/src
+MPFRINC=	${MPFR}/dist/src
+GMPINC=		${GMP}/lib/libgmp/arch/${GMP_MACHINE_ARCH}
+
+NATIVE_CONFIGURE_ARGS+=	\
+			--with-mpc-lib=${MPCOBJ} \
+			--with-mpfr-lib=${MPFROBJ} \
+			--with-gmp-lib=${GMPOBJ} \
+			--with-mpc-include=${MPCINC} \
+			--with-mpfr-include=${MPFRINC} \
+			--with-gmp-include=${GMPINC}

Reply via email to