From owner-freebsd-ports@FreeBSD.ORG Tue Jul 29 15:26:48 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE7D3106564A for ; Tue, 29 Jul 2008 15:26:48 +0000 (UTC) (envelope-from chukharev@mail.ru) Received: from mx2.mail.ru (mx2-2.mail.ru [194.67.23.122]) by mx1.freebsd.org (Postfix) with ESMTP id A7DC58FC16 for ; Tue, 29 Jul 2008 15:26:48 +0000 (UTC) (envelope-from chukharev@mail.ru) Received: from [130.230.40.65] (port=60075 helo=localhost) by mx2.mail.ru with asmtp id 1KNr66-000I9A-00; Tue, 29 Jul 2008 19:26:46 +0400 Date: Tue, 29 Jul 2008 18:28:26 +0300 To: "Kris Kennaway" From: "V.Chukharev" Content-Type: text/plain; charset=koi8-r MIME-Version: 1.0 References: <08GlBzRclM@dmeyer.dinoex.sub.org> <488A0B2E.9070403@FreeBSD.org> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: <488A0B2E.9070403@FreeBSD.org> User-Agent: Opera Mail/9.51 (FreeBSD) X-Spam: Not detected X-Mras: OK Cc: Dirk Meyer , freebsd-ports@freebsd.org Subject: Re: Mk/bsd.openssl.mk optimization X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2008 15:26:49 -0000 On Fri, 25 Jul 2008 20:19:42 +0300, Kris Kennaway wrote: > V.Chukharev wrote: >> With the patch Mk/bsd.port.sudir.mk .include's Mk/bsd.openssl.mk, hence everywhere >> when the former is used the latter is inderectly included. This is because I did not >> want to split the openssl staff into two parts. I put some protection. > > You don't want to .include the file, just use the same make -f trick > that I used for e.g. the python and java variable caching. Ah, thanks, I think I got it now. Please, review. ====================== --- /usr/ports/Mk/bsd.port.subdir.mk.orig 2008-07-21 16:00:36.000000000 +0300 +++ /usr/ports/Mk/bsd.port.subdir.mk 2008-07-29 17:51:57.000000000 +0300 @@ -137,6 +137,25 @@ UID!= ${ID} -u .endif +.if !defined(LOCALBASE) +LOCALBASE!= make -f ${PORTSDIR}/Mk/bsd.port.mk -V LOCALBASE +.endif +_OPENSSL_ENV= LOCALBASE=${LOCALBASE:Q} HEAD=${HEAD:Q} CUT=${CUT:Q} OSVERSION=${OSVERSION:Q} +.if !defined(OPENSSL_INSTALLED) +OPENSSL_INSTALLED!= make ${_OPENSSL_ENV} -f ${PORTSDIR}/Mk/bsd.openssl.mk -V OPENSSL_INSTALLED +.endif + +#_OPENSSL_ENV+= OPENSSL_INSTALLED=${OPENSSL_INSTALLED:Q} +.if !defined(OPENSSL_PORT) +OPENSSL_PORT!= make ${_OPENSSL_ENV} -f ${PORTSDIR}/Mk/bsd.openssl.mk -V OPENSSL_PORT +.endif + +# We cannot do the next line, currently bsd.openssl.mk needs OPENSSL_PORT undefined +#_OPENSSL_ENV+= OPENSSL_PORT=${OPENSSL_PORT:Q} +.if !defined(OPENSSL_SHLIBFILE) +OPENSSL_SHLIBFILE!= make ${_OPENSSL_ENV} -f ${PORTSDIR}/Mk/bsd.openssl.mk -V OPENSSL_SHLIBFILE +.endif + .if exists(${LOCALBASE}/sbin/pkg_info) PKG_INFO?= ${LOCALBASE}/sbin/pkg_info .else @@ -374,6 +393,9 @@ PKGINSTALLVER="${PKGINSTALLVER:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ HAVE_COMPAT_IA32_KERN="${HAVE_COMPAT_IA32_KERN}" \ CONFIGURE_MAX_CMD_LEN="${CONFIGURE_MAX_CMD_LEN}" \ + OPENSSL_INSTALLED="${OPENSSL_INSTALLED}" \ + OPENSSL_PORT="${OPENSSL_PORT}" \ + OPENSSL_SHLIBFILE="${OPENSSL_SHLIBFILE}" \ PYTHON_DEFAULT_VERSION="${PYTHON_DEFAULT_VERSION}" \ PYTHON_DEFAULT_PORTVERSION="${PYTHON_DEFAULT_PORTVERSION}" \ PYTHONBASE="${PYTHONBASE}" \ ====================== I also tried to make only one sweep over /var/db/pkg, but with uncommented 'OPENSSL_INSTALLED+=' line (and corresponding '.if !defined' in bsd.openssl.mk) INDEX-7 was different. I could not trace down the reason. Best regards, Vladimir > Kris > -- V. Chukharev