infra: Add generic check_prog_host function
PATCH v3 1/2 infra: Add generic check_prog_host function
Avoid copy/pasting the same block of code to check if a program is available on the host machine.
---
Changes v2 -> v3:
- None
Changes v1 -> v2:
- Remove the introduction of BR2_NEEDS_HOST_JAVAC & BR2_NEEDS_HOST_JAR to add them in the classpath patch. (Thomas De Schampheleire)
--- support/dependencies/dependencies.sh | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)
support/dependencies/dependencies.sh +14 -16
@@ -51,18 +51,20 @@ if test -n "$PERL_MM_OPT" ; then exit 1 fi -# Verify that which is installed -if ! which which > /dev/null ; then - echo - echo "You must install 'which' on your build machine"; - exit 1; -fi; +check_prog_host() +{ + prog="$1" + if ! which $prog > /dev/null ; then + echo >&2 + echo "You must install '$prog' on your build machine" >&2 + exit 1 + fi +} -if ! which sed > /dev/null ; then - echo - echo "You must install 'sed' on your build machine" - exit 1 -fi +# Verify that which is installed +check_prog_host "which" +# Verify that sed is installed +check_prog_host "sed" # Check make MAKE=$(which make 2> /dev/null)
@@ -196,11 +198,7 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then fi if grep -q ^BR2_NEEDS_HOST_JAVA=y $BR2_CONFIG ; then - if ! which java > /dev/null ; then - echo >&2 - echo "You must install 'java' on your build machine" >&2 - exit 1 - fi + check_prog_host "java" fi if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then
Signature · 1 line
1.9.2
PATCH v3 2/2 classpath: Use generic check for host program
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.
---
Changes v2 -> v3:
- Fix commit log
Changes v1 -> v2:
- Add the introduction of BR2_NEEDS_HOST_JAVAC & BR2_NEEDS_HOST_JAR in this patch instead of the previous one.
--- Config.in | 10 ++++++++++ package/classpath/Config.in | 2 ++ support/dependencies/dependencies.sh | 18 ++++++++---------- 3 files changed, 20 insertions(+), 10 deletions(-)
Config.in +10 -0
@@ -23,6 +23,16 @@ config BR2_EXTERNAL config BR2_NEEDS_HOST_JAVA bool +# Hidden boolean selected by packages in need of javac in order to build +# (example: classpath) +config BR2_NEEDS_HOST_JAVAC + bool + +# Hidden boolean selected by packages in need of jar in order to build +# (example: classpath) +config BR2_NEEDS_HOST_JAR + bool + # Hidden boolean selected by pre-built packages for x86, when they # need to run on x86-64 machines (example: pre-built external # toolchains, binary tools like SAM-BA, etc.).
package/classpath/Config.in +2 -0
@@ -1,5 +1,7 @@ config BR2_PACKAGE_CLASSPATH bool "classpath" + select BR2_NEEDS_HOST_JAR + select BR2_NEEDS_HOST_JAVAC depends on BR2_PACKAGE_JAMVM depends on BR2_INET_IPV6 help
support/dependencies/dependencies.sh +8 -10
@@ -187,20 +187,18 @@ if grep ^BR2_TOOLCHAIN_BUILDROOT=y $BR2_CONFIG > /dev/null && \ fi fi -if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then - for prog in javac jar; do - if ! which $prog > /dev/null ; then - echo >&2 - echo "You must install '$prog' on your build machine" >&2 - exit 1 - fi - done -fi - if grep -q ^BR2_NEEDS_HOST_JAVA=y $BR2_CONFIG ; then check_prog_host "java" fi +if grep -q ^BR2_NEEDS_HOST_JAVAC=y $BR2_CONFIG ; then + check_prog_host "javac" +fi + +if grep -q ^BR2_NEEDS_HOST_JAR=y $BR2_CONFIG ; then + check_prog_host "jar" +fi + if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then if test ! -f /lib/ld-linux.so.2 ; then echo
Signature · 1 line
1.9.2
Thomas Petazzoni
AppliedPATCH v3 2/2 classpath: Use generic check for host program
Dear Maxime Hadjinlian,
Quoted 6 lines · Maxime Hadjinlian
Remove the specific check that was done in
dependencies.shto use the generic one that were introduced by the previous patch.Also, introduce,
BR2_NEEDS_HOST_JAVACandBR2_NEEDS_HOST_JARas it is needed by classpath.
Quoted 8 lines
Signed-off-by Maxime Hadjinlian <[email protected]>Reviewed-by Thomas De Schampheleire <[email protected]>---
Changes v2 -> v3:
- Fix commit log
Changes v1 -> v2:
- Add the introduction ofBR2_NEEDS_HOST_JAVAC&BR2_NEEDS_HOST_JARin this patch instead of the previous one.
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 1/2 infra: Add generic check_prog_host function
In reply to Maxime HadjinlianMaxime Hadjinlian <[email protected]> schreef:
Quoted 4 lines
Avoid copy/pasting the same block of code to check if a program is available on the host machine.
Signed-off-by Maxime Hadjinlian <[email protected]>
As mentioned in the discussion of v1, there are many more improvements possible in dependencies.sh, but these can be done in a later patch...
Best regards,
Thomas
Thomas Petazzoni
AppliedPATCH v3 1/2 infra: Add generic check_prog_host function
In reply to Maxime HadjinlianDear Maxime Hadjinlian,
Quoted 11 lines · Maxime 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 <[email protected]>---
Changes v2 -> v3:
- None
Changes v1 -> v2:
- Remove the introduction ofBR2_NEEDS_HOST_JAVAC&BR2_NEEDS_HOST_JARto add them in the classpath patch. (Thomas De Schampheleire)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com