mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 0/6] New BSP from template
@ 2026-10-13 11:16 Ladislav Michl
  2026-10-13 11:16 ` [ptxdist] [PATCH 1/6] scripts: add ptxdist_bootstrap.sh with out-of-tree build support Ladislav Michl
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ladislav Michl @ 2026-10-13 11:16 UTC (permalink / raw)
  To: ptxdist; +Cc: rob

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 <path>'. 'ptxdist platformconfig' refines
ptxdist: the platform, 'ptxdist newpackage <type>' 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




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-13 11:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-13 11:16 [ptxdist] [PATCH 0/6] New BSP from template Ladislav Michl
2026-10-13 11:16 ` [ptxdist] [PATCH 1/6] scripts: add ptxdist_bootstrap.sh with out-of-tree build support Ladislav Michl
2026-10-13 11:17 ` [ptxdist] [PATCH 2/6] ptxdist: introduce PTXDIST_HOSTTOOLS_DIR Ladislav Michl
2026-10-13 11:17 ` [ptxdist] [PATCH 3/6] ptxdist: prepare host tools on demand Ladislav Michl
2026-10-13 11:18 ` [ptxdist] [PATCH 4/6] ptxdist: don't depend on bash being /bin/bash Ladislav Michl
2026-10-13 11:18 ` [ptxdist] [PATCH 5/6] configure: use ptxdist_bootstrap.sh to check the host Ladislav Michl
2026-10-13 11:18 ` [ptxdist] [PATCH 6/6] ptxdist: let new project raise from template Ladislav Michl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox