From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id eGJiHV5qLmEAAgAAgWs5BA (envelope-from ) for ; Tue, 31 Aug 2021 19:43:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id EOfHGF5qLmE8KAAAbx9fmQ (envelope-from ) for ; Tue, 31 Aug 2021 17:43:58 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 080582ED92 for ; Tue, 31 Aug 2021 19:43:58 +0200 (CEST) Received: from localhost ([::1]:33254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mL7ng-0005b2-UD for larch@yhetil.org; Tue, 31 Aug 2021 13:43:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mL7n7-0005Zj-Lv for guix-devel@gnu.org; Tue, 31 Aug 2021 13:43:21 -0400 Received: from out2.migadu.com ([2001:41d0:2:aacc::]:35897) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mL7n4-0006Uy-AO for guix-devel@gnu.org; Tue, 31 Aug 2021 13:43:21 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1; t=1630431795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=rbw7TwQHICoKg2L1s4zdK2sYy8cjHmtTg80jpl0v6RY=; b=dme4vVf3jpn62hpPqs8HvI39hFkYN81CcUtaPOTM1L0EamY/kibiUArIp6K4qgVmLPyp8Z K5lKTtl6GNOkWvoAPXcZ9KtHr4MgTVVxtWHAfyW+WEEt2Ta7g34x1lJDBw16zBPDtqVK6l 2HkxUGZNxEnxUvZPx/pqLaFswGQqtUs= From: Sarah Morgensen To: guix-devel@gnu.org Subject: gcc: build all languages at once? Date: Tue, 31 Aug 2021 10:43:13 -0700 Message-ID: <86czpt1pe6.fsf@mgsn.dev> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Auth-User: iskarian@mgsn.dev Received-SPF: pass client-ip=2001:41d0:2:aacc::; envelope-from=iskarian@mgsn.dev; helo=out2.migadu.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1630431838; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=rbw7TwQHICoKg2L1s4zdK2sYy8cjHmtTg80jpl0v6RY=; b=L+zUtSdHDMLtuRYBgbmY8+Sz9unuAcxM0Tb6U6I60aEVsQiIaKWHfq4u22IiRMxfYN4UQv 1FVCCHoSTGITheY0i+7z7txKwxPeVTseJEsrg5ahL4z26WlqfQMGxKUCiWrbY7z9njA5AC coZxRTaf1qwiGerdV9rx9dRHu/YXt7cwU6uJdXdkmVsujcRpZcw0A4yzHrHfi4+rbZn66X pOqTyoiuyXEBBRDBHi7hzF5IpN3SqLce9/bBpC8DTdF4NCNo1E23mbmkk18xy1Eomg8lXD xyVzWubOwaEKKOTyF13VGbhEgCtVumqjgQSOTuyoxWjus6bvqpTgw0ybgbKjWA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1630431838; a=rsa-sha256; cv=none; b=QDC5Kdp0nT0QOSU1OgJMBzXQ4LYVhka08tn2d1dzHVRjpqzk/OYQmTkbIWYMn8agQ05LR6 wPdKtR/2hrnlpVu9ndUiYV4R3gbLQONfIjo6a+JOxRg0dfvXnTUgVa7eMdx3Ilx0bX5dQ/ IREesViQy3sGd+xgziZ++LZWef+WrVXV9mCntphMA7V4sleBmZz/y3JZe4LZeZXLXBB4WA MWHNhmgmb5h4VzvuURkWKJSRw9hoCjgo54+g/VZzqyrVJc3cnGtmXpYNgU3qSCaddl8hj9 vekmgk6liNxduqsQWat57amQrHjFGslLRuDYNi2xAmB4oW0ELtqVOxSmpWAl5Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=mgsn.dev header.s=key1 header.b=dme4vVf3; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -0.62 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=mgsn.dev header.s=key1 header.b=dme4vVf3; dmarc=pass (policy=none) header.from=mgsn.dev; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 080582ED92 X-Spam-Score: -0.62 X-Migadu-Scanner: scn0.migadu.com X-TUID: fjMMm2o+t3K3 Hello Guix, I notice that out of GCC's supported languages (ada, c, c++, d, fortran, go, jit, lto, objc, obj-c++) we currently build all except ada, and five of them (d, fortran, go, objc, and obj-c++) are built separately. Most of GCC's build time is spent bootstrapping and building the actual compiler, rather than building the frontends, so we would save a lot of build time by building them all together. We could also possibly reuse the 'core' parts of GCC between language frontends, saving some space. (This is what distros seem to do.) If we do this, I'm not sure whether it would be better to have each additional language as an output for gcc, or as a separate package. Currently, the only build-time difference between our GCC packages is that our package for 'jit' uses '--enable-host-shared', which "[specifies] that the host code should be built into position-independent machine code (with -fPIC), allowing it to be used within shared libraries, but yielding a slightly slower compiler" [0]. I don't think it would be too big of a hit to just turn that on unconditionally, but we could also keep 'jit' as a separately-built package. What do you all think? [0] https://gcc.gnu.org/install/configure.html -- Sarah