git: dc67e7d3009d - main - lang/gcc11: Fix conflict on libgccjit.h and libgccjig++.h

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Thu, 03 Nov 2022 12:29:50 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dc67e7d3009de2b78d96136c8ad09cf186e553df

commit dc67e7d3009de2b78d96136c8ad09cf186e553df
Author:     Lorenzo Salvadore <salvadore@FreeBSD.org>
AuthorDate: 2022-11-02 22:24:57 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2022-11-03 12:29:06 +0000

    lang/gcc11: Fix conflict on libgccjit.h and libgccjig++.h
    
    GCC 11, GCC 12 and GCC 13 install libgccjit.h and libgccjit++.h in the
    same directory.
    
    Fix conflict for GCC 11, which is GCC_DEFAULT, by installing those files
    in a directory specific to GCC 11.
    
    PR:             257060
    Reported by:    Ting-Wei Lan <lantw44@gmail.com>
    Reviewed by:    gerald, dim
    Differential Revision:  https://reviews.freebsd.org/D37242
    See also:       https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101491
---
 lang/gcc11/Makefile                         |  2 +-
 lang/gcc11/files/patch-gcc_Makefile.in      | 19 +++++++++++++++++++
 lang/gcc11/files/patch-gcc_jit_Make-lang.in | 14 ++++++++++++++
 lang/gcc11/pkg-plist                        |  2 --
 4 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/lang/gcc11/Makefile b/lang/gcc11/Makefile
index 50daf6cc11f2..70abb2e30e68 100644
--- a/lang/gcc11/Makefile
+++ b/lang/gcc11/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gcc
 PORTVERSION=	11.3.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	lang
 MASTER_SITES=	GCC
 PKGNAMESUFFIX=	${SUFFIX}
diff --git a/lang/gcc11/files/patch-gcc_Makefile.in b/lang/gcc11/files/patch-gcc_Makefile.in
new file mode 100644
index 000000000000..6d1d926a66ff
--- /dev/null
+++ b/lang/gcc11/files/patch-gcc_Makefile.in
@@ -0,0 +1,19 @@
+--- gcc/Makefile.in.orig	2022-11-02 20:13:34 UTC
++++ gcc/Makefile.in
+@@ -630,6 +630,8 @@ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/
+ 
+ # Directory in which the compiler finds libraries etc.
+ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++# Directory in which the compiler finds headers.
++libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+ # Directory in which the compiler finds executables
+ libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+@@ -3609,6 +3611,7 @@ installdirs:
+ # $(libdir)/gcc/include isn't currently searched by cpp.
+ installdirs:
+ 	$(mkinstalldirs) $(DESTDIR)$(libsubdir)
++	$(mkinstalldirs) $(DESTDIR)$(libsubincludedir)
+ 	$(mkinstalldirs) $(DESTDIR)$(libexecsubdir)
+ 	$(mkinstalldirs) $(DESTDIR)$(bindir)
+ 	$(mkinstalldirs) $(DESTDIR)$(includedir)
diff --git a/lang/gcc11/files/patch-gcc_jit_Make-lang.in b/lang/gcc11/files/patch-gcc_jit_Make-lang.in
new file mode 100644
index 000000000000..85728a1cb0d0
--- /dev/null
+++ b/lang/gcc11/files/patch-gcc_jit_Make-lang.in
@@ -0,0 +1,14 @@
+--- gcc/jit/Make-lang.in.orig	2022-11-02 17:25:43 UTC
++++ gcc/jit/Make-lang.in
+@@ -355,9 +355,9 @@ jit.install-headers: installdirs
+ # Install hooks:
+ jit.install-headers: installdirs
+ 	$(INSTALL_DATA) $(srcdir)/jit/libgccjit.h \
+-	  $(DESTDIR)$(includedir)/libgccjit.h
++	  $(DESTDIR)$(libsubincludedir)/libgccjit.h
+ 	$(INSTALL_DATA) $(srcdir)/jit/libgccjit++.h \
+-	  $(DESTDIR)$(includedir)/libgccjit++.h
++	  $(DESTDIR)$(libsubincludedir)/libgccjit++.h
+ 
+ ifneq (,$(findstring mingw,$(target)))
+ jit.install-common: installdirs jit.install-headers
diff --git a/lang/gcc11/pkg-plist b/lang/gcc11/pkg-plist
index 86cafdfda739..b55927fab0f9 100644
--- a/lang/gcc11/pkg-plist
+++ b/lang/gcc11/pkg-plist
@@ -20,8 +20,6 @@ bin/gcov-tool%%SUFFIX%%
 bin/gdc%%SUFFIX%%
 bin/gfortran%%SUFFIX%%
 bin/lto-dump%%SUFFIX%%
-include/libgccjit++.h
-include/libgccjit.h
 man/man1/cpp%%SUFFIX%%.1.gz
 man/man1/g++%%SUFFIX%%.1.gz
 man/man1/gcc%%SUFFIX%%.1.gz