diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-11-15 10:11:45 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2015-11-15 10:11:45 +0100 |
commit | ff6f45b68a15c4bf33ab401e4864205e2a57a066 (patch) | |
tree | f6bcec9bfd84158f2fc32a37b1321dacc6ffbd99 | |
parent | 68bace539dd6d7e271cf9b5740eb8c3c5507213d (diff) |
add new ADK Symbol PKG_NEEDS
There are a lot of packages which needs special features either
toolchain or hardware features. Add a new symbol which will be
used to disable packages, when a toolchain for example does
not provide this feature.
At the moment following features are required to set for a
package: threads rt c++.
There will follow: mmu iconv.
This will help to better support targets without MMU or
threading support.
134 files changed, 267 insertions, 158 deletions
diff --git a/adk/tools/pkgmaker.c b/adk/tools/pkgmaker.c index 4dce5ada1..a256647d9 100644 --- a/adk/tools/pkgmaker.c +++ b/adk/tools/pkgmaker.c @@ -1,7 +1,7 @@ /* * pkgmaker - create package meta-data for OpenADK buildsystem * - * Copyright (C) 2010-2014 Waldemar Brodkorb <wbx@openadk.org> + * Copyright (C) 2010-2015 Waldemar Brodkorb <wbx@openadk.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,7 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <ctype.h> @@ -327,7 +327,7 @@ int main() { char dir[MAXPATH]; char variable[2*MAXVAR]; char *key, *value, *token, *cftoken, *sp, *hkey, *val, *pkg_fd; - char *pkg_name, *pkg_depends, *pkg_depends_system, *pkg_depends_libc, *pkg_section, *pkg_descr, *pkg_url; + char *pkg_name, *pkg_depends, *pkg_needs, *pkg_depends_system, *pkg_depends_libc, *pkg_section, *pkg_descr, *pkg_url; char *pkg_cxx, *pkg_subpkgs, *pkg_cfline, *pkg_dflt; char *pkgname, *sysname, *pkg_debug, *pkg_bb; char *pkg_libc_depends, *pkg_host_depends, *pkg_system_depends, *pkg_arch_depends, *pkg_flavours, *pkg_flavours_string, *pkg_choices, *pseudo_name; @@ -342,6 +342,7 @@ int main() { pkg_section = NULL; pkg_url = NULL; pkg_depends = NULL; + pkg_needs = NULL; pkg_depends_system = NULL; pkg_depends_libc = NULL; pkg_opts = NULL; @@ -566,6 +567,8 @@ int main() { continue; if ((parse_var(buf, "PKG_DEPENDS", pkg_depends, &pkg_depends)) == 0) continue; + if ((parse_var(buf, "PKG_NEEDS", pkg_needs, &pkg_needs)) == 0) + continue; if ((parse_var_with_system(buf, "PKG_DEPENDS_", pkg_depends_system, &pkg_depends_system, &sysname, 12)) == 0) continue; if ((parse_var_with_system(buf, "PKG_DEPENDS_", pkg_depends_libc, &pkg_depends_libc, &sysname, 12)) == 0) @@ -626,6 +629,8 @@ int mai |