equivalent of IA32_BINARY_PORT for USE_LINUX (Was: ports/148379: New port: audio/linux-Nero-AAC-Codec)

Anonymous swell.k at gmail.com
Tue Jul 6 18:57:35 UTC 2010


(CC'ing freebsd-ports@)

Christopher Key <cjk32 at cam.ac.uk> writes:

> Is there any equivalent to IA32_BINARY_PORT for linux binary
> distributions?  I assume that at the moment, linux binary
> compatibility only exists on i386 and amd64, but I don't see any
> reason why this should always be the true, in which case there would
> need to be some way to define which platforms the distributed binaries
> will run on.

IA32_BINARY_PORT checks /usr/lib32 and compat.ia32.maxvmem presence.
I don't think it'll work with dynmaic linking against 32bit library
from ports (not misc/compat[3-7]x).

As there is currently only 32bit linux base support I think only
compat.linux32.maxvmem needs to be checked for USE_LINUX case.

%%
Index: Mk/bsd.port.mk
===================================================================
RCS file: /a/.cvsup/ports/Mk/bsd.port.mk,v
retrieving revision 1.642
diff -u -p -r1.642 bsd.port.mk
--- Mk/bsd.port.mk	4 Jun 2010 08:09:17 -0000	1.642
+++ Mk/bsd.port.mk	6 Jul 2010 18:50:08 -0000
@@ -1714,10 +1714,14 @@ HAVE_COMPAT_IA32_LIBS?=  YES
 .if !defined(HAVE_COMPAT_IA32_KERN)
 HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -n compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi
 .endif
+.if !defined(HAVE_COMPAT_LINUX32_KERN)
+HAVE_COMPAT_LINUX32_KERN!= if ${SYSCTL} -n compat.linux32.maxvmem >/dev/null 2>&1; then echo YES; fi
+.endif
 .endif
 
 .if defined(IA32_BINARY_PORT) && ${ARCH} != "i386"
 .if ${ARCH} == "amd64" || ${ARCH} == "ia64"
+.if !defined(USE_LINUX)
 .if !defined(HAVE_COMPAT_IA32_KERN)
 IGNORE=		requires a kernel with compiled-in IA32 compatibility
 .elif !defined(HAVE_COMPAT_IA32_LIBS)
@@ -1725,6 +1729,9 @@ IGNORE=		requires 32-bit libraries insta
 .endif
 _LDCONFIG_FLAGS=-32
 LIB32DIR=	lib32
+.elif !defined(HAVE_COMPAT_LINUX32_KERN)
+IGNORE=		requires a kernel with compiled-in LINUX32 compatibility
+.endif
 .else
 IGNORE=		requires i386 (or compatible) platform to run
 .endif
%%


More information about the freebsd-ports mailing list