From dd8d6dfe799a66185fbcd5fe074cffa04d45e275 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Wed, 15 Feb 2006 08:46:39 +0100
Subject: [PATCH] re PR libgomp/25938 (libgomp installs header files in version
 and target independent location)

	PR libgomp/25938
	PR libgomp/25984
fortran/
	* Make-lang.in (install-finclude-dir): New goal.
	(fortran.install-common): Depend on install-finclude-dir.
	* lang-specs.h: If not -nostdinc, add -I finclude.
libgomp/
	* Makefile.am (fincludedir): New variable.
	(nodist_include_HEADERS): Remove Fortran files.
	(nodist_finclude_HEADERS): New variable.
	* Makefile.in: Regenerated.

From-SVN: r111018
---
 gcc/fortran/ChangeLog    |  8 ++++++++
 gcc/fortran/Make-lang.in |  7 ++++++-
 gcc/fortran/lang-specs.h |  8 ++++----
 libgomp/ChangeLog        |  9 +++++++++
 libgomp/Makefile.am      |  6 ++++--
 libgomp/Makefile.in      | 41 +++++++++++++++++++++++++++++++---------
 6 files changed, 63 insertions(+), 16 deletions(-)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 4cff233a4e93..5c6a3f73817e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/25938
+	PR libgomp/25984
+	* Make-lang.in (install-finclude-dir): New goal.
+	(fortran.install-common): Depend on install-finclude-dir.
+	* lang-specs.h: If not -nostdinc, add -I finclude.
+
 2006-02-14  Thomas Koenig  <Thomas.Koenig@online.de>
 
         PR fortran/25045
diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in
index 74af449756ca..3c704eb34b06 100644
--- a/gcc/fortran/Make-lang.in
+++ b/gcc/fortran/Make-lang.in
@@ -172,13 +172,18 @@ $(htmldir)/gfortran/index.html: $(GFORTRAN_TEXI)
 gfortran.pod: $(GFORTRAN_TEXI)
 	-$(TEXI2POD) < $(srcdir)/fortran/invoke.texi > $@
 
+# Create or recreate the gfortran private include file directory.
+install-finclude-dir: installdirs
+	-rm -rf $(DESTDIR)$(libsubdir)/finclude
+	mkdir $(DESTDIR)$(libsubdir)/finclude
+	-chmod a+rx $(DESTDIR)$(libsubdir)/finclude
 #
 # Install hooks:
 # f951 is installed elsewhere as part of $(COMPILERS).
 
 # Install the driver program as $(target)-gfortran
 # and also as either gfortran (if native) or $(tooldir)/bin/gfortran.
-fortran.install-common: installdirs
+fortran.install-common: install-finclude-dir installdirs
 	-if [ -f f951$(exeext) ] ; then \
 	  rm -f $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
 	  $(INSTALL_PROGRAM) gfortran$(exeext) $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
