From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Corwin Brust Newsgroups: gmane.emacs.devel Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed Date: Wed, 2 Feb 2022 17:28:01 -0600 Message-ID: References: <86h7a25nz7.fsf@duenenhof-wilhelm.de> <878rve85yy.fsf@russet.org.uk> <86a6fu3xb2.fsf@duenenhof-wilhelm.de> <87tue1j8x0.fsf@russet.org.uk> <86wniw3kdq.fsf@duenenhof-wilhelm.de> <83tue0u8sh.fsf@gnu.org> <86sftk3evj.fsf@duenenhof-wilhelm.de> <83o848tc92.fsf@gnu.org> <86o8473k13.fsf@duenenhof-wilhelm.de> <83ee53ssbx.fsf@gnu.org> <86sft4c3ij.fsf@gnu.org> <86sft4xjeo.fsf@gnu.org> <86iltzx5fy.fsf@duenenhof-wilhelm.de> <878rusapod.fsf@russet.org.uk> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000001a4e5805d7115f57" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19616"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "H. Dieter Wilhelm" , Arash Esbati , Eli Zaretskii , Emacs developers To: Phillip Lord Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Feb 03 00:33:03 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nFP7X-0004xi-IU for ged-emacs-devel@m.gmane-mx.org; Thu, 03 Feb 2022 00:33:03 +0100 Original-Received: from localhost ([::1]:47016 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nFP7W-0002Tq-0F for ged-emacs-devel@m.gmane-mx.org; Wed, 02 Feb 2022 18:33:02 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:50918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nFP2v-0000zp-LT for emacs-devel@gnu.org; Wed, 02 Feb 2022 18:28:18 -0500 Original-Received: from mail-ej1-f45.google.com ([209.85.218.45]:41834) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nFP2t-0005P3-Ll; Wed, 02 Feb 2022 18:28:17 -0500 Original-Received: by mail-ej1-f45.google.com with SMTP id a8so2138679ejc.8; Wed, 02 Feb 2022 15:28:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GVg5urQJe76HJQ53+bjZBeDBPUqDLfGa0zXGqqKCxlM=; b=ScNZBtuy2zXw4GzNw9FONd8uwQvMtFowcL5LEpAjJHCvxWDKx6iEqgMf+LMH5i3TDG /1wU63Q5cOaP/0Ufh5IAVZA598twWE+St7aDHyqBWemEunKpschN/UHV9w/CyVugwJBq CKdTvS+2sxsl8Oq/4CbHrJGet0jegsX4G4JHXJrBV2YHL9esUszyf8pd/7GIOcR66DPS 9kCk4Hj73ay0Ta3HMp3PFqTE/rTIBYP9ila1C6Y7zzccBk5KU5qvi3klne0qUH23ivtH IysEpO8FNEFiGgjf8Nh536uxtez2L2xHR7gderunkfBNvi0/UtUCTv8KX2r7cbK7x+Da F6RA== X-Gm-Message-State: AOAM533CoUuSyWNgo9gFqZaYMKfokDpZT7kA4ovZBi50gDBkWiIW9KsR FfPs3Gh7gNuRwnDf/pRGbOjOf7zZZQ9A+jxlR60= X-Google-Smtp-Source: ABdhPJwvbkTm/DZtRnKQr8toGm8Yj3Zpk0IqnDgFP92FmUFFKycCNBdf+U9590i93Zs1fmz5+pLOSd6gVmTlIQMjv0Y= X-Received: by 2002:a17:906:5d14:: with SMTP id g20mr26973696ejt.237.1643844493519; Wed, 02 Feb 2022 15:28:13 -0800 (PST) In-Reply-To: <878rusapod.fsf@russet.org.uk> Received-SPF: pass client-ip=209.85.218.45; envelope-from=mplscorwin@gmail.com; helo=mail-ej1-f45.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:285815 Archived-At: --0000000000001a4e5805d7115f57 Content-Type: text/plain; charset="UTF-8" On Wed, Feb 2, 2022 at 4:07 PM Phillip Lord wrote: > > Corwin Brust writes: > > > On Mon, Jan 31, 2022 at 9:58 AM H. Dieter Wilhelm > > wrote: > >> > >> Currently we have 19 DLLs in the /bin folder (28.0.91), whereas 27.2 has > >> 77 DLLs! Corwin could you please check your build configuration, maybe > >> together with Phil? (I'm sorry, I'm still of no help here.) > > > > Excellent observation. > > > > I hope Phil will chime-in with suggestions of what I may have > > missed/broken. I'll investigate also, obviously, and others' > > kibitzing most welcome too. > > > Strange. What are the differences? Firstly: I'm not too sure yet. I still need to download the Emacs 27.2 zip from the official source and do a direct "gap" comparison. Overall, I'm leaning toward ditching automation of dependency detection in favor of adding a separate file. All efforts to automating dependency recursion seem britle, ultimating causing more work than they save us as we have to track down one mystery after another. The proposed new file will - exhaustively lists each DLL we ship - be referenced in by documentation (such as README.W32) - be loaded by scripts, e.g. build-dep-zips.py - have additional "columns" to name the msys package, and - document why the dependency is required. I have attached a txt file which is the complete list of what I would start out including in that file. Obviously, it's missing the msys package names and has no commentary, so far. I would probably call it admin/nt/dist-build/deps.txt but I don't feel strongly about the filename. WDYT? Meanwhile, in mesier news: I wrote a perl script (also attached but don't bother) to find second (and etc) order dependances using LDD that I believe should have been (but have not been) getting pulled into the build. I thought that the msys installation folder path change Dieter caught would sort this, but the numbers seem to don't add up (yet), probably because of the undependability of the msys dependency checking that you mentioned. I thought this would get me up to the same count (77) as Dieter reported, but: $ ls *.dll | wc -l 19 $ perl ../../../find-deps.pl | xargs -I '{}' cp '{}' . searched: 19, found: 392, of which 43 are missing in /c/Users/corwi/emacs-build/install/emacs-28.0.91/bin $ ls *.dll | wc -l 62 Note, these are the 62 DLLs listed in the attached textt file. I also used this rather henus string of pipelined commands to "cross-check" for missing dependencies and only came up with one, which appears to be an optional dependency of harfbuzz: $ find ./ -name '*.dll' -print0 | xargs -0 -I '{}' cygcheck '{}' 2>&1 | grep 'could not' | cut -d ' ' -f 6 | sort | uniq libicuuc69.dll Finally, I double-checked using an even more rediculous set of pipeline commands. seemingly confirming everything the prior finds are in the bin directory: $ find ./ -name '*.dll' -print0 | xargs -0 -I '{}' cygcheck '{}' 2>&1 | grep -v 'could not' | cut -d ' ' -f 6 | sort | uniq | xargs -0 -L1 echo | xargs -0 cygpath | perl -npe 's|c:|/c|g' | xargs -L1 basename | xargs ls >/dev/null All this has me convinced some DLLs that shipped with Emacs 27.2 aren't findable as dependencies of anything we currently need for Emacs 28, but not why. And that leads me to the suggestion, above: I think we should hard-code the DLLs along with their source packages. We can consider automatically generating/updating the deps file once we get that far. Warmest regards, Corwin --0000000000001a4e5805d7115f57 Content-Type: text/plain; charset="US-ASCII"; name="dll-list.txt" Content-Disposition: attachment; filename="dll-list.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kz66jy9i0 bGliTGVyYy5kbGwKbGliWHBtLW5vWDQuZGxsCmxpYmJyb3RsaWNvbW1vbi5kbGwKbGliYnJvdGxp ZGVjLmRsbApsaWJiejItMS5kbGwKbGliY2Fpcm8tMi5kbGwKbGliY2Fpcm8tZ29iamVjdC0yLmRs bApsaWJkYXRyaWUtMS5kbGwKbGliZGVmbGF0ZS5kbGwKbGliZXhwYXQtMS5kbGwKbGliZmZpLTcu ZGxsCmxpYmZvbnRjb25maWctMS5kbGwKbGliZnJlZXR5cGUtNi5kbGwKbGliZnJpYmlkaS0wLmRs bApsaWJnY2Nfc19zZWgtMS5kbGwKbGliZ2RrX3BpeGJ1Zi0yLjAtMC5kbGwKbGliZ2lmLTcuZGxs CmxpYmdpby0yLjAtMC5kbGwKbGliZ2xpYi0yLjAtMC5kbGwKbGliZ21vZHVsZS0yLjAtMC5kbGwK bGliZ21wLTEwLmRsbApsaWJnbXB4eC00LmRsbApsaWJnbnV0bHMtMzAuZGxsCmxpYmdudXRscy1v cGVuc3NsLTI3LmRsbApsaWJnbnV0bHN4eC0yOC5kbGwKbGliZ29iamVjdC0yLjAtMC5kbGwKbGli Z3JhcGhpdGUyLmRsbApsaWJoYXJmYnV6ei0wLmRsbApsaWJoYXJmYnV6ei1nb2JqZWN0LTAuZGxs CmxpYmhhcmZidXp6LWljdS0wLmRsbApsaWJoYXJmYnV6ei1zdWJzZXQtMC5kbGwKbGliaG9nd2Vl ZC02LmRsbApsaWJpY29udi0yLmRsbApsaWJpZG4yLTAuZGxsCmxpYmludGwtOC5kbGwKbGliamFu c3Nvbi00LmRsbApsaWJqYmlnLTAuZGxsCmxpYmpwZWctOC5kbGwKbGlibGNtczItMi5kbGwKbGli bHptYS01LmRsbApsaWJuZXR0bGUtOC5kbGwKbGlicDExLWtpdC0wLmRsbApsaWJwYW5nby0xLjAt MC5kbGwKbGlicGFuZ29jYWlyby0xLjAtMC5kbGwKbGlicGFuZ29mdDItMS4wLTAuZGxsCmxpYnBh bmdvd2luMzItMS4wLTAuZGxsCmxpYnBjcmUtMS5kbGwKbGlicGl4bWFuLTEtMC5kbGwKbGlicG5n MTYtMTYuZGxsCmxpYnJzdmctMi0yLmRsbApsaWJzdGRjKystNi5kbGwKbGlidGFzbjEtNi5kbGwK bGlidGhhaS0wLmRsbApsaWJ0aWZmLTUuZGxsCmxpYnRpZmZ4eC01LmRsbApsaWJ0dXJib2pwZWcu ZGxsCmxpYnVuaXN0cmluZy0yLmRsbApsaWJ3ZWJwLTcuZGxsCmxpYndpbnB0aHJlYWQtMS5kbGwK bGlieG1sMi0yLmRsbApsaWJ6c3RkLmRsbAp6bGliMS5kbGwK --0000000000001a4e5805d7115f57 Content-Type: application/octet-stream; name="find-deps.pl" Content-Disposition: attachment; filename="find-deps.pl" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kz66jy9q1 IyEvdXNyL2Jpbi9lbnYgcGVybA0KIw0KIyBmaW5kLWRlcHMgLSBmaW5kIERMTHMgcmVxdWlyZWQg YnkgKGJ1dCBub3QgaW4pIHRoZSBETExzIGluIENXRA0KIw0KIyBDb3B5cmlnaHQgKEMpIDIwMjIg Q29yd2luIEJydXN0DQojDQojIFF1aWNrIGFuZCBkaXJ0eSBjaGVjayBmb3IgbWlzc2luZyBkZXBl bmRhbmNpZXMgb2YgdGhlIERMTHMgaW5jbHVkZWQNCiMgd2l0aCBhIHJlY2VudGx5IHBhY2thZ2Vk IGJ1aWxkIG9mIEVtYWNzLiBUaGlzIHNob3VsZCB3b3JrIGdpdmVuDQojIGJ1aWxkaW5nIEVtYWNz IHdvcmtzLiAgUnVuIGl0IGZyb20gdGhlIGluc3RhbGwgZm9sZGVyIHVzZWQgZm9yDQojIHBhY2th Z2luZywgZS5nLjoNCiMNCiMgICBjZCB+L2VtYWNzLWJ1aWxkL2luc3RhbGwvZW1hY3MtMjguMC45 MS9iaW4NCiMgICBwZXJsIC4uLy4uLy4uL2ZpbmQtZGVwcy5wbCA+IH4vZW1hY3MtYnVpbGQvZGVw LXNlYXJjaC50eHQNCiMgT3I6DQojICBwZXJsIC4uLy4uLy4uL2ZpbmQtZGVwcy5wbCB8IHhhcmdz IC1JICd7fScgY3AgJ3t9JyAuDQojDQojIHRoaXMgcmF0aGVyIG9idHVzZSBhbHRlcm5hdGl2ZSBj YXRjaGVzIGEgY291cGxlIG1vcmU6DQojICAgZmluZCAuLyAtbmFtZSAnKi5kbGwnIC1wcmludDAg fCBcDQojICAgIHhhcmdzIC0wIC1JICd7fScgY3lnY2hlY2sgJ3t9JyAyPiYxIHwgXA0KIyAgICBn cmVwICdjb3VsZCBub3QnIHwgY3V0IC1kICcgJyAtZiA2IHwgXA0KIyAgICBzb3J0IHwgdW5pcSB8 IHhhcmdzIC1JICd7fScgY3AgJ3t9JyAuDQoNCiMjIFRoaXMgZmlsZSBpcyBub3QgcGFydCBvZiBH TlUgRW1hY3MuDQoNCiMjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IN CiMjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQoNCiMjIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YNCiMjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUNCiMjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQoNCiMjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQoNCnVzZSBzdHJpY3Q7DQp1 c2Ugd2FybmluZ3MgcXdbYWxsXTsNCg0KdXNlIEZpbGU6OkJhc2VuYW1lOw0KDQpteSAlZGVwczsN Cg0KIyB1c2UgbGRkIHRvIGZpbmQgZGVwcw0Kc3ViIGRlcHNfb2YoXykgew0KICBsb2NhbCAkXyA9 IGBsZGQgJF9gOw0KICBzL15ccysvL21zZzsNCiAgbWFwIFsgc3BsaXQgLyA9PiAvIF0tPlsxXSB8 fCAkXywNCiAgICBtYXAgeyBzLyBcKC4qP1wpLy87ICRfIH0NCiAgICBncmVwICEvbm90IGZvdW5k LywgICMgaWdub3JlIG9wdGlvbmFsDQogICAgZ3JlcCAhbXwvV2luZG93cy98aSwjIGlnbm9yZSAq L1dpbmRvd3MvKg0KICAgIHNwbGl0IC9cbi8NCn0NCg0KIyBjYWxsIGRlcHNfb2YgZm9yIGVhY2gg YXJnICh1bmxlc3Mgd2UgYWxyZWFkeSBoYXZlKQ0Kc3ViIHdhbGtfZGVwcyhAKSB7DQogIG15ICRm b3VuZF9jb3VudCA9IDA7DQogIGZvciAoQF8pIHsNCiAgICBteSAka2V5ID0gZmlsZXBhcnNlKCRf KTsNCiAgICBuZXh0IGlmIGV4aXN0cyAkZGVwc3ska2V5fSBvciAhLy5kbGwkLzsNCiAgICBteSBA Zm91bmQgPSBkZXBzX29mICRfOw0KICAgIGlmKEBmb3VuZCkgew0KICAgICAgJGRlcHN7JGtleX0g PSBcQGZvdW5kOw0KICAgICAgJGZvdW5kX2NvdW50ICs9IDE7DQogICAgfQ0KICB9DQogIHJldHVy biAkZm91bmRfY291bnQ7DQp9DQoNCiMgZ2V0IGEgbGlzdCBvZiBETExzIHRvIHN0YXJ0IHdpdGgN Cm15IEBsaWJzID0gZ2xvYignKi5kbGwnKTsNCg0KIyBzZWFyY2ggZm9yIGRlcHMgb2YgRExMcyB3 ZSBpbmNsdWRlZA0Kd2Fsa19kZXBzIEBsaWJzOw0KDQojIHNlYXJjaCBmb3IgZGVwcyBvZiBvdXIg ZGVwcw0KbXkgJGFkZGVkX2NvdW50ID0gMDsNCmRvIHsNCiAgJGFkZGVkX2NvdW50ID0gd2Fsa19k ZXBzIG1hcCBAJF8sIHZhbHVlcyAlZGVwcw0KfSB3aGlsZSgkYWRkZWRfY291bnQgPiAwKTsNCg0K IyBkZS1kdXANCm15ICV1bmlxOw0KZm9yKG1hcCBAJF8sIHZhbHVlcyAlZGVwcykgew0KICBteSAk ZGxsID0gZmlsZXBhcnNlKCRfKTsNCiAgbmV4dCBpZiAtZSAkZGxsOyAjIHNraXAgdGhvc2Ugd2Ug aW5jbHVkZWQNCiAgJHVuaXF7JF99ICs9IDE7DQp9DQoNCiMgcmVwb3J0DQokXCA9ICJcbiI7DQpw cmludCBmb3Igc29ydCBrZXlzICV1bmlxOw0Kd2Fybg0KICAic2VhcmNoZWQ6ICIsICBzY2FsYXIo QGxpYnMpLA0KICAiLCBmb3VuZDogIiwgICBzY2FsYXIoIG1hcCBAJF8sIHZhbHVlcyAlZGVwcyks DQogICIsIG9mIHdoaWNoICIsIHNjYWxhcihrZXlzICV1bmlxKSwNCiAgIiBhcmUgbWlzc2luZyBp biAiLCBgcHdkYDsNCg== --0000000000001a4e5805d7115f57--