lang/gcc rumdependencies?
Gerald Pfeifer
gerald at pfeifer.com
Sun Jul 29 22:29:46 UTC 2012
On Thu, 16 Feb 2012, b. f. wrote:
>> The main question is why this port (and everythin else with
>> USE_GCC=4.6+) depend on lang/gcc46 and not lang/gcc. Most port
>> users dislike building latest gcc snapshot on a weekly basis.
> Indeed. But (as discussed before on this list), they don't have to,
> if they find this to be a problem: they can remove lang/gcc46 and
> replace it with lang/gcc.
You may have noticed that lang/gcc46 has signficiantly slowed down
in it getting updates the last couple of months. That was by design,
since I know a larger number of users is having this as the default
version of GCC.
For ports building clusters and to simplify things for non-expert
users, or users just going for the default, indeed dragging in
lang/gcc by default, not lang/gcc46 (or later lang/gcc47) makes
sense and the patch below should do this.
Feedback welcome!
>> Maybe it would be good to move current lang/gcc46 to lang/gcc46-devel
>> and rename lang/gcc to lang/gcc46?
> No, because in time lang/gcc will become a stable release of 4.7.x,
> and so on ...
Exactly! I _am_ thinking to rename lang/gcc48 to lang/gcc48-devel,
and perhaps do similarly for lang/gcc47 as well. Thoughts?
Gerald
PS. The _GCC_BUILD_DEPENDS assignment below prevents breakage of
some ports. I plan on addressing this in a nicer manner, but prefer
to separate the two changes and proceed with this first change rather
sooner than later.
Index: bsd.gcc.mk
===================================================================
--- bsd.gcc.mk (revision 301695)
+++ bsd.gcc.mk (working copy)
@@ -178,29 +178,36 @@
. if ${_USE_GCC} == ${_GCCVERSION_${v}_V}
. if ${OSVERSION} < ${_GCCVERSION_${v}_L} || ${OSVERSION} > ${_GCCVERSION_${v}_R}
V:= ${_GCCVERSION_${v}_V:S/.//}
-_GCC_BUILD_DEPENDS:= gcc${V}
_GCC_PORT_DEPENDS:= gcc${V}
+. if ${_USE_GCC} == ${GCC_DEFAULT_VERSION}
+_GCC_PORT:= gcc
+. else
+_GCC_PORT:= gcc${V}
+. endif
CC:= gcc${V}
CXX:= g++${V}
CPP:= cpp${V}
. if ${_USE_GCC} != 3.4
-CFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}
-LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}
+CFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_PORT_DEPENDS}
+LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_PORT_DEPENDS}
. if defined (USE_FORTRAN)
. if ${USE_FORTRAN} == yes
-FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_BUILD_DEPENDS}
+FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/${_GCC_PORT_DEPENDS}
. endif
. endif
+# The following is for the sakes of some ports which use this without
+# ever telling us; to be fixed.
+_GCC_BUILD_DEPENDS:= ${_GCC_PORT_DEPENDS}
. endif
. endif
. endif
.endfor
.undef V
-.if defined(_GCC_BUILD_DEPENDS)
-BUILD_DEPENDS+= ${_GCC_PORT_DEPENDS}:${PORTSDIR}/lang/${_GCC_BUILD_DEPENDS}
+.if defined(_GCC_PORT_DEPENDS)
+BUILD_DEPENDS+= ${_GCC_PORT_DEPENDS}:${PORTSDIR}/lang/${_GCC_PORT}
. if ${_USE_GCC} != 3.4
-RUN_DEPENDS+= ${_GCC_PORT_DEPENDS}:${PORTSDIR}/lang/${_GCC_BUILD_DEPENDS}
+RUN_DEPENDS+= ${_GCC_PORT_DEPENDS}:${PORTSDIR}/lang/${_GCC_PORT}
. if ${_USE_GCC} != 4.2
# Later GCC ports already depend on binutils; make sure whatever we
# build leverages this as well.
More information about the freebsd-ports
mailing list