mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
Override the library search directories for external GCC toolchains.
The default library search directories when building a native GCC end up falling back to /usr/local/lib (for devel/*-gcc) and /usr/lib (for base/gcc) even when --sysroot is used. For devel/*-gcc, I previously forced CROSS_DIRECTORY_STRUCTURE on in r466699 to workaround this. However, this solution could not be used for base/gcc. Instead, patch the sources to remove several of the library search directories and override STARTFILE_PREFIX_SPEC to only look in /usr/lib. GCC still adds tuple-specific subdirs to /usr/lib, but this is ok. Bump PORTREVISION for both the external GCC toolchains and base/gcc. Reviewed by: kan Differential Revision: https://reviews.freebsd.org/D18677
This commit is contained in:
parent
8b6f368a9a
commit
86c96ca1f2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=491173
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= gcc
|
||||
PORTVERSION= 6.4.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= base
|
||||
MASTER_SITES= GCC/releases/gcc-${DISTVERSION} \
|
||||
http://www.mpfr.org/mpfr-3.1.6/:mpfr \
|
||||
@ -44,6 +44,7 @@ PLIST_SUB= TARGETARCH=${TARGETARCH} \
|
||||
GCC_VERSION=${PORTVERSION}
|
||||
|
||||
EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-format-extensions
|
||||
EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-libdir
|
||||
EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/patch-gcc-freebsd-mips
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= gcc
|
||||
PORTVERSION= 6.4.0
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= GCC/releases/gcc-${DISTVERSION}
|
||||
PKGNAMEPREFIX?= powerpc64-
|
||||
@ -30,7 +30,8 @@ TARGETARCH= ${PKGNAMEPREFIX:C/-//g:S/amd64/x86_64/}
|
||||
.if empty(GCC_TARGET)
|
||||
# We are building for a FreeBSD target
|
||||
GCC_TARGET= ${PKGNAMEPREFIX:S/amd64/x86_64/}unknown-${OPSYS:tl}${OSREL}
|
||||
EXTRA_PATCHES+= ${FILESDIR}/freebsd-format-extensions
|
||||
EXTRA_PATCHES+= ${FILESDIR}/freebsd-format-extensions \
|
||||
${FILESDIR}/freebsd-libdir
|
||||
.endif
|
||||
BU_PREFIX?= ${GCC_TARGET}
|
||||
|
||||
@ -50,9 +51,6 @@ CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
|
||||
ALL_TARGET?= all-gcc
|
||||
INSTALL_TARGET?= install-gcc
|
||||
|
||||
# Force build of a cross compiler even if the target matches the host.
|
||||
CFLAGS+= -DCROSS_DIRECTORY_STRUCTURE
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
|
43
devel/powerpc64-gcc/files/freebsd-libdir
Normal file
43
devel/powerpc64-gcc/files/freebsd-libdir
Normal file
@ -0,0 +1,43 @@
|
||||
diff --git gcc/config/freebsd.h gcc/config/freebsd.h
|
||||
index e7ea42370c5..191e7da2071 100644
|
||||
--- gcc/config/freebsd.h
|
||||
+++ gcc/config/freebsd.h
|
||||
@@ -44,6 +44,9 @@ along with GCC; see the file COPYING3. If not see
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC FBSD_LIB_SPEC
|
||||
|
||||
+#undef STARTFILE_PREFIX_SPEC
|
||||
+#define STARTFILE_PREFIX_SPEC "/usr/lib/ "
|
||||
+
|
||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
|
||||
#endif
|
||||
diff --git gcc/gcc.c gcc/gcc.c
|
||||
index f70755679f4..890ef20fd43 100644
|
||||
--- gcc/gcc.c
|
||||
+++ gcc/gcc.c
|
||||
@@ -4298,10 +4298,12 @@ process_command (unsigned int decoded_options_count,
|
||||
}
|
||||
|
||||
set_std_prefix (gcc_exec_prefix, len);
|
||||
+#if 0
|
||||
add_prefix (&exec_prefixes, gcc_libexec_prefix, "GCC",
|
||||
PREFIX_PRIORITY_LAST, 0, 0);
|
||||
add_prefix (&startfile_prefixes, gcc_exec_prefix, "GCC",
|
||||
PREFIX_PRIORITY_LAST, 0, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* COMPILER_PATH and LIBRARY_PATH have values
|
||||
@@ -4585,9 +4587,11 @@ process_command (unsigned int decoded_options_count,
|
||||
add_prefix (&exec_prefixes,
|
||||
concat (tooldir_prefix, "bin", dir_separator_str, NULL),
|
||||
"BINUTILS", PREFIX_PRIORITY_LAST, 0, 0);
|
||||
+#if 0
|
||||
add_prefix (&startfile_prefixes,
|
||||
concat (tooldir_prefix, "lib", dir_separator_str, NULL),
|
||||
"BINUTILS", PREFIX_PRIORITY_LAST, 0, 1);
|
||||
+#endif
|
||||
free (tooldir_prefix);
|
||||
|
||||
#if defined(TARGET_SYSTEM_ROOT_RELOCATABLE) && !defined(VMS)
|
Loading…
Reference in New Issue
Block a user