[oe] [meta-java][PATCH] libecj-bootstrap-native: simplify build

Richard Leitner richard.leitner at skidata.com
Tue Jun 19 08:04:43 UTC 2018


Hi,
this is a note to let you know that I've just added this patch to the
master-next branch of the meta-java repository at
	git://git.yoctoproject.org/meta-java

As soon as it has gone through some more testing it will likely be
merged to the master branch.

If you have any questions, please let me know.

regards;Richard.L

On 25.04.2018 16:59, André Draszik wrote:
> From: André Draszik <andre.draszik at jci.com>
> 
> Piping 'find' output into multiple files to re-read
> them seems inelegant and is error prone - just use a
> pipe with appropriate options instead.
> 
> This avoids potential problems with funny file names,
> and now also makes use of BB_NUMBER_THREADS to speed
> up compilation.
> 
> This is a better example to copy from now...
> 
> Signed-off-by: André Draszik <andre.draszik at jci.com>
> ---
>   recipes-core/ecj/libecj-bootstrap.inc | 25 +++++++------------------
>   1 file changed, 7 insertions(+), 18 deletions(-)
> 
> diff --git a/recipes-core/ecj/libecj-bootstrap.inc b/recipes-core/ecj/libecj-bootstrap.inc
> index 9350550..04425f4 100644
> --- a/recipes-core/ecj/libecj-bootstrap.inc
> +++ b/recipes-core/ecj/libecj-bootstrap.inc
> @@ -17,13 +17,8 @@ JAR = "ecj-bootstrap-${PV}.jar"
>   
>   do_unpackpost[dirs] = "${B}"
>   do_unpackpost() {
> -  if [ ! -d source ]; then
> -    mkdir source
> -  fi
> -
> -  if [ ! -d build ]; then
> -    mkdir build
> -  fi
> +  mkdir -p source
> +  mkdir -p build
>   
>     # Remove crap.
>     rm -f about.html build.xml
> @@ -44,24 +39,18 @@ do_unpackpost() {
>     cp -R source/org build/
>   
>     # Remove source code and other stuff.
> -  find build -name '*.java' -exec rm -f {} \;
> -  find build -name '*.html' -exec rm -f {} \;
> +  find build -depth \( -name '*.java' -o -name '*.html' \) -delete
>   }
>   
>   addtask unpackpost after do_unpack before do_patch
>   
>   do_compile() {
> -  find source -name '*.java' | LC_ALL=C sort > sourcefiles
> -  split -l 25 sourcefiles ecj-sources.
> -
>     # Compiling in place is done because the sources contain
>     # property files which need to be available at runtime.
> -  for list in `find . -name 'ecj-sources.*'`; do
> -      echo "building files in $list ...";
> -      echo jikes-initial -d build -source 1.4 -sourcepath source `cat $list`;
> -      jikes-initial \
> -				-d build -source 1.4 -sourcepath source `cat $list`;
> -  done
> +  find source -name '*.java' -print0 \
> +    | LC_ALL=C sort -z \
> +    | xargs -0 -n25 -P ${BB_NUMBER_THREADS} \
> +        jikes-initial -d build -source 1.4 -sourcepath source
>   
>     fastjar -c -C build . -f ${JAR}
>   }
> 



More information about the Openembedded-devel mailing list