RTEMS build broken on msys2

Chris Johns chrisj at rtems.org
Thu Oct 11 14:38:13 UTC 2018


On 11/10/18 6:16 am, Sebastian Huber wrote:
> Hello,
> 
> it is always a pleasure to work on Windows via msys2. After my recent
> Makefile.am changes the argument list to create the library is too long:
> 
> in_cpuinfo.o libmisc/shell/main_profreport.o libmisc/utf8proc/utf8proc.o
> libmd/sha256c.o libmd/sha512c.o             score/cpu/no_cpu/cpuidle.o
> score/cpu/powerpc/cpu.o score/cpu/powerpc/ppc-context-volatile-clobber.o
> score/cpu/powerpc/ppc-context-validate.o
> score/cpu/powerpc/ppc-isr-disable-mask.o score/cpu/powerpc/ppc-isr-vector-install.o
> make[4]: execvp: powerpc-rtems5-ar: Argument list too long
> 
> Some time ago we had the same problem with libbsd and got a fix for waf due to
> that. What works is this manual hack:
> 
> librtemscpu.a: $(librtemscpu_a_OBJECTS) $(librtemscpu_a_DEPENDENCIES)
> $(EXTRA_librtemscpu_a_DEPENDENCIES)
>         -rm -f librtemscpu.a
>         echo "" > librtemscpu.txt
>         for i in $(librtemscpu_a_OBJECTS) ; do $$i >>librtemscpu.txt ; done
>         $(librtemscpu_a_AR) librtemscpu.a @librtemscpu.txt $(librtemscpu_a_LIBADD)
>         $(RANLIB) librtemscpu.a
> 
> The standard Automake target is this:
> 
> librtemscpu.a: $(librtemscpu_a_OBJECTS) $(librtemscpu_a_DEPENDENCIES)
> $(EXTRA_librtemscpu_a_DEPENDENCIES)
>     -rm -f librtemscpu.a
>     $(librtemscpu_a_AR) librtemscpu.a $(librtemscpu_a_OBJECTS)
> $(librtemscpu_a_LIBADD)
>     $(RANLIB) librtemscpu.a
> 
> Is it possible to override a Automake generated target with a custom variant?
> 

Did you try adding this to the manual hack to the makefile to see if you can
override the automake rule?

Chris


More information about the devel mailing list