Subject: circular dependency for gcc with USE_GCC[23]
To: None <tech-pkg@netbsd.org>
From: Gavan Fantom <gavan@coolfactor.org>
List: tech-pkg
Date: 08/08/2003 22:14:42
Does this look like a reasonable way to solve the circular dependency
problems with gcc?
It appears to work, in that I can now build gcc, and that doing bmake
clean-depends-list no longer forkbombs the machine. A similar solution
should work for the tools.mk problems, too.
I'll be happy to commit it in the absence of any negative comments.
Index: bsd.pkg.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bsd.pkg.mk,v
retrieving revision 1.1230
diff -b -u -r1.1230 bsd.pkg.mk
--- bsd.pkg.mk 2003/08/04 21:06:47 1.1230
+++ bsd.pkg.mk 2003/08/08 21:14:48
@@ -85,6 +85,8 @@
INTERACTIVE_STAGE?= none
+_PKGSRC_DEPS?= # empty
+
# Set the default BUILDLINK_DIR, BUILDLINK_X11PKG_DIR, BUILDLINK_X11_DIR so
# that if no buildlink2.mk files are included, then they still point to
# where headers and libraries for installed packages and X11R6 may be found.
@@ -3408,7 +3410,7 @@
case "$$CLEAN_DEPENDS_LIST_SEEN" in \
*" "$$dir" "*) ;; \
*) \
- CLEAN_DEPENDS_LIST_SEEN=" $$dir `cd ${.CURDIR} ; cd $$dir && ${MAKE} ${MAKEFLAGS} CLEAN_DEPENDS_LIST_SEEN="$$CLEAN_DEPENDS_LIST_SEEN" CLEAN_DEPENDS_LIST_TOP=NO clean-depends-list`";\
+ CLEAN_DEPENDS_LIST_SEEN=" `cd ${.CURDIR} ; cd $$dir && ${MAKE} ${MAKEFLAGS} CLEAN_DEPENDS_LIST_SEEN=\" $$dir $$CLEAN_DEPENDS_LIST_SEEN\" CLEAN_DEPENDS_LIST_TOP=NO clean-depends-list`";\
;; \
esac \
done ; \
Index: gcc.buildlink2.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/gcc.buildlink2.mk,v
retrieving revision 1.4
diff -b -u -r1.4 gcc.buildlink2.mk
--- gcc.buildlink2.mk 2003/07/22 01:00:25 1.4
+++ gcc.buildlink2.mk 2003/08/08 21:14:48
@@ -11,9 +11,9 @@
.include "../../mk/bsd.prefs.mk"
-.if defined(USE_GCC3) && empty(PKGPATH:Mlang/gcc3)
+.if defined(USE_GCC3) && empty(PKGPATH:Mlang/gcc3) && empty(_PKGSRC_DEPS:Mgcc-3.*)
. include "../lang/gcc3/buildlink2.mk"
-.elif defined(USE_GCC2) && empty(PKGPATH:Mlang/gcc)
+.elif defined(USE_GCC2) && empty(PKGPATH:Mlang/gcc) && empty(_PKGSRC_DEPS:Mgcc-2.*)
. include "../lang/gcc/buildlink2.mk"
.endif
--
Gillette - the best a man can forget