From: Roy Li <[email protected]> Mariadb depends on openssl, openssl conditionally depends on krb5 by checking if OPENSSL_NO_KRB5 is defined, but cmake can not handle "ifndef" and always ask krb5.h if krb5.h exist when cmake make_depend;
Faking a kssl.h if krb5 is not in PACKAGECONF, which does not include krb5 related declaration, install the faked kssl.h into build dir to be searched firstly Signed-off-by: Roy Li <[email protected]> --- meta-oe/recipes-support/mysql/mariadb.inc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta-oe/recipes-support/mysql/mariadb.inc b/meta-oe/recipes-support/mysql/mariadb.inc index 00fa965..ddc0644 100644 --- a/meta-oe/recipes-support/mysql/mariadb.inc +++ b/meta-oe/recipes-support/mysql/mariadb.inc @@ -42,6 +42,7 @@ PACKAGECONFIG_class-native = "" PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITHOUT_VALGRIND=TRUE,valgrind" PACKAGECONFIG[libedit] = "-DLIBEDIT_INTERFACE=TRUE,-DLIBEDIT_INTERFACE=FALSE,libedit" +PACKAGECONFIG[krb5] = ", ,krb5" # MariaDB doesn't link properly with gold # https://mariadb.atlassian.net/browse/MDEV-5982 @@ -84,6 +85,14 @@ do_compile_prepend_class-target () { # and since we're cross-compiling that is disabled cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then + mkdir ${B}/include/openssl + echo "#ifndef KSSL_H" >${B}/include/openssl/kssl.h + echo "#define KSSL_H" >>${B}/include/openssl/kssl.h + echo "#include <openssl/opensslconf.h>">>${B}/include/openssl/kssl.h + echo "#endif" >>${B}/include/openssl/kssl.h + fi } SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess" -- 1.9.1 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
