[PATCH 1/1] examples: make examples customizable

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] examples: make examples customizable

Heinrich Schuchardt
Most users don't need the standalone API examples. Distributions like Suse
do not supply libgcc for cross-compiling and we cannot do without on ARMv8
for building examples/.

Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
yes to ensure that we compile it on Gitlab CI.

Cc: Matthias Brugger <[hidden email]>
Signed-off-by: Heinrich Schuchardt <[hidden email]>
---
I wonder if we should not completely drop the standalone API. The UEFI API
has enough to run a standalone application.
---
 Kconfig           | 8 ++++++++
 examples/Makefile | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Kconfig b/Kconfig
index 883e3f71d0..d0eae2ceba 100644
--- a/Kconfig
+++ b/Kconfig
@@ -422,6 +422,14 @@ config SYS_SRAM_SIZE
  default 0x10000 if TARGET_TRICORDER
  default 0x0

+config EXAMPLES
+ bool "Compile API examples"
+ depends on !SANDBOX
+ default y
+ help
+  U-Boot provides an API for standalone applications. Examples are
+  provided in directory examples/.
+
 endmenu # General setup

 menu "Boot images"
diff --git a/examples/Makefile b/examples/Makefile
index d440bc5655..bf518bd221 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0+

-ifndef CONFIG_SANDBOX
+ifdef CONFIG_EXAMPLES

 ifdef FTRACE
 subdir-ccflags-y += -finstrument-functions -DFTRACE
--
2.28.0

Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] examples: make examples customizable

Heinrich Schuchardt
Most users don't need the standalone API examples. Distributions like Suse
do not supply libgcc for cross-compiling and we cannot do without on ARMv8
for building examples/.

Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
yes to ensure that we compile it on Gitlab CI.

Cc: Matthias Brugger <[hidden email]>
Signed-off-by: Heinrich Schuchardt <[hidden email]>
---
I wonder if we should not completely drop the standalone API. The UEFI API
has enough to run a standalone application.
---
 Kconfig           | 8 ++++++++
 examples/Makefile | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Kconfig b/Kconfig
index 883e3f71d0..d0eae2ceba 100644
--- a/Kconfig
+++ b/Kconfig
@@ -422,6 +422,14 @@ config SYS_SRAM_SIZE
  default 0x10000 if TARGET_TRICORDER
  default 0x0

+config EXAMPLES
+ bool "Compile API examples"
+ depends on !SANDBOX
+ default y
+ help
+  U-Boot provides an API for standalone applications. Examples are
+  provided in directory examples/.
+
 endmenu # General setup

 menu "Boot images"
diff --git a/examples/Makefile b/examples/Makefile
index d440bc5655..bf518bd221 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0+

-ifndef CONFIG_SANDBOX
+ifdef CONFIG_EXAMPLES

 ifdef FTRACE
 subdir-ccflags-y += -finstrument-functions -DFTRACE
--
2.28.0

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] examples: make examples customizable

Tom Rini-4
In reply to this post by Heinrich Schuchardt
On Tue, Sep 22, 2020 at 08:03:49PM +0200, Heinrich Schuchardt wrote:

> Most users don't need the standalone API examples. Distributions like Suse
> do not supply libgcc for cross-compiling and we cannot do without on ARMv8
> for building examples/.
>
> Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
> yes to ensure that we compile it on Gitlab CI.

In this case we should not make it "default y" but instead enable it in
some specific cases that go through CI.  Probably once per arch/
directory on the QEMU / virtual target for that arch.

> Cc: Matthias Brugger <[hidden email]>
> Signed-off-by: Heinrich Schuchardt <[hidden email]>
> ---
> I wonder if we should not completely drop the standalone API. The UEFI API
> has enough to run a standalone application.

I'm certainly in favor of NOT adding support there for new
architectures.  I don't believe however we can drop it for existing
architectures without some fairly large notice, and only then when UEFI
is available as a reasonable replacement (ARM? Yes.  MIPS?  No idea).

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] examples: make examples customizable

Simon Glass-3
In reply to this post by Heinrich Schuchardt
Hi Heinrich,

On Tue, 22 Sep 2020 at 12:04, Heinrich Schuchardt <[hidden email]> wrote:

>
> Most users don't need the standalone API examples. Distributions like Suse
> do not supply libgcc for cross-compiling and we cannot do without on ARMv8
> for building examples/.
>
> Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
> yes to ensure that we compile it on Gitlab CI.
>
> Cc: Matthias Brugger <[hidden email]>
> Signed-off-by: Heinrich Schuchardt <[hidden email]>
> ---
> I wonder if we should not completely drop the standalone API. The UEFI API
> has enough to run a standalone application.

I am not sure. I don't like UEFI at all and it doesn't expose U-Boot
devices, etc.

