Created attachment 172761 [details] v1 The following issue only affects GCC 4.2.x in base. If there're no runtime issues let's use default compiler on FreeBSD 10+ and /usr/bin/clang on FreeBSD 9. cc -MD -DPREFER_PRELOAD -DDP_FS_BASEDIR=\"/usr/local/share/xonotic\" -DLINK_TO_ZLIB -I/usr/local/include -DLINK_TO_LIBJPEG -D_FILE_OFFSET_BITS=64 -D__KERNEL_STRICT_NAMES -I../../../ -DCONFIG_MENU -DCONFIG_CD -DCONFIG_VIDEO_CAPTURE -O2 -pipe -fno-strict-aliasing -fno-strict-aliasing -funroll-loops -c ../../..//dpsoftrast.c -o dpsoftrast.o -msse2 ../../..//dpsoftrast.c: In function 'DPSOFTRAST_Draw_Span_Texture2DVaryingBGRA8': ../../..//dpsoftrast.c:2825: internal compiler error: in trunc_int_for_mode, at explow.c:56 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
compiler:c11 is not suitable here as the code doesn't really require c11. We can instead check compiler version directly. What do you think? +.if ${COMPILER_TYPE} == gcc && ${COMPILER_VERSION} == 42 +# internal compiler error with base gcc +USE_GCC= yes +.endif
USES=compiler:c11 allows building with /usr/bin/clang on FreeBSD 9.x but USE_GCC currently pulls around 306 MiB of dependencies as part of RUN_DEPENDS. Not to mention COMPILER_TYPE cannot be checked before <bsd.port.pre.mk> unless you include <bsd.compiler.mk> which is forbidden in ports. I find ports' Makefiles with conditionals more error prone than those written in declarative style. But this port is still maintained, so whatever...
(In reply to Jan Beich from comment #2) > USES=compiler:c11 Again, it is not suitable as there's no c11 requirement at all. > allows building with /usr/bin/clang on FreeBSD 9.x Don't forget that 9.x is not the only platform which uses base gcc. Afair there's still no clang for mips. > but USE_GCC currently pulls around 306 MiB of dependencies as part of > RUN_DEPENDS. I don't see a big problem here. First, it's much less than xonotic pulls itself, second, obsolete 9.x pulls gcc for a lot of stuff anyway. > Not to mention COMPILER_TYPE cannot be checked before <bsd.port.pre.mk> Of course it is to be checked after <bsd.port.pre.mk>. > I find ports' Makefiles with conditionals more error prone than those > written in declarative style. But this port is still maintained, so > whatever... There's no declarative machinery for this case, unfortunately.
A commit references this bug: Author: amdmi3 Date: Wed Jul 27 16:55:39 UTC 2016 New revision: 419187 URL: https://svnweb.freebsd.org/changeset/ports/419187 Log: - Use clang where possible - Add missing xorg dependency PR: 211258 Submitted by: jbeich@FreeBSD.org Changes: head/games/xonotic/Makefile