On Wed, Feb 24, 2021 at 10:30:45AM -0700, Nathan Chancellor wrote:
SNIP
> > +
> > +build()
> > +{
> > + local name=$1
> > + local opts=$2
>
> A more robust way to handle this might be
>
> shift
> local opts=$@
>
> > +
> > + echo "build ${name} (${OUTPUT}/output)"
> > +
> > + mkdir -p ${OBJECTS}/${name}
> > + mkdir -p ${OUTPUT}
> > +
> > + pushd ${KDIR}
> > + make ${opts} -j"$(nproc)" O=${OUTPUT} olddefconfig > ${OUTPUT}/output
> > 2>&1
>
> Then change this to
>
> make "${opts[@]}"
>
> shellcheck complains about implicit word splitting (and finds some other
> things in the other script).
I have no doutbs ;-) ok
SNIP
> > +
> > + PAHOLE=$(realpath ${PAHOLE})
> > + OBJECTS=$(realpath ${OBJECTS})
> > +
> > + echo "output: ${OUTPUT}"
> > + echo "kdir: ${KDIR}"
> > + echo "pahole: ${PAHOLE}"
> > + echo "objects: ${OBJECTS}"
> > + echo
> > +
> > + mkdir -p ${OBJECTS}
> > +
> > + echo "cleanup ${KDIR}"
> > + make -C ${KDIR} mrproper
> > +
> > +
> > + build x86-clang "LLVM=1"
>
> With that change above, you could unquote these options and just pass
> them in as regular parameters.
ok I see, that'd be easier and better looking, I'll change this
>
> > + build x86-gcc ""
> > +
> > + build aarch64-clang "ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LLVM=1"
> > + build aarch64-gcc "ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-"
> > +
> > +# build powerpc-clang "ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu-
> > LLVM=1"
> > + build powerpc-gcc "ARCH=powerpc CROSS_COMPILE=powerpc64-linux-gnu-"
> > +
> > +# build powerpcle-clang "ARCH=powerpc
> > CROSS_COMPILE=powerpc64le-linux-gnu- LLVM=1"
> > + build powerpcle-gcc "ARCH=powerpc
> > CROSS_COMPILE=powerpc64le-linux-gnu-"
> > +
> > +# build s390x-clang "ARCH=s390 CROSS_COMPILE=s390x-linux-gnu- LLVM=1"
>
> powerpc64le and s390 can build with CC=clang, instead of LLVM=1.
I got some strange error when building ppc and s390 with LLVM=1,
but I did not check it deeply.. I'll try with CC=clang then, great
>
> I will see if I can give this a run locally over the next week or so.
thanks,
jirka