From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed Date: Wed, 19 Jan 2022 16:39:14 +0200 Message-ID: <83ee53ssbx.fsf@gnu.org> References: <86wnj18f7w.fsf@duenenhof-wilhelm.de> <65b2a18bc1a597333b42d35a2717dc33@russet.org.uk> <86lezg95ud.fsf_-_@duenenhof-wilhelm.de> <83h7a4zu89.fsf@gnu.org> <86czks94vl.fsf@duenenhof-wilhelm.de> <86v8yj7vhv.fsf@duenenhof-wilhelm.de> <83v8yjyj21.fsf@gnu.org> <87sftmn1k9.fsf@russet.org.uk> <83sftmwner.fsf@gnu.org> <87mtjump5q.fsf@russet.org.uk> <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> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22143"; mail-complaints-to="usenet@ciao.gmane.io" Cc: corwin@bru.st, emacs-devel@gnu.org, phillip.lord@russet.org.uk To: "H. Dieter Wilhelm" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jan 19 15:54:55 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 1nACMQ-0005Yg-T6 for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Jan 2022 15:54:55 +0100 Original-Received: from localhost ([::1]:55856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nACMP-0007J3-V2 for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Jan 2022 09:54:53 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:51458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAC7M-0000eO-4z for emacs-devel@gnu.org; Wed, 19 Jan 2022 09:39:20 -0500 Original-Received: from [2001:470:142:3::e] (port=37856 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAC7K-0000rs-P3; Wed, 19 Jan 2022 09:39:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=P7PNBM4UVvOejOZcKJJAJhI+d/DSfVdteTbmCPkA5vo=; b=MjYylK8EG4MF +t0apFqXLv6Ofa8+VXd7mCLzAhH9f3zQyxm3PqBtZL4p+ysns3F5EQB93M2VvlMD2rW/Bjfm7m37g +Dv6S4NI736Osw2rNUn4Iu6YgiHufg79TYWq4IqBIV1FohYGHtTEBFC811LO4VuPm6aAS6vQqZXUL cwnPV+6ITbdvFOLjnXqcMp309Fodh2dOItI3SgKhwwb3IW0cq9Du+URx2QLBCM3Os2Je4y0Ro3WqO qTsVvPWRjexAjxGrp6THoWksyR4DkZ5L+6OTF+/EhFCRE7apwZtdvBM9tryzVaIxQOdk0dy8CQxN3 8aeeZrskjUHeD5WMHtt+sw==; Original-Received: from [87.69.77.57] (port=3921 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAC7K-0006MU-Ns; Wed, 19 Jan 2022 09:39:19 -0500 In-Reply-To: <86o8473k13.fsf@duenenhof-wilhelm.de> (dieter@duenenhof-wilhelm.de) 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:284980 Archived-At: > From: "H. Dieter Wilhelm" > Cc: corwin@bru.st, phillip.lord@russet.org.uk, emacs-devel@gnu.org > Date: Wed, 19 Jan 2022 14:57:44 +0100 > > > archive with the products of a build (and nothing else), then I can > > propose a much simpler solution, which I use for all the ezwinports > > binaries. Interested? > > Yes please. A step by step approach to building Emacs is probably more > successful in the end. 1. First, I build the package (in this case, Emacs) as usual: $ ./configure --prefix=... $ make 2. Then I install it in a special place: $ make install --prefix=/some/directory 3. Then to produce a zip file with all the installed files, I go to /some/directory and invoke 'zip': $ zip -9r ./bin ./include ./lib ./libexec ./share ./var (be sure to mention all the top-level directories). Now, the tricky part is between steps 2 and 3. To make the zip file self-contained, you need to populate /some/directory tree with the dependencies. If those are DLLs, simply copy all of them into /some/directory/bin/. If there are other dependencies, they should go in their respective subdirectories (but I don't expect to see any files outside of bin/ and perhaps lib/). I think part of the complexity of dist-build scripts is that Phillip included many more dependencies than strictly needed to run Emacs, so he needed to put there many programs and files not directly related to Emacs. I'm not sure that's justified, but YMMV.