diff --git a/gcc/fortran/lang-specs.h b/gcc/fortran/lang-specs.h
index eac5caa41c74..55c4d1ea19a2 100644
--- a/gcc/fortran/lang-specs.h
+++ b/gcc/fortran/lang-specs.h
@@ -15,7 +15,7 @@ This file is licensed under the GPL.  */
       %{E|M|MM:%(cpp_debug_options)}\
       %{!M:%{!MM:%{!E: -o %|.f |\n\
     f951 %|.f %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\
-      -fpreprocessed %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+      -fpreprocessed %{!nostdinc:-I finclude%s} %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
 {".F90", "@f95-cpp-input", 0, 0, 0},
 {".F95", "@f95-cpp-input", 0, 0, 0},
 {"@f95-cpp-input",
@@ -23,13 +23,13 @@ This file is licensed under the GPL.  */
       %{E|M|MM:%(cpp_debug_options)}\
       %{!M:%{!MM:%{!E: -o %|.f95 |\n\
     f951 %|.f95 %(cc1_options) %{J*} %{I*}\
-      -fpreprocessed %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+      -fpreprocessed %{!nostdinc:-I finclude%s} %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
 {".f90", "@f95", 0, 0, 0},
 {".f95", "@f95", 0, 0, 0},
 {"@f95", "%{!E:f951 %i %(cc1_options) %{J*} %{I*}\
-         %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
+         %{!nostdinc:-I finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
 {".f",   "@f77", 0, 0, 0},
 {".for", "@f77", 0, 0, 0},
 {".FOR", "@f77", 0, 0, 0},
 {"@f77", "%{!E:f951 %i %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\
-         %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
+         %{!nostdinc:-I finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index fd21de23a529..58c98d476cf3 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,12 @@
+2006-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/25938
+	PR libgomp/25984
+	* Makefile.am (fincludedir): New variable.
+	(nodist_include_HEADERS): Remove Fortran files.
+	(nodist_finclude_HEADERS): New variable.
+	* Makefile.in: Regenerated.
+
 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
 
 	* testsuite/libgomp.fortran/vla7.f90: Add -w to options.
diff --git a/libgomp/Makefile.am b/libgomp/Makefile.am
index 55f937303752..e4c5389e62d0 100644
--- a/libgomp/Makefile.am
+++ b/libgomp/Makefile.am
@@ -9,6 +9,8 @@ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 config_path = @config_path@
 search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
 
+fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
+
 empty =
 space = $(empty) $(empty)
 VPATH = $(subst $(space),:,$(strip $(search_path)))
@@ -33,9 +35,9 @@ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
 	lock.c mutex.c proc.c sem.c bar.c time.c fortran.c
 
 nodist_noinst_HEADERS = libgomp_f.h
-nodist_include_HEADERS = omp.h omp_lib.h omp_lib.f90
+nodist_include_HEADERS = omp.h
 if USE_FORTRAN
-nodist_include_HEADERS += omp_lib.mod omp_lib_kinds.mod
+nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod
 endif
 
 omp_lib_kinds.mod: omp_lib.mod
diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in
index e607c5a19ad4..3ddc85445d27 100644
--- a/libgomp/Makefile.in
+++ b/libgomp/Makefile.in
@@ -39,7 +39,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@USE_FORTRAN_TRUE@am__append_1 = omp_lib.mod omp_lib_kinds.mod
 DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
 	$(srcdir)/../config.sub $(srcdir)/../depcomp \
 	$(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
@@ -70,7 +69,8 @@ am__vpath_adj = case $$p in \
   esac;
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
-	"$(DESTDIR)$(includedir)" "$(DESTDIR)$(toolexeclibdir)"
+	"$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(includedir)" \
+	"$(DESTDIR)$(toolexeclibdir)"
 toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
 libgomp_la_LIBADD =
@@ -104,10 +104,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-recursive installcheck-recursive installdirs-recursive \
 	pdf-recursive ps-recursive uninstall-info-recursive \
 	uninstall-recursive
+nodist_fincludeHEADERS_INSTALL = $(INSTALL_HEADER)
 nodist_includeHEADERS_INSTALL = $(INSTALL_HEADER)
 nodist_toolexeclibHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(nodist_include_HEADERS) $(nodist_noinst_HEADERS) \
-	$(nodist_toolexeclib_HEADERS)
+HEADERS = $(nodist_finclude_HEADERS) $(nodist_include_HEADERS) \
+	$(nodist_noinst_HEADERS) $(nodist_toolexeclib_HEADERS)
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -245,6 +246,7 @@ ACLOCAL_AMFLAGS = -I ../config
 SUBDIRS = testsuite
 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
+fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
 empty = 
 space = $(empty) $(empty)
 AM_CPPFLAGS = $(addprefix -I, $(search_path))
@@ -261,7 +263,8 @@ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
 	lock.c mutex.c proc.c sem.c bar.c time.c fortran.c
 
 nodist_noinst_HEADERS = libgomp_f.h
-nodist_include_HEADERS = omp.h omp_lib.h omp_lib.f90 $(am__append_1)
+nodist_include_HEADERS = omp.h
+@USE_FORTRAN_TRUE@nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -431,6 +434,23 @@ distclean-multi:
 maintainer-clean-multi:
 	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
 uninstall-info-am:
+install-nodist_fincludeHEADERS: $(nodist_finclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(fincludedir)" || $(mkdir_p) "$(DESTDIR)$(fincludedir)"
+	@list='$(nodist_finclude_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(nodist_fincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(fincludedir)/$$f'"; \
+	  $(nodist_fincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(fincludedir)/$$f"; \
+	done
+
+uninstall-nodist_fincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(nodist_finclude_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(fincludedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(fincludedir)/$$f"; \
+	done
 install-nodist_includeHEADERS: $(nodist_include_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
@@ -745,7 +765,7 @@ check: check-recursive
 all-am: Makefile $(LTLIBRARIES) all-multi $(HEADERS) config.h
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(toolexeclibdir)"; do \
+	for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(toolexeclibdir)"; do \
 	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
 	done
 install: install-recursive
@@ -794,7 +814,8 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-nodist_includeHEADERS
+install-data-am: install-nodist_fincludeHEADERS \
+	install-nodist_includeHEADERS
 
 install-exec-am: install-multi install-nodist_toolexeclibHEADERS \
 	install-toolexeclibLTLIBRARIES
@@ -825,7 +846,8 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-info-am uninstall-nodist_includeHEADERS \
+uninstall-am: uninstall-info-am uninstall-nodist_fincludeHEADERS \
+	uninstall-nodist_includeHEADERS \
 	uninstall-nodist_toolexeclibHEADERS \
 	uninstall-toolexeclibLTLIBRARIES
 
@@ -842,7 +864,7 @@ uninstall-info: uninstall-info-recursive
 	html-am info info-am install install-am install-data \
 	install-data-am install-exec install-exec-am install-info \
 	install-info-am install-man install-multi \
-	install-nodist_includeHEADERS \
+	install-nodist_fincludeHEADERS install-nodist_includeHEADERS \
 	install-nodist_toolexeclibHEADERS install-strip \
 	install-toolexeclibLTLIBRARIES installcheck installcheck-am \
 	installdirs installdirs-am maintainer-clean \
@@ -851,6 +873,7 @@ uninstall-info: uninstall-info-recursive
 	mostlyclean-generic mostlyclean-libtool mostlyclean-multi \
 	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
 	uninstall uninstall-am uninstall-info-am \
+	uninstall-nodist_fincludeHEADERS \
 	uninstall-nodist_includeHEADERS \
 	uninstall-nodist_toolexeclibHEADERS \
 	uninstall-toolexeclibLTLIBRARIES
-- 
GitLab