Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Nov 2015 21:06:54 +0000 (UTC)
From:      Julio Merino <jmmv@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r402245 - in head/lang: gcc gcc48 gcc49 gcc5
Message-ID:  <201511222106.tAML6s72077309@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmmv (src committer)
Date: Sun Nov 22 21:06:54 2015
New Revision: 402245
URL: https://svnweb.freebsd.org/changeset/ports/402245

Log:
  Add a MULTILIB option to gcc{,48,49,5} for powerpc64
  
  This change is the same as r400632, which updated gcc[56]-devel, but now
  for gcc{,48,49,5}.  This change is the second attempt at doing this: the
  first attempt went in r401072 and was reverted in r401074 because the diff
  was bogus and enabled the new MULTILIB option under all platforms instead
  of just powerpc64.
  
  This fixes the build of gcc{,48,49,5} under powerpc64 when the system
  is built without the lib32 libraries.
  
  More in detail:
  
  If the system is built with lib32 support (WITH_LIB32, which is the default),
  building gcc from ports results in a compiler that can target both 64-bit and
  32-bit binaries on powerpc64.  However, when lib32 support is disabled
  (WITHOUT_LIB32), gcc should only be built with 64-bit support or otherwise
  the build fails.
  
  To fix this, explicitly disable 32-bit support when /usr/lib32 is not present
  and add a MULTILIB option (which is only defined for powerpc64 when 32-bit
  support is possible and defaults to yes to preserve the current behavior) to
  allow the user to explicitly control this feature.
  
  Approved by:    gerald (maintainer), bdrewery (mentor), andreast
  Differential Revision:  https://reviews.freebsd.org/D3952

Modified:
  head/lang/gcc/Makefile
  head/lang/gcc48/Makefile
  head/lang/gcc49/Makefile
  head/lang/gcc5/Makefile

Modified: head/lang/gcc/Makefile
==============================================================================
--- head/lang/gcc/Makefile	Sun Nov 22 20:57:30 2015	(r402244)
+++ head/lang/gcc/Makefile	Sun Nov 22 21:06:54 2015	(r402245)
@@ -3,6 +3,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	4.8.5
+PORTREVISION=	1
 CATEGORIES=	lang java
 MASTER_SITES=	GCC/releases/gcc-${DISTVERSION}
 
@@ -47,6 +48,15 @@ OPTIONS_DEFAULT_amd64=	JAVA
 OPTIONS_EXCLUDE_DragonFly=	JAVA
 BOOTSTRAP_DESC=		Build using a full bootstrap
 
+.if exists(/usr/lib32/libc.so)
+OPTIONS_DEFINE_powerpc64=	MULTILIB
+OPTIONS_DEFAULT_powerpc64=	MULTILIB
+MULTILIB_DESC=		Build support for 32-bit and 64-bit target types
+MULTILIB_CONFIGURE_ENABLE=	multilib
+.else
+CONFIGURE_ARGS+=	--disable-multilib
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"

Modified: head/lang/gcc48/Makefile
==============================================================================
--- head/lang/gcc48/Makefile	Sun Nov 22 20:57:30 2015	(r402244)
+++ head/lang/gcc48/Makefile	Sun Nov 22 21:06:54 2015	(r402245)
@@ -3,6 +3,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	4.8.5
+PORTREVISION=	1
 CATEGORIES=	lang java
 MASTER_SITES=	GCC/releases/gcc-${DISTVERSION}
 PKGNAMESUFFIX=	${SUFFIX}
@@ -50,6 +51,15 @@ OPTIONS_DEFAULT_amd64=	JAVA
 OPTIONS_EXCLUDE_DragonFly=	JAVA
 BOOTSTRAP_DESC=		Build using a full bootstrap
 
+.if exists(/usr/lib32/libc.so)
+OPTIONS_DEFINE_powerpc64=	MULTILIB
+OPTIONS_DEFAULT_powerpc64=	MULTILIB
+MULTILIB_DESC=		Build support for 32-bit and 64-bit target types
+MULTILIB_CONFIGURE_ENABLE=	multilib
+.else
+CONFIGURE_ARGS+=	--disable-multilib
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"

Modified: head/lang/gcc49/Makefile
==============================================================================
--- head/lang/gcc49/Makefile	Sun Nov 22 20:57:30 2015	(r402244)
+++ head/lang/gcc49/Makefile	Sun Nov 22 21:06:54 2015	(r402245)
@@ -3,6 +3,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	4.9.4.s20151111
+PORTREVISION=	1
 CATEGORIES=	lang java
 MASTER_SITES=	GCC/snapshots/${DISTVERSION}
 PKGNAMESUFFIX=	${SUFFIX}
@@ -51,6 +52,15 @@ OPTIONS_DEFAULT_amd64=	JAVA
 OPTIONS_EXCLUDE_DragonFly=	JAVA
 BOOTSTRAP_DESC=		Build using a full bootstrap
 
+.if exists(/usr/lib32/libc.so)
+OPTIONS_DEFINE_powerpc64=	MULTILIB
+OPTIONS_DEFAULT_powerpc64=	MULTILIB
+MULTILIB_DESC=		Build support for 32-bit and 64-bit target types
+MULTILIB_CONFIGURE_ENABLE=	multilib
+.else
+CONFIGURE_ARGS+=	--disable-multilib
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"

Modified: head/lang/gcc5/Makefile
==============================================================================
--- head/lang/gcc5/Makefile	Sun Nov 22 20:57:30 2015	(r402244)
+++ head/lang/gcc5/Makefile	Sun Nov 22 21:06:54 2015	(r402245)
@@ -3,7 +3,7 @@
 
 PORTNAME=	gcc
 PORTVERSION=	5.2.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang java
 MASTER_SITES=	GCC/releases/gcc-${DISTVERSION}
 PKGNAMESUFFIX=	${SUFFIX}
@@ -53,6 +53,15 @@ OPTIONS_EXCLUDE_DragonFly=	JAVA
 BOOTSTRAP_DESC=		Build using a full bootstrap
 GRAPHITE_DESC=		Support for Graphite loop optimizations
 
+.if exists(/usr/lib32/libc.so)
+OPTIONS_DEFINE_powerpc64=	MULTILIB
+OPTIONS_DEFAULT_powerpc64=	MULTILIB
+MULTILIB_DESC=		Build support for 32-bit and 64-bit targets
+MULTILIB_CONFIGURE_ENABLE=	multilib
+.else
+CONFIGURE_ARGS+=	--disable-multilib
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511222106.tAML6s72077309>