Go to file
Thomas De Schampheleire 83d2644b11 core: rename FOO_BASE_NAME to FOO_BASENAME to avoid clashes
In current Buildroot, clashes occur between the variables _NAME and
_BASE_NAME for two packages called foo and foo-base, i.e.

Package foo:
FOO_NAME = foo
FOO_BASE_NAME = foo-1.2.3

Package foo-base:
FOO_BASE_NAME = foo-base
FOO_BASE_BASE_NAME = foo-base-4.5.6

where variable FOO_BASE_NAME is clashing between these two packages.
Specific cases where this clash is already existing are:
- alljoyn-base
- alljoyn-tcl-base
- perl-xml-sax-base

The problem is generic and can occur for a number of variables in Buildroot.
A non-exhaustive list:
    <pkg>_BASE and <pkg>_BASE_NAME
    <pkg>_BASE_NAME and <pkg>_RAW_BASE_NAME
    <pkg>_DIR and <pkg>_DL_DIR
    <pkg>_VERSION and <pkg>_DL_VERSION
    <pkg>_SOURCE and <pkg>_TARGET_SOURCE
    <pkg>_INSTALL_IMAGES and <pkg>_TARGET_INSTALL_IMAGES  (same for _STAGING and _TARGET)
    <pkg>_LICENSE_FILES and <pkg>_MANIFEST_LICENSE_FILES
    <pkg>_DEPENDENCIES and <pkg>_FINAL_DEPENDENCIES

One solution is to use another separator than '_' to separate the
package name from the rest of the variable name. For example, a double
underscore:
FOO__NAME
FOO__BASE_NAME
FOO_BASE__NAME
FOO_BASE__BASE_NAME

However, making that change for only this case means that the variable
naming is no longer consistent. And making the change for all variables has
a large impact, also on certain user scripts.

For now, keep it simple, and rename FOO_BASE_NAME into FOO_BASENAME, so that
the variables become:
FOO_NAME
FOO_BASENAME
FOO_BASE_NAME
FOO_BASE_BASENAME

For consistency, also adapt FOO_RAW_BASE_NAME. Since FOO_RAW_BASENAME would
still pose a conflict with a package called 'foo-raw', take the opportunity
to rename it into FOO_BASENAME_RAW instead, which does not pose a conflict
as we have no variable called FOO_RAW.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Sam Voss <sam.voss@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-01 14:10:53 +02:00
arch */Config.in*: remove consecutive empty lines 2018-04-01 08:48:24 +02:00
board New board: SolidRun ClearFog Base 2018-04-01 12:52:27 +02:00
boot */Config.in*: remove consecutive empty lines 2018-04-01 08:48:24 +02:00
configs New board: SolidRun ClearFog Base 2018-04-01 12:52:27 +02:00
docs toolchain: merge toolchain-common.in to Config.in 2018-04-01 08:45:54 +02:00
fs fs/*/Config.in: re-wrap help text 2018-04-01 08:52:45 +02:00
linux linux/Config.*: re-wrap help text 2018-04-01 08:53:57 +02:00
package core: rename FOO_BASE_NAME to FOO_BASENAME to avoid clashes 2018-04-01 14:10:53 +02:00
support fs: run packages' filesystem hooks in a copy of target/ 2018-03-31 20:53:06 +02:00
system system/Config.in: re-wrap help text 2018-04-01 08:01:05 +02:00
toolchain toolchain/*/Config.in: re-wrap help text 2018-04-01 09:08:47 +02:00
utils utils/checkpackagelib: exclude four files from Config.in indentation check 2018-04-01 10:16:21 +02:00
.defconfig
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore
.gitlab-ci.yml New board: SolidRun ClearFog Base 2018-04-01 12:52:27 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: extend check-package test to Config.* files 2018-04-01 10:16:35 +02:00
CHANGES
Config.in Config.in*: re-wrap help text 2018-04-01 09:11:46 +02:00
Config.in.legacy Config.in*: re-wrap help text 2018-04-01 09:11:46 +02:00
COPYING
DEVELOPERS New board: SolidRun ClearFog Base 2018-04-01 12:52:27 +02:00
Makefile Makefile: Ensure BASE_TARGET_DIR exists, not TARGET_DIR 2018-03-31 21:08:33 +02:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches