CVS commit: pkgsrc/lang/gcc16-libs

"Thomas Klausner" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
Module Name:	pkgsrc
Committed By:	wiz
Date:		Mon Aug 10 21:42:24 UTC 2026

Added Files:
	pkgsrc/lang/gcc16-libs: DESCR Makefile buildlink3.mk

Log Message:
lang/gcc16-libs: import gcc16-libs-16.1.0nb1

The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C,
Fortran, and Go, as well as libraries for these languages (libstdc++,
libgfortran, ...).

This packages provides GCC support libraries in a specific location and allows
packages to depend on just the libraries rather than having to pull in the full
GCC package.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/gcc16-libs/DESCR \
    pkgsrc/lang/gcc16-libs/Makefile pkgsrc/lang/gcc16-libs/buildlink3.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
(unnamed) (text/x-diff, 4.6 KB)
Added files:

Index: pkgsrc/lang/gcc16-libs/DESCR
diff -u /dev/null pkgsrc/lang/gcc16-libs/DESCR:1.1
--- /dev/null	Mon Aug 10 21:42:24 2026
+++ pkgsrc/lang/gcc16-libs/DESCR	Mon Aug 10 21:42:23 2026
@@ -0,0 +1,7 @@
+The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C,
+Fortran, and Go, as well as libraries for these languages (libstdc++,
+libgfortran, ...).
+
+This packages provides GCC support libraries in a specific location and allows
+packages to depend on just the libraries rather than having to pull in the full
+GCC package.
Index: pkgsrc/lang/gcc16-libs/Makefile
diff -u /dev/null pkgsrc/lang/gcc16-libs/Makefile:1.1
--- /dev/null	Mon Aug 10 21:42:24 2026
+++ pkgsrc/lang/gcc16-libs/Makefile	Mon Aug 10 21:42:24 2026
@@ -0,0 +1,64 @@
+# $NetBSD: Makefile,v 1.1 2026/08/10 21:42:24 wiz Exp $
+
+GCC_PKGNAME=	gcc16
+.include	"../../lang/${GCC_PKGNAME}/version.mk"
+
+DISTNAME=	gcc-${GCC16_DIST_VERSION}
+PKGNAME=	${GCC_PKGNAME}-libs-${GCC16_DIST_VERSION}
+
+## The PKGREVISION of this package needs to be at least 1 more than the
+## PKGREVISION of the lang/gcc16 package so that with the dependence pattern
+## '{gcc16,gcc16-libs}>=16.1.*' pkg_add will choose gcc16-libs over gcc16.
+PKGREVISION=	1
+
+CATEGORIES=	lang
+MASTER_SITES=	# empty
+DISTFILES=	# empty
+
+MAINTAINER=	[email protected]
+HOMEPAGE=	https://gcc.gnu.org/
+COMMENT=	The GNU Compiler Collection (GCC) support shared libraries
+LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
+
+USE_TOOLS+=	pax
+
+NO_BUILD=		yes
+CHECK_SHLIBS=		no
+RELRO_SUPPORTED=	no
+
+## Depend on exactly ${GCC16_DIST_VERSION}.
+TOOL_DEPENDS+=		${GCC_PKGNAME}-${GCC16_DIST_VERSION}{,nb[0-9]*}:../../lang/gcc16
+
+.include "../../mk/bsd.prefs.mk"
+
+LIBGCC_SUBPREFIX=	${GCC_PKGNAME}
+LIBGCC_PREFIX=		${LOCALBASE}/${LIBGCC_SUBPREFIX}
+GCC_TARGET_MACHINE?=	${MACHINE_GNU_PLATFORM}
+BUILD_DEFS+=		GCC_TARGET_MACHINE
+
+# Workaround for PR pkg/58966: mk: REQUIRES/PROVIDES analysis is wrong
+# for self-libraries.
+CHECK_SHLIBS_SUPPORTED=	no
+
+LIBRARY_FILES=	${WRKDIR}/lib_files
+
+GENERATE_PLIST+=	${SED} -e 's,^,${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/,' \
+			${LIBRARY_FILES};
+GENERATE_PLIST+=	${GREP} -q 'lib/' ${LIBRARY_FILES} || \
+			${ECHO} '@pkgdir ${LIBGCC_SUBPREFIX}/${GCC_TARGET_MACHINE}/lib';
+
+${LIBRARY_FILES}:
+	${PKG_INFO} -qL '${GCC_PKGNAME}-${GCC16_DIST_VERSION}*' |	\
+	${SED} -n -e's,^${LIBGCC_PREFIX}/,,' -e'/libexec\//d'		\
+		-e'/libgij/d;/libgcj/d;/libjvm/d'			\
+		-e'/lib.*\.${SHLIB_EXT}/p' >${LIBRARY_FILES}
+
+do-install: ${LIBRARY_FILES}
+	${TEST} -d ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib ||	\
+		${MKDIR} ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib
+	cd ${LIBGCC_PREFIX} && 						\
+	  ${PAX} -rw ${DESTDIR}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE} <${LIBRARY_FILES}
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/lang/gcc16-libs/buildlink3.mk
diff -u /dev/null pkgsrc/lang/gcc16-libs/buildlink3.mk:1.1
--- /dev/null	Mon Aug 10 21:42:24 2026
+++ pkgsrc/lang/gcc16-libs/buildlink3.mk	Mon Aug 10 21:42:24 2026
@@ -0,0 +1,46 @@
+# $NetBSD: buildlink3.mk,v 1.1 2026/08/10 21:42:24 wiz Exp $
+
+BUILDLINK_TREE+=	gcc16-libs
+
+.if !defined(GCC16_LIBS_BUILDLINK3_MK)
+GCC16_LIBS_BUILDLINK3_MK:=
+
+.if !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss])
+BUILDLINK_API_DEPENDS.gcc16-libs+=	gcc16-libs>=16.1.0
+.else
+BUILDLINK_API_DEPENDS.gcc16-libs+=	{gcc16,gcc16-libs}>=16.1.0
+.endif
+BUILDLINK_PKGSRCDIR.gcc16-libs=		../../lang/gcc16-libs
+BUILDLINK_DEPMETHOD.gcc16-libs?=	full
+
+BUILDLINK_PASSTHRU_DIRS+=	${BUILDLINK_PREFIX.gcc16-libs}/gcc16
+
+BUILDLINK_FILES.gcc16-libs=	#empty
+BUILDLINK_AUTO_VARS.gcc16-libs=	no
+
+.if !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss])
+# Use custom specs file to ensure we link against pkgsrc libraries.
+SPECS_LIBGCC=		${WRAPPER_DIR}/specs.libgcc
+WRAPPER_TARGETS+=	${SPECS_LIBGCC}
+
+LIBGCC_SUBPREFIX=	gcc16
+LIBGCC_PREFIX=		${BUILDLINK_PREFIX.gcc16-libs}/${LIBGCC_SUBPREFIX}
+GCC_TARGET_MACHINE?=	${MACHINE_GNU_PLATFORM}
+
+${SPECS_LIBGCC}:
+	@${ECHO} "*link_libgcc:" >${SPECS_LIBGCC}
+	@${ECHO} "%D ${LINKER_RPATH_FLAG}${LIBGCC_PREFIX}/${GCC_TARGET_MACHINE}/lib/%M" >>${SPECS_LIBGCC}
+
+_WRAP_EXTRA_ARGS.CC+=	-specs=${SPECS_LIBGCC}
+_WRAP_EXTRA_ARGS.CXX+=	-specs=${SPECS_LIBGCC}
+_WRAP_EXTRA_ARGS.FC+=	-specs=${SPECS_LIBGCC}
+CWRAPPERS_APPEND.cc+=	-specs=${SPECS_LIBGCC}
+CWRAPPERS_APPEND.cxx+=	-specs=${SPECS_LIBGCC}
+CWRAPPERS_APPEND.f77+=	-specs=${SPECS_LIBGCC}
+.endif
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.endif # GCC16_LIBS_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-gcc16-libs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.