Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jan 2018 15:03:08 +0000 (UTC)
From:      Raphael Kubo da Costa <rakuco@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r458339 - head/Mk
Message-ID:  <201801071503.w07F38rk007351@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rakuco
Date: Sun Jan  7 15:03:08 2018
New Revision: 458339
URL: https://svnweb.freebsd.org/changeset/ports/458339

Log:
  Correctly pass -platform to qtbase's configure script when CXX is an absolute path.
  
  With the update to Qt 5.9.3, the configure script and qmake expect an mkspec
  name, not an absolute path, which is why r458293 switched to using
  ${QMAKESPEC:T}.
  
  However, the :T modifier breaks things when CXX is set to an absolute path
  instead of just "c++", QMAKE_COMPILER is a shell string that will be evaluated
  only after make invokes `configure' with CONFIGURE_ARGS. In other words, we end
  up turning something like
  
      $$(ccver="$$(/usr/bin/c++ --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
  
  into
  
      /c++ --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
  
  which is obviously invalid.
  
  We now just avoid being too smart and set a separate variable called
  QMAKESPECNAME, which contains only the mkspec name and that we use both when
  setting CONFIGURE_ARGS as well as to create QMAKESPEC.
  
  PR:		224971

Modified:
  head/Mk/bsd.qt.mk

Modified: head/Mk/bsd.qt.mk
==============================================================================
--- head/Mk/bsd.qt.mk	Sun Jan  7 14:34:38 2018	(r458338)
+++ head/Mk/bsd.qt.mk	Sun Jan  7 15:03:08 2018	(r458339)
@@ -135,7 +135,7 @@ CONFIGURE_ARGS+=-fast \
 				-demosdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/demos
 . else
 CONFIGURE_ARGS+=-nomake examples -nomake tests \
-				-platform ${QMAKESPEC:T} \
+				-platform ${QMAKESPECNAME} \
 				-archdatadir ${PREFIX}/${QT_ARCHDIR_REL} \
 				-libexecdir ${PREFIX}/${QT_LIBEXECDIR_REL} \
 				-qmldir ${PREFIX}/${QT_QMLDIR_REL} \
@@ -261,7 +261,8 @@ UIC?=			${QT_BINDIR}/uic
 QMAKE?=			${QT_BINDIR}/qmake
 # Needed to redefine the qmake target for internal Qt configuration.
 _QMAKE?=		${QMAKE}
-QMAKESPEC?=		${QT_MKSPECDIR}/freebsd-${QMAKE_COMPILER}
+QMAKESPECNAME?=	freebsd-${QMAKE_COMPILER}
+QMAKESPEC?=		${QT_MKSPECDIR}/${QMAKESPECNAME}
 
 # The whole Qt distribution should be built with the same compiler, but it's
 # better to support custom settings. Dereferencing the detection allows to



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