• Bug#1104865: cmigemo FTCBFS: rebuilds with the build architecture toolc

    From Helmut Grohne@21:1/5 to All on Wed May 7 18:00:01 2025
    Source: cmigemo
    Version: 1:1.2+gh0.20220623-1
    Tags: patch upstream
    User: debian-cross@lists.debian.org
    Usertags: ftcbfs

    cmigemo fails to cross build from source. It actually completes
    dh_auto_build successfully. Then as dh_auto_build runs, it considers the
    "dirs" target out of date and recompiles stuff as a result. Since dh_auto_install does not pass cross toolchains that unnecessary
    compilation step fails.

    The use of the dirs target has two problems. For one thing, dirs never
    exists and therefore always is out of date. I propose removing the
    target and depending on the relevant directories (via a variable)
    directly. Then, those directories change all the time, so we should turn
    them into order-only dependencies to avoid excessive rebuilds. Once
    doing both, cmigemo cross builds again. This also speeds up the native
    build.

    Please consider applying the attached patch and also forwarding it
    upstream.

    Helmut

    --- cmigemo-1.2+gh0.20220623.orig/compile/unix.mak
    +++ cmigemo-1.2+gh0.20220623/compile/unix.mak
    @@ -17,20 +17,19 @@

    default: $(outdir)cmigemo$(EXEEXT)

    -dirs:
    - @for i in $(objdir) $(outdir); do \
    - if test ! -d $$i; then \
    - $(MKDIR) $$i; \
    - fi \
    - done
    +dirs = $(objdir) $(outdir)
    +$(dirs):
    + @if test ! -d $@; then \
    + $(MKDIR) $@; \
    + fi

    $(outdir)cmigemo$(EXEEXT): $(objdir)main.$(O) $(libmigemo_LIB)
    $(CC) -o $@ $(objdir)main.$(O) -L. -L$(outdir) -lmigemo $(LDFLAGS)

    -$(objdir)main.o: $(srcdir)main.c dirs
    +$(objdir)main.o: $(srcdir)main.c | $(dirs)
    $(CC) $(CFLAGS) -o $@ -c $<

    -$(objdir)%.o: $(srcdir)%.c dirs
    +$(objdir)%.o: $(srcdir)%.c | $(dirs)
    $(CC) $(CFLAGS) -o $@ -c $<

    ##############################################################################

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)