From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 13 Oct 2026 13:16:26 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xGaUc-00D8pa-2P for lore@lore.pengutronix.de; Tue, 13 Oct 2026 13:16:26 +0200 Received: from [127.0.0.1] (helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1xGaUc-00079H-5W; Tue, 13 Oct 2026 13:16:26 +0200 Received: from mx1.white.stw.pengutronix.de ([185.203.200.13]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1xGaUM-000790-Kl for ptxdist@pengutronix.de; Tue, 13 Oct 2026 13:16:11 +0200 Received: from h3.cmg1.smtp.forpsi.com (h3.cmg1.smtp.forpsi.com [185.129.138.162]) by mx1.white.stw.pengutronix.de (Postfix) with ESMTPS id CE9E720007C for ; Tue, 13 Oct 2026 13:16:09 +0200 (CEST) ARC-Seal: i=1; s=20260414; d=pengutronix.de; t=1791890170; a=rsa-sha256; cv=none; b=WZUcqEnPAa3gFCAZNJeKZRZ52XkhnxKRdb2wYklG/DAwGsyDlh1CPJXGkC12vri8bZfpty s3sIPhQ1CXLDA8U3IwN7i7QjmlbqD81s9mW7O+QEEkpALReBTeesLHjqERhqUPs6roUpVr +oE09KzeUXZuGGwZG/phlq1gCwmhiqMRLGjaFChyNLK/LBNQaCFlkzq/ERuiE0NktpR22i CwuUUYg1nAz340XNTy0HGN4fXA02cVxckViNrWNGKVzm7y+iJsay45MRDPLChHGE7s177s amCFuk5q3vkInNF7VHIlc/fTWjhiJdoa/ELMDbbyH40In1Ic91KZO0pObA72gg== ARC-Authentication-Results: i=1; mx1.white.stw.pengutronix.de; dkim=pass header.d=triops.cz header.s=f2019 header.b=tgQnzbJJ; dkim=pass header.d=triops.cz header.s=f2019 header.b=tgQnzbJJ; spf=none (mx1.white.stw.pengutronix.de: domain of oss-lists@triops.cz has no SPF policy when checking 185.129.138.162) smtp.mailfrom=oss-lists@triops.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=pengutronix.de; s=20260414; t=1791890170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: dkim-signature; bh=Fzqtt1p9AON0fF0NcVmirckS8bIElxl05sFF8CnxjGs=; b=eikmtDboNs9mXlEY0nGr/BQ2L4JER828G6X3K8LVq+4Zw2B/907Yvrf3Z9glU0RjVtb+Ih aOF290D3AtL6G7kQd0iX9CHF4McDskAv+ac7XZtRpoXcAbcrrQ3+AeS1WbN/KVYzVUH5PI pUo/XVk97fpBovYT+3aj77F6FxTaxHQycNF80neqX6y2s+hLfTJAz+GDcIn6GHZOZvymZL 0UJVHhPx8jD56nn7UoKmZ/0Foqo8KZpBgu7MwsCe3MXq6/8k+DOZKqyjO4VqIMm6+6IRov DrZtK5464xba0X0ry1PaJKRPDB+lcR8OPL7ljilr1VEdQyiyZwmFtKiUF0Kgpw== Received: from lenoch ([91.218.190.200]) by cmgsmtp with ESMTPSA id GaUJxApmLDJUVGaUKx0cE2; Tue, 13 Oct 2026 13:16:09 +0200 Date: Tue, 13 Oct 2026 13:16:06 +0200 From: Ladislav Michl To: ptxdist@pengutronix.de Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-CMAE-Envelope: MS4xfKH4H4yClT5tb4YWRz1SEEQMNxQ72LRoF8AczIwpWrafgZgR7jIfdgX27R+Roho45vrdVn7kM4m3gWC1oT8Ofno+SsIM6LoEbnh+DH8TiOlzHf34nf1H lqRI9XErxppVo46dTFXHdnN+i1O/u7ltKNtJeRJGU2505QZXf5C9qyoD10RONOzWy9E4G9s3aPNups7/XSwA5NuqHoy3ImtjJzQ= X-Spamd-Result: default: False [-1.48 / 15.00]; BAYES_HAM(-1.88)[94.32%]; MID_RHS_NOT_FQDN(0.50)[]; ONCE_RECEIVED(0.20)[]; R_DKIM_ALLOW(-0.20)[triops.cz:s=f2019]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:24806, ipnet:185.129.136.0/22, country:CZ]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[triops.cz]; NEURAL_HAM(-0.00)[-1.000]; ARC_SIGNED(0.00)[pengutronix.de:s=20260414:i=1]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; R_SPF_NA(0.00)[no SPF record]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[triops.cz:+] X-Rspamd-Action: no action X-Rspamd-Server: mx1 X-Rspamd-Queue-Id: CE9E720007C X-Stat-Signature: 894uetq6qz4ib76amqqea69secbt9bsj X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH 0/6] New BSP from template X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: rob@landley.net Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Running freshly deployed PTXdist currently gives you: ladis@lenoch:/tmp/test_bsp$ ~/src/ptxdist/bin/ptxdist menuconfig ptxdist: error: PTXdist in /home/ladis/src/ptxdist is not built. Simply put: "Why on _earth_ would you need to install source code before you're allowed to configure and compile it? The only thing it actually built when I did the first "make" was the kconfig binaries. The kernel (where kconfig comes from) does not require you to make and install kconfig before using menuconfig. Neither do long-term users of it like busybox or uClibc..." -- Rob Landley (https://sourceware.org/legacy-ml/crossgcc/2009-04/msg00038.html) I'd suggest read whole Design discussion archived at: https://sourceware.org/legacy-ml/crossgcc/2009-04/msg00015.html before reading the rest or even looking at the patchset. I had this in mind for a quite long time and was carrying patches to achieve that, but still was not quite happy with them until last rainy weekend (figuring out where I read above rant was a pretty hard task itself...) Back then I was making excuses PTXdist still being in development, which was, with respect to PTXdist age at that time, a bit silly, so now the following patchset brings you this: ladis@lenoch:/tmp/test_bsp$ ~/src/ptxdist/bin/ptxdist menuconfig ptxdist: preparing host tools in '/home/ladis/.cache/ptxdist/git' ... ptxdist: there is no PTXdist project in '/tmp/test_bsp' ptxdist: create a new one? [y/N] y ptxdist: project name.................: test_bsp ptxdist: select option by number: ptxdist: [1] ALPHA ptxdist: [2] AVR32 ptxdist: [3] AVR ptxdist: [4] ARM ptxdist: [5] ARM64 ptxdist: [6] BLACKFIN ptxdist: [7] X86 ptxdist: [8] MINGW ptxdist: [9] PPC ptxdist: [10] M68K ptxdist: [11] SPARC ptxdist: [12] MICROBLAZE ptxdist: [13] MIPS ptxdist: [14] CRIS ptxdist: [15] PARISC ptxdist: [16] SH ptxdist: [17] RISCV ptxdist: [18] LOONGARCH ptxdist: architecture.................: 13 ptxdist: platform name................: mips ptxdist: creating project 'test_bsp' ptxdist: creating platform 'mips' (mips) [here menuconfig is presented] ptxdist: done. There is no toolchain yet, select one with ptxdist: 'ptxdist toolchain '. 'ptxdist platformconfig' refines ptxdist: the platform, 'ptxdist newpackage ' adds own packages. *** End of the configuration. *** Execute 'ptxdist go' to build the project or try 'ptxdist help'. And that's it. Previous configure && make && make install still works the same as before in case you are installing system-wide or into a docker image. The following patchset it trying to address all Rob's remarks about PTXdist, except those the time invalidated: flex and bison are now required even by kernel, so we still do the same. Comments and suggestions welcome, as always. Ladislav Michl (6): scripts: add ptxdist_bootstrap.sh with out-of-tree build support ptxdist: introduce PTXDIST_HOSTTOOLS_DIR ptxdist: prepare host tools on demand ptxdist: don't depend on bash being /bin/bash configure: use ptxdist_bootstrap.sh to check the host ptxdist: let new project raise from template .gitignore | 1 + Makefile.in | 65 ++--- README | 16 +- bin/ptxdist | 259 ++++++++++++++++++-- bin/ptxdist-auto-version | 4 +- configure.ac | 314 +++--------------------- doc/ref_parameter.rst | 4 + rules/host-qemu.make | 2 +- rules/other/Toplevel.make | 6 +- rules/templates/project/gitignore | 9 + rules/templates/project/platformconfig | 10 + rules/templates/project/ptxconfig | 6 + scripts/lib/ptxd_lib_kconfig.sh | 6 +- scripts/lib/ptxd_make_nested.sh | 2 +- scripts/lib/ptxd_make_report.sh | 2 +- scripts/ptxdist_bootstrap.sh | 315 +++++++++++++++++++++++++ 16 files changed, 661 insertions(+), 360 deletions(-) create mode 100644 rules/templates/project/gitignore create mode 100644 rules/templates/project/platformconfig create mode 100644 rules/templates/project/ptxconfig create mode 100755 scripts/ptxdist_bootstrap.sh -- 2.47.3