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 \