Jeremie Courreges-Anglas <[email protected]> wrote:
> On Tue, Aug 09 2022, Jeremie Courreges-Anglas <[email protected]> wrote:
> > Another diff I have used on riscv64 bulk build cluster since some
> > weeks/months.  The executables are named differently on riscv64.
> >
> > The SConstruct file has this logic:
> >
> >     if env["arch"] != "":
> >         suffix += "." + env["arch"]
> >     elif env["bits"] == "32":
> >         suffix += ".32"
> >     elif env["bits"] == "64":
> >         suffix += ".64"
> >
> > In the detect.py scripts:
> >
> >       if env["arch"] == "" and platform.machine() == "riscv64":
> >           env["arch"] = "rv64
> >
> > The executables are named as such:
> >
> > hifive /usr/ports/games/godot$ ls -l 
> > /usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.*
> > -rwxr-xr-x  1 _pbuild  _pbuild   77693472 Aug  8 02:59 
> > /usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.rv64
> > -rwxr-xr-x  1 _pbuild  _pbuild  157345856 Aug  8 05:28 
> > /usr/ports/pobj/godot-3.4.5/godot-3.4.5-stable/bin/godot.x11.opt.tools.rv64
> >
> > which doesn't match the logic used in do-install, hence the following diff.

Woops, sorry.  I missed the riscv64 case when adjusting the do-install
target some time ago.

> > Another approach with more explicit code would be to use a variable in
> > the file names, that variable would hold either "rv64", "64" or "32"
> > depending on the arch.
> 
> That would give something like the diff below (tested on riscv64 and
> amd64).

I prefer this version with the explicit BINSUFFIX, but both are OK for
me.

Thanks!

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/godot/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- Makefile  5 Aug 2022 14:19:42 -0000       1.38
> +++ Makefile  8 Aug 2022 23:10:50 -0000
> @@ -99,6 +99,15 @@ NO_TEST =          Yes
>  
>  DPB_PROPERTIES =     parallel
>  
> +.include <bsd.port.arch.mk>
> +.if ${MACHINE_ARCH} == "riscv64"
> +BINSUFFIX =          rv64
> +.elif ${PROPERTIES:Mlp64}
> +BINSUFFIX =          64
> +.else
> +BINSUFFIX =          32
> +.endif
> +
>  .if ${MACHINE_ARCH:Mhppa}
>  LDFLAGS +=     -latomic
>  WANTLIB +=     atomic
> @@ -123,9 +132,9 @@ do-build:
>       @${MODSCONS_BUILD_TARGET} tools=yes target=release_debug
>  
>  do-install:
> -     ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.[36]* \
> +     ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.${BINSUFFIX} \
>               ${PREFIX}/bin/godot
> -     ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.tools.* \
> +     ${INSTALL_PROGRAM} ${WRKBUILD}/bin/godot.x11.opt.tools.${BINSUFFIX} \
>               ${PREFIX}/bin/godot-tools
>       ${INSTALL_MAN_DIR} ${PREFIX}/man/man6
>       ${INSTALL_MAN} ${WRKSRC}/misc/dist/linux/godot.6 \


Reply via email to