summaryrefslogtreecommitdiff
path: root/support/dependencies
AgeCommit message (Collapse)Author
2014-12-08support/scripts/dependencies.sh: cleanup the output of the 32 bits gcc testJens Stimpfle
The screen is cluttered when we build for 32 bit target and 32 bit gcc is missing. ~/buildroot$ make [...] /usr/bin/ld: cannot find crt1.o: No such file or directory /usr/bin/ld: cannot find crti.o: No such file or directory /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a when searching for -lgcc /usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s /usr/bin/ld: cannot find -lc /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a when searching for -lgcc /usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s /usr/bin/ld: cannot find crtn.o: No such file or directory collect2: error: ld returned 1 exit status [...] Your Buildroot configuration needs a compiler capable of building 32 bits binaries. The final note is enough, and adding 2>/dev/null to the gcc test invocation is also more consistent with the rest of the script. The patch makes the '/usr/bin/ld:' and 'collect2:' lines go away. Signed-off-by: Jens Stimpfle <debian@jstimpfle.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08support/scripts/dependencies.sh: improve g++ test to avoid misleading outputJens Stimpfle
When g++ is not installed, a misleading error message turns up because of a bad combination of an unquoted shell variable and control flow. ~/buildroot$ make You may have to install 'g++' on your build machine /home/testuser/buildroot/support/dependencies/dependencies.sh: 136: [: -lt: unexpected operator [Thomas: - fixed commit log, as per the suggestion of Yann E. Morin. - don't change existing empty new lines, suggested by Yann. - use positive logic in the newly added test, suggested by Yann.] Signed-off-by: Jens Stimpfle <debian@jstimpfle.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-11-30infra: do not append an empty LD_LIBRARY_PATHYann E. MORIN
When we set LD_LIBRARY_PATH when building our host tools, we append any pre-existing value to our custom path: LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" But then if LD_LIBRARY_PATH was previously empty, we end up with an LD_LIBRARY_PATH that ends with a colon. Also, when we check that an existing LD_LIBRARY_PATH does not contain CWD, we previously did not look for a zero-length prefix. Since 'man ld.so' says of LD_LIBRARY_PATH: A colon-separated list of directories in which to search for ELF libraries at execution-time. Similar to the PATH environment variable. And POSIX states about PATH: A zero-length prefix is a legacy feature that indicates the current working directory. And bash also recognises a zero-length prefix to search in CWD: A zero-length (null) directory name in the value of PATH indicates the current directory. We may thus end up on a system where a zero-length prefix in LD_LIBRARY_PATH is interpreted as CWD. Do not append the previous LD_LIBRARY_PATH if it was empty, and check for a zero-length prefix when checking dependencies. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-25package: indentation cleanupJerzy Grzegorek
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-07.mk files: bulk aligment and whitespace cleanup of assignmentsThomas De Schampheleire
The Buildroot coding style defines one space around make assignments and does not align the assignment symbols. This patch does a bulk fix of offending packages. The package infrastructures (or more in general assignments to calculated variable names, like $(2)_FOO) are not touched. Alignment of line continuation characters (\) is kept as-is. The sed command used to do this replacement is: find * -name "*.mk" | xargs sed -i \ -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#' -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#' Brief explanation of this command: ^\([A-Z0-9a-z_]\+\) a regular variable at the beginning of the line \([?:+]\?=\) any assignment character =, :=, ?=, += \([^\\]\+\) any string not containing a line continuation \([^\\ \t]\+\s*\\\) string, optional whitespace, followed by a line continuation character \(\s*\\\) optional whitespace, followed by a line continuation character Hence, the first subexpression handles empty assignments, the second handles regular assignments, the third handles regular assignments with line continuation, and the fourth empty assignments with line continuation. This expression was tested on following test text: (initial tab not included) FOO = spaces before FOO = spaces before and after FOO = tab before FOO = tab and spaces before FOO = tab after FOO = tab and spaces after FOO = spaces and tab after FOO = \ FOO = bar \ FOO = bar space \ FOO = \ GENIMAGE_DEPENDENCIES = host-pkgconf libconfuse FOO += spaces before FOO ?= spaces before and after FOO := FOO = FOO = FOO = FOO = $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C AT91BOOTSTRAP3_DEFCONFIG = \ AXEL_DISABLE_I18N=--i18n=0 After this bulk change, following manual fixups were done: - fix line continuation alignment in cegui06 and spice (the sed expression leaves the number of whitespace between the value and line continuation character intact, but the whitespace before that could have changed, causing misalignment. - qt5base was reverted, as this package uses extensive alignment which actually makes the code more readable. Finally, the end result was manually reviewed. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Cc: Yann E. Morin <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-17dependencies: Reject gcj in BR2_NEEDS_HOST_JAVA checkBernd Kuhls
Xbmc uses the Groovy java package to generate API code, for details see http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works Groovy itself is broken when used with gcj: http://jira.codehaus.org/browse/GROOVY-3701 Xbmc recommends to use another java package instead, like openjdk: http://forum.xbmc.org/showthread.php?tid=199742 Until we come up with a host package to provide a java setup and in order to make autobuilder happy let´s reject gcj when we check for a java installation on the host. Currently Xbmc is the only package using BR2_NEEDS_HOST_JAVA so changing the behaviour of dependencies.sh has no side effects. Fixes http://autobuild.buildroot.net/results/213/213d7454a1dc68cfb8f4c8d9508f52ebf8e58e33/ http://autobuild.buildroot.net/results/639/639cda872cf36c122cbd6139dd76f6b51ac1864e/ http://autobuild.buildroot.net/results/c9e/c9eb12c95b2939c64590692a82af8d84bbd90956/ Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-19dependencies.sh: fix typoVincent
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-15dependencies.sh: add other Debian package names for 32 bits librariesKaroly Kasza
[Thomas: implemented Arnout suggestion.] Signed-off-by: Karoly Kasza <kaszak@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-14classpath: Use generic check for host programMaxime Hadjinlian
Remove the specific check that was done in dependencies.sh to use the generic one that were introduced by the previous patch. Also, introduce, BR2_NEEDS_HOST_JAVAC and BR2_NEEDS_HOST_JAR as it is needed by classpath. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-14infra: Add generic check_prog_host functionMaxime Hadjinlian
Avoid copy/pasting the same block of code to check if a program is available on the host machine. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-05-31Improve tar check if bsdtar is installedHeiko Abraham
If bsdtar is installed, fix script error for tar version detection. bsdtar does not provide all expected command line (long) options like "--hard-dereference". To ensure compatibility, mark version of tar as 'invalid' and trigger build of 'host-tar'. [Peter; slightly reworded commit text] Signed-off-by: Heiko Abraham <abrahamh@web.de> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-20support: properly check bash is availableYann E. MORIN
The current check is broken, as it only checks if the user's login shell is bash, not what the system shell is. Mimick the sequence found in the top-level Makefile to search for bash, except for the fallback case, where we explicitly check that 'sh' is bash, by checking if it sets $BASH, so we know the fallback case, in the top-level Makefile, to use 'sh' will indeed use bash. Remove superfluous semi-colons ';' at the end of lines, they are not needed in a shell script (this is not C!) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Andrew Barnes <andy@outsideglobe.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-02-19infra: Change BR2_HOST_NEEDS_JAVA nameMaxime Hadjinlian
Change BR2_HOST_NEEDS_JAVA to BR2_NEEDS_HOST_JAVA as it makes more sense. The host doesn't need Java but Buildroot needs the host to have Java in order to build the package that select this option. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-19infra: Introduce BR2_HOST_NEEDS_JAVAMaxime Hadjinlian
XBMC needs Java on the host in order to build, because it uses a code-generator which is built in two phases: In the first phase SWIG is used to parse C++ header files that define the API. SWIG outputs an XML file that contains a complete description of the structure of the API. In the second phase, the XML file is ingested by a Groovy (Java) program that then creates C++ code that forms the bridge to the scripting language (Python). The second phase is why we need java on the host. You can learn more at the XBMC's wiki: http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works In order to check that, this patch introduce this mechanism in dependencies.sh, and it also defines the variable in Config.in [Peter: fix error message] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-09infra: replace BUILDROOT_CONFIG with BR2_CONFIGArnout Vandecappelle
To make the naming consistent (all user-visible options should be prefixed with BR2_). An entry is added to Makefile.legacy to warn users who have set BUILDROOT_CONFIG but not BR2_CONFIG. Still export BUILDROOT_CONFIG but pointing to some phony value, to make sure that scripts that still use it fail in a predictable way. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Jérémy Rosen <jeremy.rosen@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-06dependencies.sh: cleanup dependencies.shMaxime Hadjinlian
Cleanup mixed indents and remove commented lines. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-05dependencies.sh: stop stray a.out being created for ia32 compiler testMartin Bark
If the grub package is selected it also selects BR2_HOSTARCH_NEEDS_IA32_COMPILER. This triggers a test in dependencies.sh to verify the host compiler can build 32 bit executables. Currently this test does not set any output for the compiler which causes a stray a.out to be create outside the output directory. This patch sets the compiler output to /dev/null so no a.out is created but the test is still performed. Signed-off-by: Martin Bark <martin@barkynet.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-22dependencies.sh: stop mixing echo and printf (use echo)Bjørn Forsman
'printf' was introduced because it is more portable than 'echo -e'. But when the escape sequences are just newlines we can just as well use plain 'echo' (and remove the newline escape sequences). This looks cleaner than having some lines with echo and some with printf. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-21Prefer 'printf' over 'echo -e' (for portability)Bjørn Forsman
support/dependencies/dependencies.sh uses #!/bin/sh shebang. It is not guaranteed that /bin/sh provides an 'echo' implementation that understands the '-e' flag (interpret backslash escape chars). For example, dash doesn't. 'printf' is more portable (it must interpret backslash escape chars, according to POSIX), so use that. NOTE: Before the previous commit, the dependencies.sh script used /bin/echo instead of the shell built-in. That's probably why this hasn't come up before. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-21support/dependencies/dependencies.sh: Remove some absolute pathsBjørn Forsman
Buildroot fails to run on NixOS because it has no /bin/echo or /bin/grep. Instead of relying on absolute paths, rely on tools to be available in PATH. This should work for all systems. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-01core: add BR2_HOSTARCH_NEEDS_IA32_COMPILER optionThomas Petazzoni
Some bootloaders (such as Grub) need to be built for x86 (i.e IA32) even if the target architecture is x86-64. However, when the target architecture is x86-64, the cross-compiler generated by Buildroot is not able to generate 32 bits code. To solve this, we will rely on the host compiler being a x86 + x86-64 compiler. Therefore, this commit introduces the BR2_HOSTARCH_NEEDS_IA32_COMPILER option, which tells the dependency checking logic to verify that the host compiler is indeed capable of building x86 32 bits code. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-06dependencies.sh: update i386 package namesFrank Hunleth
This is the list needed to run the Linaro pre-built toolchain on a 64-bit Ubuntu 13.10 system. Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-01manual generation: check dependencies firstThomas De Schampheleire
To generate the manual, you need a few tools. If these are not present, pretty cryptic error messages are given. This patch adds a simple check for these dependencies, before attempting to build the manual. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-10-09dependencies: remove useless targetsThomas Petazzoni
The dependencies-source, dependencies-clean and dependencies-dirclean targets are not needed, as long as 'dependencies' is not used in the <pkg>_DEPENDENCIES of a package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-09-13package: remove the empty trailing linesJerzy Grzegorek
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-06xzcat: treat as host prerequisite and build if neededThomas De Schampheleire
If xzcat is not present on the host system, buildroot bails out early asking the developer to install it (xzcat is now a DL_TOOLS_DEPENDENCY) Conversely, when BR2_TARGET_ROOTFS_CPIO_XZ is enabled, then host-xz is a build dependency, and no manual action is required from the developer. Because the second approach is nicer, also build host-xz when xzcat is not available, using the host-prerequisite and suitable-host-pkg mechanisms, already used for tar. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-06Fix build reproducibility in Make 3.82Jérôme Pouiller
Make 3.82 no longer sort the result of wildcards (see http://comments.gmane.org/gmane.comp.gnu.make.bugs/4260). This may break build reproducibility. This patch sort results of wildcards to ensure reproducibility. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-08-10host-ccache: turn into a proper dependencyThomas De Schampheleire
This patch moves the host-ccache build target from BASE_TARGETS in Makefile to an actual host prerequisite in support/dependencies. This causes host-ccache to be built as part of the dependencies, before any real package is built. Since the dependencies are built without ccache anyway, there is no need to set HOST_CCACHE_CONF_ENV anymore. Suggested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10dependencies: build without ccacheThomas De Schampheleire
This patch forces the plain host compiler to be used during the building of dependencies, without ccache as it is not yet built. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10host-mkpasswd: new packageThomas De Schampheleire
Since the addition of root password setting support in buildroot, there have been a few bug reports in this area ([1], [2]). In these cases, the system mkpasswd did either not work, or did not provide the options we expect, like -m <method>. This patch adds a mkpasswd host package, based on the sources from whois. When a non-empty root password is set, this package is used as a dependency. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [1] http://lists.busybox.net/pipermail/buildroot/2013-July/075771.html [2] http://lists.busybox.net/pipermail/buildroot/2013-July/075869.html [Thomas P: use $(INSTALL) instead of install, put -lcrypt at the end of build command line to allow gcc to find the crypt() function in lcrypt.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-20fix white spacesJerzy Grzegorek
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-05Add 'bc' in the mandatory dependenciesThomas Petazzoni
Since a few kernel releases, having 'bc' installed is mandatory to build the kernel. See commit https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=70730bca1331fc50c3caacaea00439de1325bd6e of the kernel. Since this tool is generally available by default in distributions, and we're unlikely to see version-specific problems with it, we just check for it to be installed in support/dependencies/dependencies.sh. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-20Normalize separator size to 80 in remaining makefilesAlexandre Belloni
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-26Revert "dependencies: check that SSL certificates are installed"Baruch Siach
This reverts commit d66cd067f3dc3d5e2479e1e8c05f24fd82329f7a. SSL certificates are no always installed in /etc/ssl/certs. For example, on CentOS 5.6 the default OpenSSL certificates directory is /etc/pki/tls/certs, and wget can download using https without any problem. Moreover, the existence of /etc/ssl/certs does not guarantee the presence of a CA certificates bundle even on Debian. On my current Debian testing installation the openssl package itself creates an empty /etc/ssl/certs directory. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: check that SSL certificates are installedThomas Petazzoni
Some packages are hosted on https:// servers, and wget only works on these if the SSL certificates are installed. For example, downloading the kernel sources from kernel.org requires those SSL certificates to be installed. [Peter: fix typo] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: check that a full perl installation is availableThomas Petazzoni
The host-autoconf build process requires a full Perl installation, or at least a Perl installation that has the Data::Dumper module installed. On a basic Debian system, only 'perl-base' is installed, but Data::Dumper is in the 'perl' package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: test all programs before bailing outThomas Petazzoni
The current dependencies code abort as soon as one program is missing. It is quite annoying when multiple programs are missing. Instead, bail out if needed after testing all programs. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: add details about which distro package to installThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: remove useless newlinesThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24dependencies: remove a few useless mandatory dependenciesThomas Petazzoni
awk, bison, flex, makeinfo, gettext should be built as dependencies of packages when needed. In practice, even the toolchain build doesn't need any of these, and only a few packages do require them. It is not needed to list gzip and bzip2 since they are already checked through ${DL_TOOLS}: whenever a package needs gzip or bzip2 for its extraction, the dependency is added. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-13support/dependencies: use newly-introduced BUILDROOT_CONFIGYann E. MORIN
No need to recreate a path we already have. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06Infrastructure to warn the user about missing 32 bits librariesThomas Petazzoni
Many users trying to use external toolchains on x86-64 machines get a very confusing message: "Can't execute cross-compiler" They get this message because they forgot to install the 32 bits compatibility libraries that are needed to run binaries compiled for x86 on x86-64 machines. Since this is the case for both external toolchains and certain binary-only tools like SAM-BA, we add a new Kconfig option BR2_HOSTARCH_NEEDS_IA32_LIBS, that packages must select if they need the 32 bits compatibility libraries. When this option is enabled, dependencies.sh checks that the 32 bits dynamic library loader is present on the system, and if not, it stops and shows an error. The path and name of the 32 bits dynamic loader is hardcoded because it is very unlikely to change, as it would break the ABI for all binaries. Also, it is worth noting that the check will be done even if we're running on a 32 bits machine. This is harmless, as 32 bits machines necessarily have the 32 bits dynamic loader installed, so the error will never show up in this case. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-30target: add option to set the root passwordYann E. MORIN
Add an option in the menuconfig to specify a root password. If set to empty, no root password is created; otherwise, the password is encrypted using MD5 (MD5 is not the default for crypt(3), DES-56 is, but MD5 is widely available, not-so-strong, but not-so-weak either). Add a check for 'mkpasswd' as a new dependency. [Peter: fix typo/capitilization and simplify logic] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-04dependencies.sh: only javac and jar are needed by classpathPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-04dependencies.sh: check for java tools if classpath is enabledPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-07-15dependencies.sh: suppress output of localeArnout Vandecappelle (Essensium/Mind)
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-02Revert "dependencies: ensure that DESTDIR isn't set when running Buildroot"Thomas Petazzoni
We should instead simply unset it at runtime, like we do for PKG_CONFIG_PATH. This reverts commit 9910eba33adb2b783b0df5d90a857816e82fbd55. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-30dependencies: ensure that DESTDIR isn't set when running BuildrootThomas Petazzoni
Having DESTDIR set in the environment before running Buildroot creates some funky problems in the build process. Prevent users from running into this kind of troubles. Cc: Michael Opdenacker <michael.opdenacker@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09dependencies: build a host-tar if no suitable tar can be foundThomas De Schampheleire
Some toolchains, like the one built with buildroot itself, use hardlinks (for example to link between the c++ and g++ binary). Unpacking such a toolchain with the --strip-components options does not work correctly if the system tar is too old (<1.17). Even recent releases of RedHat/CentOS still ship with tar 1.15. This patch checks for a suitable tar version (tar 1.17+) on the host system, and adds host-tar to the host dependencies if none can be found. host-tar is download and extracted as cpio.gz instead of tar.gz, to prevent chicken-egg problem. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> v4 Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09dependencies: add function suitable-host-packageThomas De Schampheleire
Sometimes, buildroot needs a certain host tool to do its job, e.g. tar. In many cases, we expect this tool to be present on the host system, but this is not always the case. Or maybe, the version on the host system is not suitable, and we need a more recent one. In some of these cases, instead of bailing out, buildroot could build the package first (but only if the existing system package is not suitable). To aid in detecting if a host package is suitable or not, this patch adds a function suitable-host-package. When called with parameter foo, it will execute check-host-foo.sh. This script should return either the path to the suitable host package, or the empty string if no suitable package can be found. The rules to determine whether something is suitable or not is left to check-host-foo.sh and depends on foo. An example usage of suitable-host-package is: DEPENDENCIES_HOST_PREREQ += $(if $(call suitable-host-package,foo),,host-foo) To avoid cluttering the existing dependencies.mk file, it includes any check-host-foo.mk file. These files can be used to hold appropriate dependency-related actions for foo. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> v1 Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>