Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86435 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 48632 invoked from network); 28 May 2015 22:17:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 May 2015 22:17:29 -0000 Authentication-Results: pb1.pair.com smtp.mail=anatol.php@belski.net; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=anatol.php@belski.net; sender-id=unknown Received-SPF: error (pb1.pair.com: domain belski.net from 85.214.73.107 cause and error) X-PHP-List-Original-Sender: anatol.php@belski.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:60408] helo=h1123647.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E2/16-01144-5F397655 for ; Thu, 28 May 2015 18:17:26 -0400 Received: by h1123647.serverkompetenz.net (Postfix, from userid 1006) id 67A606D209A; Fri, 29 May 2015 00:17:22 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on h1123647.serverkompetenz.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.5 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable version=3.3.2 Received: from w520phpdev (pD9FE8D06.dip0.t-ipconnect.de [217.254.141.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by h1123647.serverkompetenz.net (Postfix) with ESMTPSA id 706686D2044; Fri, 29 May 2015 00:17:20 +0200 (CEST) To: "'Eric Stenson'" , "'Ferenc Kovacs'" , Cc: References: <002701d093a7$4d3a9210$e7afb630$@belski.net> In-Reply-To: Date: Fri, 29 May 2015 00:17:11 +0200 Message-ID: <000a01d09994$0e35f0d0$2aa1d270$@belski.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQGWHwiSIHHeGINRHuU4zDqP8dqMxwFrPrWcAgpiOsACDRVv2J3au+nQ Content-Language: en-us Subject: RE: [INTERNALS-WIN] Re: [PHP-DEV] Q: What is the Config.w32 equivalent of PHP_ADD_MAKEFILE_FRAGMENT? From: anatol.php@belski.net ("Anatol Belski") Hi Eric, > -----Original Message----- > From: Eric Stenson [mailto:ericsten@microsoft.com] > Sent: Tuesday, May 26, 2015 6:18 PM > To: Anatol Belski; 'Ferenc Kovacs'; internals-win@lists.php.net > Cc: internals@lists.php.net > Subject: RE: [INTERNALS-WIN] Re: [PHP-DEV] Q: What is the Config.w32 > equivalent of PHP_ADD_MAKEFILE_FRAGMENT? >=20 > -----Original Message----- > > From: Anatol Belski [mailto:anatol.php@belski.net] > [...] > > Can you please share what exactly you need it to do? Like the = command > > sequence or alike, maybe there is already a way to do that. >=20 > I need to run the $(MC) command, with the '-um' option, which will = create ETW > message macros & binary resources. The output is a .h, a .rc and a = couple of > .BIN files. >=20 > e.g.: > $(MC) -um -e h -h ..\pecl\wincache -r ..\pecl\wincache = wincache_etw.man >=20 > I'm working around the lack of a fragment by running the $(MC) command = by > hand, an checking in the results to the pecl\wincache directory, and = hand- > hacking the template.rc to #include the resulting wincache_etw.rc. It = kinda > works, but it would be better if the building of the ETW resources was = automatic > with make/nmake. >=20 > Even better would be to put the rendered .h, .rc & .bin files in the = same directory > as the .obj's, so they could be cleaned up. The problem there is no = way to pass > an include directory arg (-I) to the $(RC) command used for = template.rc. >=20 I was just checking, one possibility were to make use of the variable = called MFO which is globally available. Here for example what happens = when you call EXTENSION(...) in the config.w32 = http://git.php.net/?p=3Dphp-src.git;a=3Dblob;f=3Dwin32/build/confutils.js= ;h=3D9a7b3fa5ac990899189d537f8295a98be3b7f89c;hb=3DHEAD#l1290 . So this = gives possibility to implement custom targets adding them through the = javascript API. However I'm not sure one can add those targets as = dependency to the main ext dll target, and this is neglecting almost any = effect of creating a custom build target. What one could theoretically = do is reading the whole Makefile and extending the target of the = interest, then writing the whole back. However tricky it is and might = break other exts, so should be done with care. A bit another story is in master, there the objects are put into the = response file, so theoretically one could do the necessary operation = already when configure runs and extend the response file. But that = doesn't really help globally. However it's tricky as well. We can do the = necessary implementations in master and maybe backport it, it were an = improvement, but it were still missing in the already done releases. I'm = going to put this on my todo at least for master. However don't expect = coming to it very soon. Probably the simplest implementation were the = possibility to add fragments as whole, disregarding the JS = functionality. Maybe also you could play with the MFO possibility I've = mentioned, I could have overseen something. Regards Anatol