Hi, On Sun, 29 Nov 2020 11:02:35 +0000 Anthony Richardby wrote:
> On 2020-11-29 10:41:05 +0000 Anthony Richardby <antho...@gmx.co.uk> > wrote: > > > Hi All, > > With this patch squeak-vm builds and runs on my macppc machine. I've > > had to make 3 changes. I've removed the -mno-fused-madd which > > doesn't seem to exist on clang. I've changed f0 to just 0 in the > > powerpc specific inline asm, not sure about this, but I thought the > > type of register was implicit anyway. Finally, and this change > > affects all platforms, I had to change the order of linker > > arguments; without this I got a bunch of linker errors relating to > > the plugins. If there's anything else I need to do, let me know. > > > > I've only really tested it by clicking around in the default image, > > which seems to function well, though I plan on having a play with > > Squeak some more later. > > Thanks a lot! Your diff should also help fixing the build on other ld.bfd archs. Please always CC the port maintainer. I've built and run squeak on macppc and amd64 without issues. '-O3' optimisation should be removed, but maybe it has not been removed in the past for a reason. The below diff also moves HOMEPAGE to https. It's OK cwen@, even though if '-O3' should be removed we're better off testing again. Charlène. Index: Makefile.inc =================================================================== RCS file: /cvs/ports/lang/squeak/Makefile.inc,v retrieving revision 1.7 diff -u -p -u -p -r1.7 Makefile.inc --- Makefile.inc 12 Jul 2019 20:47:23 -0000 1.7 +++ Makefile.inc 29 Nov 2020 15:19:41 -0000 @@ -8,7 +8,7 @@ MAINTAINER = Marc Espie <espie@openbsd.o # Large explanation on http://minnow.cc.gatech.edu/squeak/159 PERMIT_PACKAGE = Yes -HOMEPAGE = http://squeak.org/ +HOMEPAGE = https://squeak.org/ SQUEAK_SITE= http://ftp.squeak.org/${MAJOR}.${MINOR}/ MAJOR = 3 Index: funsqueak/Makefile =================================================================== RCS file: /cvs/ports/lang/squeak/funsqueak/Makefile,v retrieving revision 1.4 diff -u -p -u -p -r1.4 Makefile --- funsqueak/Makefile 26 Mar 2020 19:55:08 -0000 1.4 +++ funsqueak/Makefile 29 Nov 2020 15:19:41 -0000 @@ -7,6 +7,7 @@ PKG_ARCH = * DISTFILES = FunSqueak3.10alpha.7.zip DISTNAME = squeak-funsqueak-3.10alpha7 +REVISION= 0 EPOCH = 0 MASTER_SITES = ${SQUEAK_SITE}../various_images/FunSqueak/ RUN_DEPENDS = lang/squeak/vm>=3.10 Index: image/Makefile =================================================================== RCS file: /cvs/ports/lang/squeak/image/Makefile,v retrieving revision 1.7 diff -u -p -u -p -r1.7 Makefile --- image/Makefile 17 Nov 2010 08:05:18 -0000 1.7 +++ image/Makefile 29 Nov 2020 15:19:41 -0000 @@ -9,7 +9,7 @@ DOTV = 2 IMAGE_V = 7179 DISTFILES = Squeak$V.${DOTV}-${IMAGE_V}-basic.zip DISTNAME = squeak-image-$V.${DOTV}.${IMAGE_V} -REVISION = 0 +REVISION = 1 RUN_DEPENDS = lang/squeak/vm>=3.10 MASTER_SITES = ${SQUEAK_SITE} EXTRACT_ONLY = Index: sources/Makefile =================================================================== RCS file: /cvs/ports/lang/squeak/sources/Makefile,v retrieving revision 1.5 diff -u -p -u -p -r1.5 Makefile --- sources/Makefile 23 Jul 2008 11:17:22 -0000 1.5 +++ sources/Makefile 29 Nov 2020 15:19:41 -0000 @@ -9,6 +9,7 @@ NO_BUILD = Yes DISTNAME = squeak-sources-${SOURCEV} PKG_ARCH = * MASTER_SITES = ${SQUEAK_SITE} +REVISION= 0 do-install: ${INSTALL_DATA_DIR} ${SQUEAK_DIR} Index: vm/Makefile =================================================================== RCS file: /cvs/ports/lang/squeak/vm/Makefile,v retrieving revision 1.30 diff -u -p -u -p -r1.30 Makefile --- vm/Makefile 11 Feb 2020 13:44:10 -0000 1.30 +++ vm/Makefile 29 Nov 2020 15:19:41 -0000 @@ -8,7 +8,7 @@ SRCV = 1 DISTFILES = Squeak-$V-${SRCV}.src.tar.gz PKGNAME = squeak-vm-$V.${SRCV} -REVISION = 10 +REVISION = 11 WRKDIST = ${WRKDIR}/Squeak-$V-${SRCV} WRKSRC = ${WRKDIST}/platforms/unix/config Index: vm/patches/patch-platforms_unix_config_Makefile_in =================================================================== RCS file: vm/patches/patch-platforms_unix_config_Makefile_in diff -N vm/patches/patch-platforms_unix_config_Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ vm/patches/patch-platforms_unix_config_Makefile_in 29 Nov 2020 15:19:41 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: platforms/unix/config/Makefile.in +--- platforms/unix/config/Makefile.in.orig ++++ platforms/unix/config/Makefile.in +@@ -43,7 +43,7 @@ all : $(squeak) plugins squeak.1 $(npsqueak) + # VM + + $(squeak) : config.sh $(SQLIBS) version.o +- $(LINK) $(squeak) $(SQLIBS) version.o $(LIBS) [plibs] vm/vm.a ++ $(LINK) $(squeak) vm/vm.a $(SQLIBS) version.o $(LIBS) [plibs] + @echo + @size $(squeak) + @echo Index: vm/patches/patch-platforms_unix_config_acinclude_m4 =================================================================== RCS file: /cvs/ports/lang/squeak/vm/patches/patch-platforms_unix_config_acinclude_m4,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-platforms_unix_config_acinclude_m4 --- vm/patches/patch-platforms_unix_config_acinclude_m4 14 Jan 2020 22:20:29 -0000 1.1 +++ vm/patches/patch-platforms_unix_config_acinclude_m4 29 Nov 2020 15:19:41 -0000 @@ -5,10 +5,20 @@ fix build on alpha Index: platforms/unix/config/acinclude.m4 --- platforms/unix/config/acinclude.m4.orig +++ platforms/unix/config/acinclude.m4 -@@ -255,16 +255,6 @@ fi) +@@ -115,7 +115,7 @@ if test "$GCC" = yes; then + ac_optflags="-fomit-frame-pointer" + ;; + powerpc|ppc) +- ac_optflags="-O3 -funroll-loops -mcpu=750 -mno-fused-madd" ++ ac_optflags="-O3 -funroll-loops -mcpu=750" + ;; + esac + AC_DEFINE(VM_BUILD_STRING, ["Unix built on "__DATE__ " "__TIME__" Compiler: "__VERSION__]) +@@ -254,16 +254,6 @@ else ac_cv_module_prefix="lib" + fi) AC_DEFINE_UNQUOTED(VM_MODULE_PREFIX,"$mkfrags_lib_prefix") test "$ac_cv_module_prefix" = lib && mkfrags_lib_prefix=lib]) - +- -AC_DEFUN([AC_64BIT_ARCH], -[AC_MSG_CHECKING(for compiler flags to force 32-bit addresses) -case $host in @@ -18,7 +28,6 @@ Index: platforms/unix/config/acinclude.m - ;; -esac -AC_MSG_RESULT($CFLAGS_32)]) -- - ### plugin support + ### plugin support Index: vm/patches/patch-platforms_unix_plugins_FloatMathPlugin_acinclude_m4 =================================================================== RCS file: vm/patches/patch-platforms_unix_plugins_FloatMathPlugin_acinclude_m4 diff -N vm/patches/patch-platforms_unix_plugins_FloatMathPlugin_acinclude_m4 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ vm/patches/patch-platforms_unix_plugins_FloatMathPlugin_acinclude_m4 29 Nov 2020 15:19:41 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: platforms/unix/plugins/FloatMathPlugin/acinclude.m4 +--- platforms/unix/plugins/FloatMathPlugin/acinclude.m4.orig ++++ platforms/unix/plugins/FloatMathPlugin/acinclude.m4 +@@ -6,7 +6,7 @@ if test "$GCC" = yes; then + libm_cflags="-O -fomit-frame-pointer" + ;; + powerpc|ppc) +- libm_cflags="-O3 -funroll-loops -mcpu=750 -mno-fused-madd" ++ libm_cflags="-O3 -funroll-loops -mcpu=750" + ;; + esac + fi Index: vm/patches/patch-platforms_unix_vm_sqUnixMain_c =================================================================== RCS file: /cvs/ports/lang/squeak/vm/patches/patch-platforms_unix_vm_sqUnixMain_c,v retrieving revision 1.7 diff -u -p -u -p -r1.7 patch-platforms_unix_vm_sqUnixMain_c --- vm/patches/patch-platforms_unix_vm_sqUnixMain_c 14 Jan 2020 22:20:29 -0000 1.7 +++ vm/patches/patch-platforms_unix_vm_sqUnixMain_c 29 Nov 2020 15:19:41 -0000 @@ -25,6 +25,17 @@ Index: platforms/unix/vm/sqUnixMain.c { &soundModule, "sound", "custom" }, /*** NO DEFAULT ***/ /* defaults */ { &displayModule, "display", "Quartz" }, +@@ -1292,8 +1289,8 @@ void imgInit(void) + || defined(POWERPC) || defined(__POWERPC) || defined (__POWERPC__) ) + void mtfsfi(unsigned long long fpscr) + { +- __asm__("lfd f0, %0" :: "m"(fpscr)); +- __asm__("mtfsf 0xff, f0"); ++ __asm__("lfd 0, %0" :: "m"(fpscr)); ++ __asm__("mtfsf 0xff, 0"); + } + #else + # define mtfsfi(fpscr) @@ -1329,17 +1326,6 @@ int main(int argc, char **argv, char **envp) outOfMemory();