From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by sourceware.org (Postfix) with ESMTP id 835EE385DC1F for ; Mon, 11 May 2020 16:13:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 835EE385DC1F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=yselkowitz@cygwin.com Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-306-JMnlNSTtNtmRKDKXXotrYw-1; Mon, 11 May 2020 12:13:29 -0400 X-MC-Unique: JMnlNSTtNtmRKDKXXotrYw-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2EBF1475 for ; Mon, 11 May 2020 16:13:28 +0000 (UTC) Received: from ovpn-113-5.rdu2.redhat.com (ovpn-113-5.rdu2.redhat.com [10.10.113.5]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D7C48341FD for ; Mon, 11 May 2020 16:13:27 +0000 (UTC) Message-ID: <2e2ce3ce2cb56200f583341bb5c15a61aff27a33.camel@cygwin.com> Subject: [RFC] cygport mingw.cygclass From: Yaakov Selkowitz To: cygwin-apps@cygwin.com Date: Mon, 11 May 2020 12:13:26 -0400 User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: cygwin.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 May 2020 16:13:33 -0000 To ease the maintenance of MinGW cross-compiling packages, I have written a new mingw.cygclass (actually, a series of cygclasses, but that's the top-level one that you should use) which is designed to allow building both 32- and 64-bit MinGW binaries in the same build. It also allows for the introduction of Windows for ARM toolchains, which I have bootstrapped but am not able to verify due to the lack of access to such systems. (Therefore, they are disabled by default.) Because this moves fundamentally away from the single-arch paradigms on which cygport was built (remember that cygport predates the widespread availability of 64-bit Windows systems), extensive changes were required that could possibly break something. Therefore, I have posted this to the topic/mingw branch of cygport. If maintainers could please test this with both mingw and ordinary packages, that would be appreciated. Also needed is feedback on the naming schemes currently used: * mingw32_* functions and MINGW32_ definitions/variables for i686 * mingw64_* functions and MINGW64_ definitions/variables for x86_64 * mingwarm32_* functions and MINGWARM32_ definitions/variables for armv7 * mingwarm64_* functions and MINGWARM64_ definitions/variables for aarch64 * mingw-* for source package names * mingw64-i686-* for i686 binary packages * mingw64-x86_64-* for x86_64 binary packages * mingw64-armv7-* for armv7 binary packages * mingw64-aarch64-* for aarch64 binary packages The function/definition naming scheme is designed around Fedora (which does not have ARM, so I made those up myself) but the binary package scheme match our current usage. I realize the source package names are those from the old i686-only mingw.org packages; whether we want to rename the binary packages to mingw32-/mingw64-, or rename the source packages to mingw64-, or do something else entirely, I'm open to suggestions. -- Yaakov