* [PATCH v3] meta: Enable cross-compilation by default
@ 2024-12-02 15:30 Anton Mikanovich
2024-12-10 7:47 ` Uladzimir Bely
0 siblings, 1 reply; 2+ messages in thread
From: Anton Mikanovich @ 2024-12-02 15:30 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
Make cross-compilation to be default mode if no ISAR_CROSS_COMPILE
value was set or local.conf.sample from meta-isar was used.
This will speedup the build with default settings.
Also fix CI and kas logic to address those changes.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
Changes since v2:
- Simplify kas logic.
- Update source headers.
Changes since v1:
- Fix testsuite cross compile setting logic.
- Fix kas cross compile setting logic.
- Update source headers.
RECIPE-API-CHANGELOG.md | 9 +++++++++
kas/opt/Kconfig | 11 +++++++++--
kas/opt/crosscompile.yaml | 6 ++++--
meta-isar/conf/local.conf.sample | 9 ++++++---
meta/classes/crossvars.bbclass | 7 +++++--
testsuite/cibuilder.py | 10 +++++++++-
6 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index deb1c4e1..f310553a 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -693,3 +693,12 @@ Previous implementation still can be selected by setting in local.conf:
PREFERRED_PROVIDER_bootstrap-host ?= "isar-bootstrap-host"
PREFERRED_PROVIDER_bootstrap-target ?= "isar-bootstrap-target"
+
+### Cross-compilation is enabled by default
+
+Default ISAR_CROSS_COMPILE value was changed to "1".
+There is no more need to set global ISAR_CROSS_COMPILE = "1" in local.conf to
+enable cross-compilation. Otherwize ISAR_CROSS_COMPILE = "0" now should be set
+in local.conf to disable cross-compilation for all the recipes.
+Sample local.conf from meta-isar used by isar-init-build-env is also changed
+to enable cross-compilation by default.
diff --git a/kas/opt/Kconfig b/kas/opt/Kconfig
index b1b1ff16..1ec4b112 100644
--- a/kas/opt/Kconfig
+++ b/kas/opt/Kconfig
@@ -1,8 +1,11 @@
# This software is a part of ISAR.
-# Copyright (C) 2023 ilbers GmbH
+# Copyright (C) 2023-2024 ilbers GmbH
+# Copyright (C) 2024 Siemens AG
#
# Authors:
# Uladzimir Bely <ubely@ilbers.de>
+#
+# SPDX-License-Identifier: MIT
menu "Mirror selection"
depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE || DEBIAN_SID || UBUNTU_FOCAL || UBUNTU_JAMMY
@@ -149,10 +152,14 @@ config ISAR_CROSS_COMPILE
bool "Enable cross compilation mode"
default y
+config KAS_ISAR_CROSS_COMPILE
+ string
+ default "1" if ISAR_CROSS_COMPILE
+ default "0" if !ISAR_CROSS_COMPILE
+
config KAS_INCLUDE_ISAR_CROSS_COMPILE
string
default "kas/opt/crosscompile.yaml"
- depends on ISAR_CROSS_COMPILE
config USE_CCACHE
diff --git a/kas/opt/crosscompile.yaml b/kas/opt/crosscompile.yaml
index 1b927ebd..4ec26d92 100644
--- a/kas/opt/crosscompile.yaml
+++ b/kas/opt/crosscompile.yaml
@@ -1,9 +1,11 @@
# This software is a part of ISAR.
-# Copyright (C) 2023 ilbers GmbH
+# Copyright (C) 2023-2024 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
header:
version: 14
local_conf_header:
crosscompile: |
- ISAR_CROSS_COMPILE = "1"
+ ISAR_CROSS_COMPILE = "${KAS_ISAR_CROSS_COMPILE}"
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 14cac313..b59f310b 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -1,5 +1,8 @@
# This software is a part of ISAR.
-# Copyright (C) 2023 ilbers GmbH
+# Copyright (C) 2016-2024 ilbers GmbH
+# Copyright (C) 2017-2024 Siemens AG
+#
+# SPDX-License-Identifier: MIT
#
# This file is your local configuration file and is where all local user settings
@@ -157,8 +160,8 @@ IMAGE_INSTALL:remove:qemuamd64-sb = "example-module-${KERNEL_NAME}"
IMAGE_INSTALL:append:qemuamd64-sb = " example-module-signed-${KERNEL_NAME}"
#
-# Enable cross-compilation support
-ISAR_CROSS_COMPILE ?= "0"
+# Uncomment this to disable cross-compilation support
+#ISAR_CROSS_COMPILE ?= "0"
#
# Uncomment to enable 32-bit compat architecture support
diff --git a/meta/classes/crossvars.bbclass b/meta/classes/crossvars.bbclass
index 00326c9a..1a88d457 100644
--- a/meta/classes/crossvars.bbclass
+++ b/meta/classes/crossvars.bbclass
@@ -1,7 +1,10 @@
# This software is a part of ISAR.
-# Copyright (C) 2022 ilbers GmbH
+# Copyright (C) 2023-2024 ilbers GmbH
+# Copyright (C) 2023-2024 Siemens AG
+#
+# SPDX-License-Identifier: MIT
-ISAR_CROSS_COMPILE ??= "0"
+ISAR_CROSS_COMPILE ??= "1"
inherit compat
diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index 9fa3d86c..b5b6a093 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -1,4 +1,10 @@
#!/usr/bin/env python3
+#
+# This software is a part of ISAR.
+# Copyright (C) 2022-2024 ilbers GmbH
+# Copyright (C) 2022-2024 Siemens AG
+#
+# SPDX-License-Identifier: MIT
import logging
import os
@@ -168,7 +174,9 @@ class CIBuilder(Test):
f.write('ISAR_ENABLE_COMPAT_ARCH:arm64 = "1"\n')
f.write('IMAGE_INSTALL:remove:arm64 = "hello-isar"\n')
f.write('IMAGE_INSTALL:append:arm64 = " hello-isar-compat"\n')
- if cross:
+ if not cross:
+ f.write('ISAR_CROSS_COMPILE = "0"\n')
+ else:
f.write('ISAR_CROSS_COMPILE = "1"\n')
f.write(
'IMAGE_INSTALL:append:hikey = '
--
2.34.1
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241202153001.2212785-1-amikan%40ilbers.de.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v3] meta: Enable cross-compilation by default
2024-12-02 15:30 [PATCH v3] meta: Enable cross-compilation by default Anton Mikanovich
@ 2024-12-10 7:47 ` Uladzimir Bely
0 siblings, 0 replies; 2+ messages in thread
From: Uladzimir Bely @ 2024-12-10 7:47 UTC (permalink / raw)
To: Anton Mikanovich, isar-users
On Mon, 2024-12-02 at 17:30 +0200, Anton Mikanovich wrote:
> Make cross-compilation to be default mode if no ISAR_CROSS_COMPILE
> value was set or local.conf.sample from meta-isar was used.
> This will speedup the build with default settings.
>
> Also fix CI and kas logic to address those changes.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> Changes since v2:
> - Simplify kas logic.
> - Update source headers.
>
> Changes since v1:
> - Fix testsuite cross compile setting logic.
> - Fix kas cross compile setting logic.
> - Update source headers.
>
> RECIPE-API-CHANGELOG.md | 9 +++++++++
> kas/opt/Kconfig | 11 +++++++++--
> kas/opt/crosscompile.yaml | 6 ++++--
> meta-isar/conf/local.conf.sample | 9 ++++++---
> meta/classes/crossvars.bbclass | 7 +++++--
> testsuite/cibuilder.py | 10 +++++++++-
> 6 files changed, 42 insertions(+), 10 deletions(-)
>
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index deb1c4e1..f310553a 100644
> --- a/RECIPE-API-CHANGELOG.md
> +++ b/RECIPE-API-CHANGELOG.md
> @@ -693,3 +693,12 @@ Previous implementation still can be selected by
> setting in local.conf:
>
> PREFERRED_PROVIDER_bootstrap-host ?= "isar-bootstrap-host"
> PREFERRED_PROVIDER_bootstrap-target ?= "isar-bootstrap-target"
> +
> +### Cross-compilation is enabled by default
> +
> +Default ISAR_CROSS_COMPILE value was changed to "1".
> +There is no more need to set global ISAR_CROSS_COMPILE = "1" in
> local.conf to
> +enable cross-compilation. Otherwize ISAR_CROSS_COMPILE = "0" now
> should be set
> +in local.conf to disable cross-compilation for all the recipes.
> +Sample local.conf from meta-isar used by isar-init-build-env is also
> changed
> +to enable cross-compilation by default.
> diff --git a/kas/opt/Kconfig b/kas/opt/Kconfig
> index b1b1ff16..1ec4b112 100644
> --- a/kas/opt/Kconfig
> +++ b/kas/opt/Kconfig
> @@ -1,8 +1,11 @@
> # This software is a part of ISAR.
> -# Copyright (C) 2023 ilbers GmbH
> +# Copyright (C) 2023-2024 ilbers GmbH
> +# Copyright (C) 2024 Siemens AG
> #
> # Authors:
> # Uladzimir Bely <ubely@ilbers.de>
> +#
> +# SPDX-License-Identifier: MIT
>
> menu "Mirror selection"
> depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE ||
> DEBIAN_BOOKWORM || DEBIAN_TRIXIE || DEBIAN_SID || UBUNTU_FOCAL ||
> UBUNTU_JAMMY
> @@ -149,10 +152,14 @@ config ISAR_CROSS_COMPILE
> bool "Enable cross compilation mode"
> default y
>
> +config KAS_ISAR_CROSS_COMPILE
> + string
> + default "1" if ISAR_CROSS_COMPILE
> + default "0" if !ISAR_CROSS_COMPILE
> +
> config KAS_INCLUDE_ISAR_CROSS_COMPILE
> string
> default "kas/opt/crosscompile.yaml"
> - depends on ISAR_CROSS_COMPILE
>
>
> config USE_CCACHE
> diff --git a/kas/opt/crosscompile.yaml b/kas/opt/crosscompile.yaml
> index 1b927ebd..4ec26d92 100644
> --- a/kas/opt/crosscompile.yaml
> +++ b/kas/opt/crosscompile.yaml
> @@ -1,9 +1,11 @@
> # This software is a part of ISAR.
> -# Copyright (C) 2023 ilbers GmbH
> +# Copyright (C) 2023-2024 ilbers GmbH
> +#
> +# SPDX-License-Identifier: MIT
>
> header:
> version: 14
>
> local_conf_header:
> crosscompile: |
> - ISAR_CROSS_COMPILE = "1"
> + ISAR_CROSS_COMPILE = "${KAS_ISAR_CROSS_COMPILE}"
> diff --git a/meta-isar/conf/local.conf.sample b/meta-
> isar/conf/local.conf.sample
> index 14cac313..b59f310b 100644
> --- a/meta-isar/conf/local.conf.sample
> +++ b/meta-isar/conf/local.conf.sample
> @@ -1,5 +1,8 @@
> # This software is a part of ISAR.
> -# Copyright (C) 2023 ilbers GmbH
> +# Copyright (C) 2016-2024 ilbers GmbH
> +# Copyright (C) 2017-2024 Siemens AG
> +#
> +# SPDX-License-Identifier: MIT
>
> #
> # This file is your local configuration file and is where all local
> user settings
> @@ -157,8 +160,8 @@ IMAGE_INSTALL:remove:qemuamd64-sb = "example-
> module-${KERNEL_NAME}"
> IMAGE_INSTALL:append:qemuamd64-sb = " example-module-signed-
> ${KERNEL_NAME}"
>
> #
> -# Enable cross-compilation support
> -ISAR_CROSS_COMPILE ?= "0"
> +# Uncomment this to disable cross-compilation support
> +#ISAR_CROSS_COMPILE ?= "0"
>
> #
> # Uncomment to enable 32-bit compat architecture support
> diff --git a/meta/classes/crossvars.bbclass
> b/meta/classes/crossvars.bbclass
> index 00326c9a..1a88d457 100644
> --- a/meta/classes/crossvars.bbclass
> +++ b/meta/classes/crossvars.bbclass
> @@ -1,7 +1,10 @@
> # This software is a part of ISAR.
> -# Copyright (C) 2022 ilbers GmbH
> +# Copyright (C) 2023-2024 ilbers GmbH
> +# Copyright (C) 2023-2024 Siemens AG
> +#
> +# SPDX-License-Identifier: MIT
>
> -ISAR_CROSS_COMPILE ??= "0"
> +ISAR_CROSS_COMPILE ??= "1"
>
> inherit compat
>
> diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
> index 9fa3d86c..b5b6a093 100755
> --- a/testsuite/cibuilder.py
> +++ b/testsuite/cibuilder.py
> @@ -1,4 +1,10 @@
> #!/usr/bin/env python3
> +#
> +# This software is a part of ISAR.
> +# Copyright (C) 2022-2024 ilbers GmbH
> +# Copyright (C) 2022-2024 Siemens AG
> +#
> +# SPDX-License-Identifier: MIT
>
> import logging
> import os
> @@ -168,7 +174,9 @@ class CIBuilder(Test):
> f.write('ISAR_ENABLE_COMPAT_ARCH:arm64 = "1"\n')
> f.write('IMAGE_INSTALL:remove:arm64 = "hello-
> isar"\n')
> f.write('IMAGE_INSTALL:append:arm64 = " hello-isar-
> compat"\n')
> - if cross:
> + if not cross:
> + f.write('ISAR_CROSS_COMPILE = "0"\n')
> + else:
> f.write('ISAR_CROSS_COMPILE = "1"\n')
> f.write(
> 'IMAGE_INSTALL:append:hikey = '
> --
> 2.34.1
>
Applied to next.
--
Best regards,
Uladzimir.
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/ea939603f2262957d53fc991d75c885b7c5c25b1.camel%40ilbers.de.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-10 7:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-02 15:30 [PATCH v3] meta: Enable cross-compilation by default Anton Mikanovich
2024-12-10 7:47 ` Uladzimir Bely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox