On Mon, Dec 17, 2012 at 08:36:29PM +0400, Vadim Zhukov wrote:
> Hello all.
>
> This patch (which is probably wrong due to "==" instead of :M check)
> should help a bit in the case when CMake-based program needs a GCC
> toolchain from ports. KActivities from upcoming KDE 4.10 is the first
> such thing I've seen, but surely there will be more to follow. :(
>
> The only real purpose of the patch is saving porters of typing long
> CONFIGURE_ARGS. Maybe not the such big issue at all?..
>
> Any comments? Thanks in advance.
>
> --
> WBR,
> Vadim Zhukov
>
>
> Index: 4.2/gcc4.port.mk
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.2/gcc4.port.mk,v
> retrieving revision 1.15
> diff -u -p -r1.15 gcc4.port.mk
> --- 4.2/gcc4.port.mk 17 Nov 2011 18:03:43 -0000 1.15
> +++ 4.2/gcc4.port.mk 17 Dec 2012 16:28:23 -0000
> @@ -35,6 +35,9 @@ _MODGCC4_LINKS =
> . if ${MODGCC4_LANGS:L:Mc} && ${COMPILER_VERSION:L:Ngcc4*}
> BUILD_DEPENDS += gcc->=4.2,<4.3|gcc->=4.2v0,<4.3v0:lang/gcc/4.2
> _MODGCC4_LINKS += egcc gcc egcc cc
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_C_COMPILER=${LOCALBASE}/bin/egcc
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mc++}
> @@ -48,6 +51,9 @@ LIB_DEPENDS += libstdc++->=4.2,<4.3|libs
> WANTLIB += estdc++>=7
> _MODGCC4_LINKS += eg++ g++ eg++ c++
> . endif
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_CXX_COMPILER=${LOCALBASE}/bin/eg++
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mfortran}
> @@ -55,6 +61,9 @@ BUILD_DEPENDS += g95->=4.2,<4.3|g95->=4.
> WANTLIB += gfortran>=2
> LIB_DEPENDS += g95->=4.2,<4.3|g95->=4.2v0,<4.3v0:lang/gcc/4.2,-f95
> _MODGCC4_LINKS += egfortran gfortran
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_Fortran_COMPILER=${LOCALBASE}/bin/egfortran
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mjava}
> Index: 4.6/Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.6/Makefile,v
> retrieving revision 1.40
> diff -u -p -r1.40 Makefile
> --- 4.6/Makefile 6 Nov 2012 00:57:43 -0000 1.40
> +++ 4.6/Makefile 17 Dec 2012 16:28:23 -0000
> @@ -262,4 +262,3 @@ adastrap: ${ADA_PACKAGE} ${GCC_PACKAGE}
> cd ${WRKDIR}/prepare && tar cf - bootstrap | \
> xz > ${FULLDISTDIR}/${ADASTRAP-${MACHINE_ARCH}}
> .endif
> -
> Index: 4.6/gcc4.port.mk
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.6/gcc4.port.mk,v
> retrieving revision 1.9
> diff -u -p -r1.9 gcc4.port.mk
> --- 4.6/gcc4.port.mk 18 Apr 2012 18:41:22 -0000 1.9
> +++ 4.6/gcc4.port.mk 17 Dec 2012 16:28:23 -0000
> @@ -35,6 +35,10 @@ _MODGCC4_LINKS =
> . if ${MODGCC4_LANGS:L:Mc}
> BUILD_DEPENDS += lang/gcc/4.6>=4.6,<4.7
> _MODGCC4_LINKS += egcc gcc egcc cc
> +
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_C_COMPILER=${LOCALBASE}/bin/egcc
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mc++}
> @@ -45,6 +49,10 @@ LIB_DEPENDS += ${MODGCC4_CPPLIBDEP}
> MODGCC4_CPPWANTLIB = estdc++>=14
> WANTLIB += ${MODGCC4_CPPWANTLIB}
> _MODGCC4_LINKS += eg++ g++ eg++ c++
> +
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_CXX_COMPILER=${LOCALBASE}/bin/eg++
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mfortran}
> @@ -52,6 +60,9 @@ BUILD_DEPENDS += lang/gcc/4.6,-f95>=4.6,
> WANTLIB += gfortran>=3
> LIB_DEPENDS += lang/gcc/4.6,-f95>=4.6,<4.7
> _MODGCC4_LINKS += egfortran gfortran
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_Fortran_COMPILER=${LOCALBASE}/bin/egfortran
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mjava}
> Index: 4.7/gcc4.port.mk
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.7/gcc4.port.mk,v
> retrieving revision 1.3
> diff -u -p -r1.3 gcc4.port.mk
> --- 4.7/gcc4.port.mk 26 Aug 2012 10:19:48 -0000 1.3
> +++ 4.7/gcc4.port.mk 17 Dec 2012 16:28:23 -0000
> @@ -35,6 +35,9 @@ _MODGCC4_LINKS =
> . if ${MODGCC4_LANGS:L:Mc}
> BUILD_DEPENDS += lang/gcc/4.7>=4.7,<4.8
> _MODGCC4_LINKS += egcc gcc egcc cc
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_C_COMPILER=${LOCALBASE}/bin/egcc
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mc++}
> @@ -45,6 +48,9 @@ LIB_DEPENDS += ${MODGCC4_CPPLIBDEP}
> MODGCC4_CPPWANTLIB = estdc++>=15
> WANTLIB += ${MODGCC4_CPPWANTLIB}
> _MODGCC4_LINKS += eg++ g++ eg++ c++
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_CXX_COMPILER=${LOCALBASE}/bin/eg++
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mfortran}
> @@ -52,6 +58,9 @@ BUILD_DEPENDS += lang/gcc/4.7,-f95>=4.7,
> WANTLIB += gfortran>=3
> LIB_DEPENDS += lang/gcc/4.7,-f95>=4.7,<4.8
> _MODGCC4_LINKS += egfortran gfortran
> +. if "${CONFIGURE_STYLE}" == "cmake"
> +CONFIGURE_ARGS += -DCMAKE_Fortran_COMPILER=${LOCALBASE}/bin/egfortran
> +. endif
> . endif
>
> . if ${MODGCC4_LANGS:L:Mjava}
Basic idea okay. You're right that it should use CONFIGURE_STYLE:M
please clean the patch of stray shit like -empty lines.