Skip to content
Snippets Groups Projects
Commit d30d240a authored by Esben Haabendal's avatar Esben Haabendal
Browse files

Merge branch 'oniro-integration' into 'kirkstone'

Prepare for integration into meta-oniro-core

Closes #10 and #25

See merge request eclipse/oniro-core/meta-openharmony!36
parents 27f4df62 eaa4d771
No related branches found
No related tags found
1 merge request!36Prepare for integration into meta-oniro-core
Pipeline #6102 passed
Showing
with 283 additions and 57 deletions
...@@ -4,5 +4,5 @@ ...@@ -4,5 +4,5 @@
# Configuration needed by meta-java layer # Configuration needed by meta-java layer
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" PREFERRED_PROVIDER_virtual/java-initial-native ?= "cacao-initial-native"
PREFERRED_PROVIDER_virtual/java-native = "cacao-native" PREFERRED_PROVIDER_virtual/java-native ?= "cacao-native"
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
MUSL_LDSO_PATHS = " \ MUSL_LDSO_PATHS:df-openharmony = " \
module \ module \
module/ability \ module/ability \
module/account \ module/account \
......
...@@ -4,9 +4,30 @@ ...@@ -4,9 +4,30 @@
# OpenHarmony OS version # OpenHarmony OS version
OPENHARMONY_VERSION ?= "3.1" OPENHARMONY_VERSION ?= "3.1"
OPENHARMONY_OVERRIDES = "openharmony-${OPENHARMONY_VERSION}:openharmony"
OPENHARMONY_VERSION_FULL = "${OPENHARMONY_VERSION}" OPENHARMONY_VERSION_FULL = "${OPENHARMONY_VERSION}"
OPENHARMONY_VERSION_FULL:openharmony-3.0 = "3.0.1" OPENHARMONY_VERSION_FULL:openharmony-3.0 = "3.0.1"
OPENHARMONY_VERSION_FULL:openharmony-3.1 = "3.1.1" OPENHARMONY_VERSION_FULL:openharmony-3.1 = "3.1.1"
# Generic and version specific OpenHarmony DISTROOVERRIDES
# Enabling "openharmony" distro feature activates the "df-openharmony"
# override, which can therefore be used for overriding stuff independent of
# OpenHarmony version.
# For overriding for a specific OpenHarmony version, use e.g. "openharmony-3.0"
# OpenHarmony 3.0 specific override, And similar for other supported versions.
INHERIT += "distrooverrides"
DISTRO_FEATURES_OVERRIDES += "openharmony"
OPENHARMONY_OVERRIDES = ""
OPENHARMONY_OVERRIDES:df-openharmony = ":openharmony-${OPENHARMONY_VERSION}"
DISTROOVERRIDES:append = "${OPENHARMONY_OVERRIDES}"
PREFERRED_VERSION_openharmony-standard = "${OPENHARMONY_VERSION}" PREFERRED_VERSION_openharmony-standard = "${OPENHARMONY_VERSION}"
# clang_rt.profile library is used in openharmony-standard build
PACKAGECONFIG:pn-compiler-rt:append:df-openharmony = " profile"
# libfts.a is used in openharmony-standard build
DISABLE_STATIC:pn-fts:df-openharmony = ""
require openssl.inc
require java.inc
require musl-ldso-paths.inc
...@@ -5,29 +5,29 @@ ...@@ -5,29 +5,29 @@
# Configuration of OpenSSL recipe # Configuration of OpenSSL recipe
# Disable various ciphers and protocols # Disable various ciphers and protocols
PACKAGECONFIG:pn-openssl = "no-bf no-camellia no-cast no-ct no-md2 no-rc5 no-rc2 no-ripemd no-rmd160 no-ssl2 no-ssl3 no-ssl3-method" PACKAGECONFIG:pn-openssl:df-openharmony = "no-bf no-camellia no-cast no-ct no-md2 no-rc5 no-rc2 no-ripemd no-rmd160 no-ssl2 no-ssl3 no-ssl3-method"
# Arm 32-bit configuration # Arm 32-bit configuration
CFLAGS:pn-openssl:append:arm = " -DOPENSSL_CPUID_OBJ" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DOPENSSL_CPUID_OBJ"
CFLAGS:pn-openssl:append:arm = " -DOPENSSL_BN_ASM_MONT" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DOPENSSL_BN_ASM_MONT"
CFLAGS:pn-openssl:append:arm = " -DOPENSSL_BN_ASM_GF2m" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DOPENSSL_BN_ASM_GF2m"
CFLAGS:pn-openssl:append:arm = " -DSHA1_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DSHA1_ASM"
CFLAGS:pn-openssl:append:arm = " -DSHA256_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DSHA256_ASM"
CFLAGS:pn-openssl:append:arm = " -DSHA512_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DSHA512_ASM"
CFLAGS:pn-openssl:append:arm = " -DKECCAK1600_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DKECCAK1600_ASM"
CFLAGS:pn-openssl:append:arm = " -DAES_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DAES_ASM"
CFLAGS:pn-openssl:append:arm = " -DBSAES_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DBSAES_ASM"
CFLAGS:pn-openssl:append:arm = " -DGHASH_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DGHASH_ASM"
CFLAGS:pn-openssl:append:arm = " -DECP_NISTZ256_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DECP_NISTZ256_ASM"
CFLAGS:pn-openssl:append:arm = " -DPOLY1305_ASM" CFLAGS:pn-openssl:df-openharmony:append:arm = " -DPOLY1305_ASM"
# Arm 64-bit configuration # Arm 64-bit configuration
CFLAGS:pn-openssl:append:aarch64 = " -DOPENSSL_CPUID_OBJ" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DOPENSSL_CPUID_OBJ"
CFLAGS:pn-openssl:append:aarch64 = " -DOPENSSL_BN_ASM_MONT" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DOPENSSL_BN_ASM_MONT"
CFLAGS:pn-openssl:append:aarch64 = " -DSHA1_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DSHA1_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DSHA256_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DSHA256_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DSHA512_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DSHA512_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DKECCAK1600_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DKECCAK1600_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DVPAES_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DVPAES_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DECP_NISTZ256_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DECP_NISTZ256_ASM"
CFLAGS:pn-openssl:append:aarch64 = " -DPOLY1305_ASM" CFLAGS:pn-openssl:df-openharmony:append:aarch64 = " -DPOLY1305_ASM"
...@@ -8,14 +8,12 @@ DISTRO_VERSION = "1.99.99" ...@@ -8,14 +8,12 @@ DISTRO_VERSION = "1.99.99"
# OpenHarmony OS version # OpenHarmony OS version
require include/openharmony.inc require include/openharmony.inc
DISTROOVERRIDES:append = ":${OPENHARMONY_OVERRIDES}" DISTRO_FEATURES:append = " openharmony"
# LLVM/Clang toolchain # LLVM/Clang toolchain
TOOLCHAIN = "clang" TOOLCHAIN = "clang"
RUNTIME = "llvm" RUNTIME = "llvm"
PACKAGECONFIG:pn-compiler-rt = "profile"
# musl libc # musl libc
TCLIBC = "musl" TCLIBC = "musl"
...@@ -36,10 +34,6 @@ PREFERRED_VERSION_linux-yocto = "5.10.%" ...@@ -36,10 +34,6 @@ PREFERRED_VERSION_linux-yocto = "5.10.%"
require conf/distro/include/yocto-uninative.inc require conf/distro/include/yocto-uninative.inc
INHERIT += "uninative" INHERIT += "uninative"
require include/openssl.inc
require include/java.inc
require include/musl-ldso-paths.inc
# Workaround for missing host tools in do_testimage when not adding testimage to # Workaround for missing host tools in do_testimage when not adding testimage to
# IMAGE_CLASSES, but doing a direct `inherit testimage` in image recipes # IMAGE_CLASSES, but doing a direct `inherit testimage` in image recipes
# instead. # instead.
......
...@@ -18,5 +18,6 @@ LAYERDEPENDS_meta-openharmony += "openembedded-layer" ...@@ -18,5 +18,6 @@ LAYERDEPENDS_meta-openharmony += "openembedded-layer"
LAYERDEPENDS_meta-openharmony += "oniro-staging" LAYERDEPENDS_meta-openharmony += "oniro-staging"
LAYERDEPENDS_meta-openharmony += "meta-python" LAYERDEPENDS_meta-openharmony += "meta-python"
LAYERDEPENDS_meta-openharmony += "clang-layer" LAYERDEPENDS_meta-openharmony += "clang-layer"
LAYERDEPENDS_meta-openharmony += "meta-java"
LAYERSERIES_COMPAT_meta-openharmony = "kirkstone" LAYERSERIES_COMPAT_meta-openharmony = "kirkstone"
...@@ -6,12 +6,12 @@ SPDX-FileCopyrightText: Huawei Inc. ...@@ -6,12 +6,12 @@ SPDX-FileCopyrightText: Huawei Inc.
<manifest> <manifest>
<include name="manifests/branch.xml" /> <include name="manifests/branch.xml" />
<extend-project name="oniro" revision="ab7d94c98db300b0b2010d6eb53b053d082640e0" /> <extend-project name="oniro" revision="3258864533369a3a01d65934d0aefe582cb56c47" />
<extend-project name="bitbake" revision="c212b0f3b542efa19f15782421196b7f4b64b0b9" /> <extend-project name="bitbake" revision="b8fd6f5d9959d27176ea016c249cf6d35ac8ba03" />
<extend-project name="openembedded-core" revision="ca1c990df62f1b3d53b2114a387f192efe7e38e8" /> <extend-project name="openembedded-core" revision="eea52e0c3d24c79464f4afdbc3c397e1cb982231" />
<extend-project name="meta-openembedded" revision="6fbe7f748706229f43a2e06b08b6e1e729942314" /> <extend-project name="meta-openembedded" revision="fcc7d7eae82be4c180f2e8fa3db90a8ab3be07b7" />
<extend-project name="meta-clang" revision="cd7b2f8c90962bef4e8b272ce6863a57b73f20fc" /> <extend-project name="meta-clang" revision="d669d873edf68dc7440bb07096737203bb7ec505" />
<extend-project name="meta-java" revision="1a8059f6b257ebe6fcae6416e499784d976afd24" /> <extend-project name="meta-java" revision="1a8059f6b257ebe6fcae6416e499784d976afd24" />
</manifest> </manifest>
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
BASEVER:openharmony = "1.2.0" BASEVER:df-openharmony = "1.2.0"
SRCREV:openharmony = "040c1d16b468c50c04fc94edff521f1637708328" SRCREV:df-openharmony = "040c1d16b468c50c04fc94edff521f1637708328"
LIC_FILES_CHKSUM:openharmony = "file://COPYRIGHT;md5=f95ee848a08ad253c04723da00cedb01" LIC_FILES_CHKSUM:df-openharmony = "file://COPYRIGHT;md5=f95ee848a08ad253c04723da00cedb01"
FILESEXTRAPATHS:prepend:openharmony := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:" FILESEXTRAPATHS:prepend:df-openharmony := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:"
SRC_URI:append:openharmony = " file://openharmony-common.patch" SRC_URI:append:df-openharmony = " file://openharmony-common.patch"
SRC_URI:append:openharmony = " file://openharmony-linux-user.patch" SRC_URI:append:df-openharmony = " file://openharmony-linux-user.patch"
# This conflicts with libcap, so we have to go with libcap instead # This conflicts with libcap, so we have to go with libcap instead
#SRC_URI:append:openharmony = " file://openharmony-linux-user-capability_h.patch" #SRC_URI:append:df-openharmony = " file://openharmony-linux-user-capability_h.patch"
# As musl links with -nostdlib, we need to add linking with # As musl links with -nostdlib, we need to add linking with
# libclang_rt.builtins.a manually as needed # libclang_rt.builtins.a manually as needed
...@@ -22,9 +22,9 @@ LDFLAGS:append:toolchain-clang = " ${@bb.utils.contains('COMPILER_RT', '-rtlib=c ...@@ -22,9 +22,9 @@ LDFLAGS:append:toolchain-clang = " ${@bb.utils.contains('COMPILER_RT', '-rtlib=c
# with `-nostdinc` argument. # with `-nostdinc` argument.
# Possible fix is to rewrite the hooks implementation to use the musl internal # Possible fix is to rewrite the hooks implementation to use the musl internal
# atomic.h functions instead. # atomic.h functions instead.
#CFLAGS:append:openharmony = "-DHOOK_ENABLE" #CFLAGS:append:df-openharmony = "-DHOOK_ENABLE"
do_install:append:openharmony () { do_install:append:df-openharmony () {
for folder in ${MUSL_LDSO_PATHS}; do for folder in ${MUSL_LDSO_PATHS}; do
echo "${libdir}/${folder}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path echo "${libdir}/${folder}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path
done done
......
From c542d2d93cf536e91d4edb8791fdc0de732b0a52 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:41:41 +0800
Subject: [PATCH] don't use glibc-specific qsort_r
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Rebased for v241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[Rebased for v242]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
src/basic/sort-util.h | 14 --------------
src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
src/shared/hwdb-util.c | 19 ++++++++++++++-----
3 files changed, 38 insertions(+), 31 deletions(-)
diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
index 02a6784d99..cb448df109 100644
--- a/src/basic/sort-util.h
+++ b/src/basic/sort-util.h
@@ -61,18 +61,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, comparison
_qsort_safe((p), (n), sizeof((p)[0]), (comparison_fn_t) _func_); \
})
-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, comparison_userdata_fn_t compar, void *userdata) {
- if (nmemb <= 1)
- return;
-
- assert(base);
- qsort_r(base, nmemb, size, compar, userdata);
-}
-
-#define typesafe_qsort_r(p, n, func, userdata) \
- ({ \
- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
- qsort_r_safe((p), (n), sizeof((p)[0]), (comparison_userdata_fn_t) _func_, userdata); \
- })
-
int cmp_int(const int *a, const int *b);
diff --git a/src/shared/format-table.c b/src/shared/format-table.c
index b95680b365..5ffa208615 100644
--- a/src/shared/format-table.c
+++ b/src/shared/format-table.c
@@ -1324,30 +1324,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
return CMP(index_a, index_b);
}
-static int table_data_compare(const size_t *a, const size_t *b, Table *t) {
+static Table *user_table;
+static int table_data_compare(const void *x, const void *y) {
+ const size_t *a = x, *b=y;
int r;
- assert(t);
- assert(t->sort_map);
+ assert(user_table);
+ assert(user_table->sort_map);
/* Make sure the header stays at the beginning */
- if (*a < t->n_columns && *b < t->n_columns)
+ if (*a < user_table->n_columns && *b < user_table->n_columns)
return 0;
- if (*a < t->n_columns)
+ if (*a < user_table->n_columns)
return -1;
- if (*b < t->n_columns)
+ if (*b < user_table->n_columns)
return 1;
/* Order other lines by the sorting map */
- for (size_t i = 0; i < t->n_sort_map; i++) {
+ for (size_t i = 0; i < user_table->n_sort_map; i++) {
TableData *d, *dd;
- d = t->data[*a + t->sort_map[i]];
- dd = t->data[*b + t->sort_map[i]];
+ d = user_table->data[*a + user_table->sort_map[i]];
+ dd = user_table->data[*b + user_table->sort_map[i]];
r = cell_data_compare(d, *a, dd, *b);
if (r != 0)
- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r;
+ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r;
}
/* Order identical lines by the order there were originally added in */
@@ -2009,7 +2011,12 @@ int table_print(Table *t, FILE *f) {
for (size_t i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
+ if (n_rows <= 1)
+ return 0;
+ assert(sorted);
+ user_table = t;
+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
+ user_table = NULL;
}
if (t->display_map)
@@ -2647,7 +2654,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
for (size_t i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
+ if (n_rows <= 1)
+ return 0;
+ assert(sorted);
+ user_table = t;
+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
+ user_table = NULL;
}
if (t->display_map)
diff --git a/src/shared/hwdb-util.c b/src/shared/hwdb-util.c
index fe4785f3e5..827e1639c3 100644
--- a/src/shared/hwdb-util.c
+++ b/src/shared/hwdb-util.c
@@ -127,9 +127,13 @@ static struct trie* trie_free(struct trie *trie) {
DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
- return strcmp(trie->strings->buf + a->key_off,
- trie->strings->buf + b->key_off);
+static struct trie *trie_node_add_value_trie;
+static int trie_values_cmp(const void *v1, const void *v2) {
+ const struct trie_value_entry *a = v1;
+ const struct trie_value_entry *b = v2;
+
+ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
+ trie_node_add_value_trie->strings->buf + b->key_off);
}
static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -157,7 +161,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.value_off = v,
};
- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
+
if (val) {
/* At this point we have 2 identical properties on the same match-string.
* Since we process files in order, we just replace the previous value. */
@@ -183,7 +190,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.line_number = line_number,
};
node->values_count++;
- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
+ trie_node_add_value_trie = trie;
+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
+ trie_node_add_value_trie = NULL;
return 0;
}
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
FILESEXTRAPATHS:prepend := "${THISDIR}/systemd:"
# This patch was dropped in oe-core as musl 1.2.3 implements qsort_r, but as
# long as we are pinning on 1.2.0 for OpenHarmony builds, we need it.
SRC_URI:append:df-openharmony = " file://0002-don-t-use-glibc-specific-qsort_r.patch"
...@@ -6,4 +6,4 @@ ...@@ -6,4 +6,4 @@
# GN function which was recently dropped, therefore downgrading GN to revision # GN function which was recently dropped, therefore downgrading GN to revision
# compatible with OpenHarmony # compatible with OpenHarmony
SRCREV:openharmony = "5da62d5e9d0f10cb8ece7c30563a6a214c78b68d" SRCREV:df-openharmony = "5da62d5e9d0f10cb8ece7c30563a6a214c78b68d"
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
# OpenHarmony relies on Android's ashmem, which is in staging and therefore # OpenHarmony relies on Android's ashmem, which is in staging and therefore
# the header is not installed by default # the header is not installed by default
do_install:append:openharmony() { do_install:append:df-openharmony() {
install ${S}/drivers/staging/android/uapi/ashmem.h ${D}${includedir}/linux install ${S}/drivers/staging/android/uapi/ashmem.h ${D}${includedir}/linux
} }
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:" FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
SRC_URI:append:openharmony = " file://ashmem.cfg" SRC_URI:append:df-openharmony = " file://ashmem.cfg"
SRC_URI:append:openharmony = " file://driver-add-hilog-and-hievent-buffer-management-drive.patch" SRC_URI:append:df-openharmony = " file://driver-add-hilog-and-hievent-buffer-management-drive.patch"
SRC_URI:append:openharmony = " file://driver-add-hilog-and-hievent-buffer-management-drive.cfg" SRC_URI:append:df-openharmony = " file://driver-add-hilog-and-hievent-buffer-management-drive.cfg"
SRC_URI:append:openharmony = " file://android_binder_ipc.cfg" SRC_URI:append:df-openharmony = " file://android_binder_ipc.cfg"
# #
# QEMU ARM Cortex-A7 # QEMU ARM Cortex-A7
......
...@@ -12,11 +12,15 @@ PD & OFL-1.1 & OpenSSL & MulanPSL-2.0 & bzip2-1.0.6 & ISC & ICU & IJG & Libpng & ...@@ -12,11 +12,15 @@ PD & OFL-1.1 & OpenSSL & MulanPSL-2.0 & bzip2-1.0.6 & ISC & ICU & IJG & Libpng &
MPL-1.1 & MPL-2.0 & FTL" MPL-1.1 & MPL-2.0 & FTL"
LIC_FILES_CHKSUM = "file://build/LICENSE;md5=cfba563cea4ce607306f8a392f19bf6c" LIC_FILES_CHKSUM = "file://build/LICENSE;md5=cfba563cea4ce607306f8a392f19bf6c"
require sanity-check.inc
DEPENDS += "nodejs-native" DEPENDS += "nodejs-native"
DEPENDS += "bison-native" DEPENDS += "bison-native"
DEPENDS += "ruby-native" DEPENDS += "ruby-native"
require ${PN}-sources-${OPENHARMONY_VERSION}.inc # Note: Using include instead of require to avoid parser error skipping recipe
include ${PN}-sources-${OPENHARMONY_VERSION}.inc
require musl-ldso-paths-sanity-check.inc require musl-ldso-paths-sanity-check.inc
FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:" FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:"
......
...@@ -12,6 +12,8 @@ PD & OFL-1.1 & OpenSSL & MulanPSL-2.0 & bzip2-1.0.6 & ISC & ICU & IJG & Libpng & ...@@ -12,6 +12,8 @@ PD & OFL-1.1 & OpenSSL & MulanPSL-2.0 & bzip2-1.0.6 & ISC & ICU & IJG & Libpng &
MPL-1.1 & MPL-2.0 & FTL" MPL-1.1 & MPL-2.0 & FTL"
LIC_FILES_CHKSUM = "file://build/LICENSE;md5=cfba563cea4ce607306f8a392f19bf6c" LIC_FILES_CHKSUM = "file://build/LICENSE;md5=cfba563cea4ce607306f8a392f19bf6c"
require sanity-check.inc
DEPENDS += "nodejs-native" DEPENDS += "nodejs-native"
DEPENDS += "bison-native" DEPENDS += "bison-native"
DEPENDS += "ruby-native" DEPENDS += "ruby-native"
...@@ -23,7 +25,9 @@ DEPENDS += "fts" ...@@ -23,7 +25,9 @@ DEPENDS += "fts"
FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:" FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:"
FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-standard-${OPENHARMONY_VERSION}:" FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-standard-${OPENHARMONY_VERSION}:"
require ${PN}-sources-${OPENHARMONY_VERSION}.inc # Note: Using include instead of require to avoid parser error skipping recipe
include ${PN}-sources-${OPENHARMONY_VERSION}.inc
require java-tools.inc require java-tools.inc
require musl-ldso-paths-sanity-check.inc require musl-ldso-paths-sanity-check.inc
......
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
# Skip recipe if openharmony is not in DISTRO_FEATURES
inherit features_check
REQUIRED_DISTRO_FEATURES = "openharmony"
# Skip recipe if TOOLCHAIN != "clang" or RUNTIME != "llvm"
python () {
toolchain = d.getVar('TOOLCHAIN')
runtime = d.getVar('RUNTIME')
tclibc = d.getVar('TCLIBC')
if toolchain != "clang":
raise bb.parse.SkipRecipe("TOOLCHAIN is not clang")
if runtime != "llvm":
raise bb.parse.SkipRecipe("RUNTIME is not llvm")
if tclibc != "musl":
raise bb.parse.SkipRecipe("TCLIBC is not musl")
}
...@@ -6,6 +6,8 @@ SUMMARY = "Target specific integration of Oniro toolchain into OpenHarmony" ...@@ -6,6 +6,8 @@ SUMMARY = "Target specific integration of Oniro toolchain into OpenHarmony"
LICENSE = "Apache-2.0" LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM += "file://BUILD_target.gn;beginline=1;endline=3;md5=a1537856660cf2c8e36079c007b35bec" LIC_FILES_CHKSUM += "file://BUILD_target.gn;beginline=1;endline=3;md5=a1537856660cf2c8e36079c007b35bec"
require sanity-check.inc
S = "${WORKDIR}" S = "${WORKDIR}"
B = "${WORKDIR}/build" B = "${WORKDIR}/build"
......
...@@ -6,6 +6,8 @@ SUMMARY = "Integration of Oniro 3rd party components into OpenHarmony" ...@@ -6,6 +6,8 @@ SUMMARY = "Integration of Oniro 3rd party components into OpenHarmony"
LICENSE = "Apache-2.0" LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://overlay/third_party/openssl/BUILD.gn;beginline=1;endline=3;md5=a1537856660cf2c8e36079c007b35bec" LIC_FILES_CHKSUM = "file://overlay/third_party/openssl/BUILD.gn;beginline=1;endline=3;md5=a1537856660cf2c8e36079c007b35bec"
require sanity-check.inc
BBCLASSEXTEND = "native nativesdk" BBCLASSEXTEND = "native nativesdk"
INHIBIT_DEFAULT_DEPS = "1" INHIBIT_DEFAULT_DEPS = "1"
...@@ -21,7 +23,8 @@ SRC_URI += "file://patches/build_third_party.patch;apply=no;subdir=src" ...@@ -21,7 +23,8 @@ SRC_URI += "file://patches/build_third_party.patch;apply=no;subdir=src"
SRC_URI += "file://third_party/openssl/BUILD.gn;subdir=src/overlay" SRC_URI += "file://third_party/openssl/BUILD.gn;subdir=src/overlay"
require oniro-openharmony-thirdparty-integration-${OPENHARMONY_VERSION}.inc # Note: Using include instead of require to avoid parser error skipping recipe
include oniro-openharmony-thirdparty-integration-${OPENHARMONY_VERSION}.inc
do_install() { do_install() {
mkdir -p ${D}${datadir}/oniro-openharmony mkdir -p ${D}${datadir}/oniro-openharmony
......
...@@ -6,6 +6,8 @@ SUMMARY = "Integration of Oniro toolchain into OpenHarmony" ...@@ -6,6 +6,8 @@ SUMMARY = "Integration of Oniro toolchain into OpenHarmony"
LICENSE = "Apache-2.0" LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://setup.sh;beginline=3;endline=15;md5=306e15e328d14d4055327f82b55064a0" LIC_FILES_CHKSUM = "file://setup.sh;beginline=3;endline=15;md5=306e15e328d14d4055327f82b55064a0"
require sanity-check.inc
BBCLASSEXTEND = "native nativesdk" BBCLASSEXTEND = "native nativesdk"
INHIBIT_DEFAULT_DEPS = "1" INHIBIT_DEFAULT_DEPS = "1"
...@@ -43,7 +45,8 @@ SRC_URI += "file://build/common/musl/BUILD.gn;subdir=src/overlay" ...@@ -43,7 +45,8 @@ SRC_URI += "file://build/common/musl/BUILD.gn;subdir=src/overlay"
SRC_URI += "file://BUILD_host.gn" SRC_URI += "file://BUILD_host.gn"
require oniro-openharmony-toolchain-integration-${OPENHARMONY_VERSION}.inc # Note: Using include instead of require to avoid parser error skipping recipe
include oniro-openharmony-toolchain-integration-${OPENHARMONY_VERSION}.inc
SDK_DYNAMIC_LINKER:x86-64 = "ld-linux-x86-64.so.2" SDK_DYNAMIC_LINKER:x86-64 = "ld-linux-x86-64.so.2"
SDK_DYNAMIC_LINKER:x86 = "ld-linux.so.2" SDK_DYNAMIC_LINKER:x86 = "ld-linux.so.2"
......
...@@ -13,6 +13,8 @@ with bitbake. Recipes building OpenHarmony with bitbake should depend on this \ ...@@ -13,6 +13,8 @@ with bitbake. Recipes building OpenHarmony with bitbake should depend on this \
recipe, and will need to hook in the recipe-sysroot and recipe-sysroot-native \ recipe, and will need to hook in the recipe-sysroot and recipe-sysroot-native \
folders before building." folders before building."
require sanity-check.inc
inherit populate_sdk inherit populate_sdk
TOOLCHAIN_OUTPUTNAME = "${PN}-${OPENHARMONY_VERSION}-${TUNE_PKGARCH}-${SDK_VERSION}" TOOLCHAIN_OUTPUTNAME = "${PN}-${OPENHARMONY_VERSION}-${TUNE_PKGARCH}-${SDK_VERSION}"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment