# $NetBSD: Makefile.common,v 1.17 2023/02/25 17:58:39 ryoon Exp $ # # used by lang/smlnj/Makefile # smlnj supports i386, hppa, sparc, ppc, mlrisc & alpha # but this package only handles i386, ppc, and sparc. # Extending this is left as an (easy) exercise for the reader. ONLY_FOR_PLATFORM+= *-*-alpha *-*-hppa *-*-i386 \ *-*-mlrisc *-*-sparc *-*-powerpc BROKEN_ON_PLATFORM= *-*-alpha *-*-hppa *-*-mlrisc # This package also only supports netbsd, freebsd, linux, and solaris. # Making it work on other OSes shouldn't be all that hard. BROKEN_EXCEPT_ON_PLATFORM+= NetBSD-*-* FreeBSD-*-* Linux-*-* SunOS-*-* # Furthermore, some OS/machine combinations aren't handled and might # need hacking to work if enabled. BROKEN_ON_PLATFORM+= FreeBSD-*-sparc FreeBSD-*-powerpc BROKEN_ON_PLATFORM+= Linux-*-sparc Linux-*-powerpc BROKEN_ON_PLATFORM+= SunOS-*-i386 SunOS-*-powerpc # there are 32-on-64 hacks for amd64 on linux and netbsd ONLY_FOR_PLATFORM+= Linux-*-x86_64 NetBSD-*-x86_64 # On NetBSD/i386: # run.x86-netbsd: Cannot write-enable text segment: Permission denied # ./config/install.sh !!! Boot code failed, no heap image (sml.x86-bsd). MKPIE_SUPPORTED= no .include "../../mk/bsd.prefs.mk" # Possible values of BOX and OS must be kept in sync with the # currently ported platforms. .if ${OPSYS} == "NetBSD" || ${OPSYS} == "FreeBSD" OS= bsd .elif ${OPSYS} == "SunOS" || ${OPSYS} == "Linux" OS= ${LOWER_OPSYS} .endif PLIST_VARS+= nlffi # not available on all platforms .if ${MACHINE_ARCH} == "i386" BOX= x86 PLIST.nlffi= yes .elif ${MACHINE_ARCH} == "x86_64" BOX= amd64 .elif ${MACHINE_ARCH} == "powerpc" BOX= ppc PLIST.nlffi= yes .elif ${MACHINE_ARCH} == "sparc" BOX= ${MACHINE_ARCH} PLIST.nlffi= yes .else # for "make fetch", default to i386 instead of trying to download # a non-existing file BOX= x86 PLIST.nlffi= yes .endif PLIST_SUBST+= BOX=${BOX:Q} OS=${OS:Q} NLFFI=${NLFFI}