Reviewed-by: Simon Glass <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] examples: make examples customizable

Heinrich Schuchardt
In reply to this post by Tom Rini-4
On 9/22/20 8:42 PM, Tom Rini wrote:

> On Tue, Sep 22, 2020 at 08:03:49PM +0200, Heinrich Schuchardt wrote:
>
>> Most users don't need the standalone API examples. Distributions like Suse
>> do not supply libgcc for cross-compiling and we cannot do without on ARMv8
>> for building examples/.
>>
>> Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
>> yes to ensure that we compile it on Gitlab CI.
>
> In this case we should not make it "default y" but instead enable it in
> some specific cases that go through CI.  Probably once per arch/
> directory on the QEMU / virtual target for that arch.

default y if ARCH_QEMU would compile it

>
>> Cc: Matthias Brugger <[hidden email]>
>> Signed-off-by: Heinrich Schuchardt <[hidden email]>
>> ---
>> I wonder if we should not completely drop the standalone API. The UEFI API
>> has enough to run a standalone application.
>
> I'm certainly in favor of NOT adding support there for new
> architectures.  I don't believe however we can drop it for existing
> architectures without some fairly large notice, and only then when UEFI
> is available as a reasonable replacement (ARM? Yes.  MIPS?  No idea).
>

UEFI is low endian only.

Best regards

Heinrich
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] examples: make examples customizable

Tom Rini-4
On Tue, Sep 22, 2020 at 08:49:20PM +0200, Heinrich Schuchardt wrote:

> On 9/22/20 8:42 PM, Tom Rini wrote:
> > On Tue, Sep 22, 2020 at 08:03:49PM +0200, Heinrich Schuchardt wrote:
> >
> >> Most users don't need the standalone API examples. Distributions like Suse
> >> do not supply libgcc for cross-compiling and we cannot do without on ARMv8
> >> for building examples/.
> >>
> >> Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
> >> yes to ensure that we compile it on Gitlab CI.
> >
> > In this case we should not make it "default y" but instead enable it in
> > some specific cases that go through CI.  Probably once per arch/
> > directory on the QEMU / virtual target for that arch.
>
> default y if ARCH_QEMU would compile it
OK, lets do that in v2 please.

> >> Cc: Matthias Brugger <[hidden email]>
> >> Signed-off-by: Heinrich Schuchardt <[hidden email]>
> >> ---
> >> I wonder if we should not completely drop the standalone API. The UEFI API
> >> has enough to run a standalone application.
> >
> > I'm certainly in favor of NOT adding support there for new
> > architectures.  I don't believe however we can drop it for existing
> > architectures without some fairly large notice, and only then when UEFI
> > is available as a reasonable replacement (ARM? Yes.  MIPS?  No idea).
> >
>
> UEFI is low endian only.
Right, so we can't just remove the standalone API but we can encourage
new architectures to see if UEFI is right for them.

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] examples: make examples customizable

Matthias Brugger-2
In reply to this post by Heinrich Schuchardt


On 22/09/2020 20:03, Heinrich Schuchardt wrote:
> Most users don't need the standalone API examples. Distributions like Suse

Nit: It's SUSE not Suse

Regards,
Matthias

> do not supply libgcc for cross-compiling and we cannot do without on ARMv8
> for building examples/.
>
> Make examples customizable via symbol CONFIG_EXAMPLES. It only defaults to
> yes to ensure that we compile it on Gitlab CI.
>
> Cc: Matthias Brugger <[hidden email]>
> Signed-off-by: Heinrich Schuchardt <[hidden email]>
> ---
> I wonder if we should not completely drop the standalone API. The UEFI API
> has enough to run a standalone application.
> ---
>   Kconfig           | 8 ++++++++
>   examples/Makefile | 2 +-
>   2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/Kconfig b/Kconfig
> index 883e3f71d0..d0eae2ceba 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -422,6 +422,14 @@ config SYS_SRAM_SIZE
>   default 0x10000 if TARGET_TRICORDER
>   default 0x0
>
> +config EXAMPLES
> + bool "Compile API examples"
> + depends on !SANDBOX
> + default y
> + help
> +  U-Boot provides an API for standalone applications. Examples are
> +  provided in directory examples/.
> +
>   endmenu # General setup
>
>   menu "Boot images"
> diff --git a/examples/Makefile b/examples/Makefile
> index d440bc5655..bf518bd221 100644
> --- a/examples/Makefile
> +++ b/examples/Makefile
> @@ -1,6 +1,6 @@
>   # SPDX-License-Identifier: GPL-2.0+
>
> -ifndef CONFIG_SANDBOX
> +ifdef CONFIG_EXAMPLES
>
>   ifdef FTRACE
>   subdir-ccflags-y += -finstrument-functions -DFTRACE
> --
> 2.28.0
>