Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2021 18:32:24 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r566548 - head/graphics/jpeg-xl
Message-ID:  <202102251832.11PIWODi076207@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Feb 25 18:32:23 2021
New Revision: 566548
URL: https://svnweb.freebsd.org/changeset/ports/566548

Log:
  graphics/jpeg-xl: enable LTO by default
  
  3% faster at least with -s 9 (tortoise) and 2100x2800 input.
  
  Beware of dragons on non-amd64 e.g.,
  
    $ cjxl -s 9 foo.png foo.jxl
      J P E G   \/ |
  	      /\ |_   e n c o d e r    [v0.3.2 | SIMD supported: SSE4,Scalar]
  
    Read 2100x2800 image, 47.7 MP/s
    Encoding [VarDCT, d1.000, tortoise], 8 threads.
    lib/jxl/butteraugli/butteraugli.cc:99: JXL_CHECK: out->xsize() == in.ysize()
    Illegal instruction

Modified:
  head/graphics/jpeg-xl/Makefile   (contents, props changed)

Modified: head/graphics/jpeg-xl/Makefile
==============================================================================
--- head/graphics/jpeg-xl/Makefile	Thu Feb 25 18:26:19 2021	(r566547)
+++ head/graphics/jpeg-xl/Makefile	Thu Feb 25 18:32:23 2021	(r566548)
@@ -3,6 +3,7 @@
 PORTNAME=	jpeg-xl
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.3.2
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -31,8 +32,10 @@ CMAKE_OFF=	JPEGXL_WARNINGS_AS_ERRORS ${BENCHMARK FUZZE
 CMAKE_OFF+=	${OpenGL GLUT:L:S/^/CMAKE_DISABLE_FIND_PACKAGE_/} # sjpeg
 LDFLAGS+=	-Wl,--as-needed # brotlicommon, GIMP/OPENEXR/PNG deps
 
-OPTIONS_DEFINE=	GIF GIMP JPEG OPENEXR PIXBUF PNG TEST
-OPTIONS_DEFAULT=GIF GIMP JPEG OPENEXR PIXBUF PNG
+OPTIONS_DEFINE=	GIF GIMP JPEG LTO OPENEXR PIXBUF PNG TEST
+OPTIONS_DEFAULT=GIF GIMP JPEG LTO OPENEXR PIXBUF PNG
+OPTIONS_EXCLUDE_i386=	LTO # ConvolutionWithTranspose(): JXL_CHECK: out->xsize() == in.ysize()
+OPTIONS_EXCLUDE_powerpc64=	${"${/usr/bin/ld:L:tA}"==/usr/bin/ld.lld:?LTO:} # LLVM bug 47353
 OPTIONS_SUB=	yes
 
 GIF_LIB_DEPENDS=	libgif.so:graphics/giflib
@@ -45,6 +48,13 @@ GIMP_LIB_DEPENDS=	libgegl-0.4.so:graphics/gegl \
 
 JPEG_USES=		jpeg
 JPEG_CMAKE_BOOL_OFF=	CMAKE_DISABLE_FIND_PACKAGE_JPEG
+
+LTO_CMAKE_BOOL=		CMAKE_INTERPROCEDURAL_OPTIMIZATION
+LTO_CMAKE_ON=		-DCMAKE_POLICY_DEFAULT_CMP0069:STRING=NEW
+.if exists(/usr/bin/ld.lld) && ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld
+# --plugin isn't supported by old GNU ld.bfd in base
+LTO_LDFLAGS=		-fuse-ld=lld
+.endif
 
 OPENEXR_LIB_DEPENDS=	libHalf.so:graphics/ilmbase \
 			libIlmImf.so:graphics/openexr



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102251832.11PIWODi076207>