re PR bootstrap/92314 (missing omp-device-properties', needed by 's-omp-device-proper...
authorJakub Jelinek <jakub@redhat.com>
Fri, 1 Nov 2019 23:34:21 +0000 (00:34 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 1 Nov 2019 23:34:21 +0000 (00:34 +0100)
PR bootstrap/92314
* configure.ac: Don't look for omp-device-properties files from
installed offloading compilers.  Instead add tmake_file snippets
for configured offloading targets and use files they generate.
* Makefile.in (install): Don't depend on
install-omp-device-properties.
(install-omp-device-properties): Remove goal.
* config/i386/t-omp-device: New file.
* config/i386/t-intelmic (omp-device-properties): Remove goal.
* config/nvptx/t-omp-device: New file.
* config/nvptx/t-nvptx (omp-device-properties): Remove goal.
* configure: Regenerated.

From-SVN: r277735

gcc/ChangeLog
gcc/Makefile.in
gcc/config/i386/t-intelmic
gcc/config/i386/t-omp-device [new file with mode: 0644]
gcc/config/nvptx/t-nvptx
gcc/config/nvptx/t-omp-device [new file with mode: 0644]
gcc/configure
gcc/configure.ac

index 17beb66d25655ba414fef78368e3649fb89ed381..511ae542ae847c651343c1f2ea557e8170fe5c82 100644 (file)
@@ -1,5 +1,18 @@
 2019-11-02  Jakub Jelinek  <jakub@redhat.com>
 
+       PR bootstrap/92314
+       * configure.ac: Don't look for omp-device-properties files from
+       installed offloading compilers.  Instead add tmake_file snippets
+       for configured offloading targets and use files they generate.
+       * Makefile.in (install): Don't depend on
+       install-omp-device-properties.
+       (install-omp-device-properties): Remove goal.
+       * config/i386/t-omp-device: New file.
+       * config/i386/t-intelmic (omp-device-properties): Remove goal.
+       * config/nvptx/t-omp-device: New file.
+       * config/nvptx/t-nvptx (omp-device-properties): Remove goal.
+       * configure: Regenerated.
+
        * omp-general.h (omp_context_selector_set_compare): Declare.
        * omp-general.c (omp_construct_simd_compare,
        omp_context_selector_props_compare, omp_context_selector_set_compare,
index 551674b0d39fe66a488f99ac26a63119f24c0c61..035b58f50c0d51623a7ef21989da48124a4c9b41 100644 (file)
@@ -3476,10 +3476,6 @@ ifeq ($(enable_plugin),yes)
 install: install-plugin
 endif
 
-ifeq ($(enable_as_accelerator),yes)
-install: install-omp-device-properties
-endif
-
 install-strip: override INSTALL_PROGRAM = $(INSTALL_STRIP_PROGRAM)
 ifneq ($(STRIP),)
 install-strip: STRIPPROG = $(STRIP)
@@ -3665,11 +3661,6 @@ install-driver: installdirs xgcc$(exeext)
          fi; \
        fi
 
-# Install omp-device-properties file for accelerator compilers.
-install-omp-device-properties: omp-device-properties installdirs
-       $(INSTALL_DATA) omp-device-properties \
-         $(DESTDIR)$(libsubdir)/omp-device-properties
-
 # Install the info files.
 # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
 # to do the install.
index 58f166803bf86e872313fd894848603e5e8efa88..9de4b76e3109ff3ad4e638a3da11780097d20785 100644 (file)
@@ -8,10 +8,3 @@ ALL_HOST_OBJS += mkoffload.o
 mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBDEPS)
        $(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
          mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBS)
-
-omp-device-properties: $(srcdir)/config/i386/i386-options.c
-       echo kind: cpu > omp-device-properties
-       echo arch: x86 x86_64 i386 i486 i586 i686 ia32 >> omp-device-properties
-       echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
-         $(srcdir)/config/i386/i386-options.c | \
-         sed -n 's/",.*$$//;s/\./_/;s/^  { "-m//p'` >> omp-device-properties
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
new file mode 100644 (file)
index 0000000..26de162
--- /dev/null
@@ -0,0 +1,6 @@
+omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
+       echo kind: cpu > $@
+       echo arch: x86 x86_64 i386 i486 i586 i686 ia32 >> $@
+       echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
+         $(srcdir)/config/i386/i386-options.c | \
+         sed -n 's/",.*$$//;s/\./_/;s/^  { "-m//p'` >> $@
index d692594a3773537a9f43acd8a39c6b0665d5d15c..6c1010ddd661588802370acaf9102ab1dfe94585 100644 (file)
@@ -10,8 +10,3 @@ mkoffload$(exeext): mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY)
          mkoffload.o collect-utils.o libcommon-target.a $(LIBIBERTY) $(LIBS)
 
 MULTILIB_OPTIONS = mgomp
-
-omp-device-properties: $(srcdir)/config/nvptx/nvptx.c
-       echo kind: gpu > omp-device-properties
-       echo arch: nvptx >> omp-device-properties
-       echo isa: sm_30 sm_35 >> omp-device-properties
diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device
new file mode 100644 (file)
index 0000000..6d03b43
--- /dev/null
@@ -0,0 +1,4 @@
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+       echo kind: gpu > $@
+       echo arch: nvptx >> $@
+       echo isa: sm_30 sm_35 >> $@
index 13935222228ad5969b8e12cbbcc2b1d80439a100..5794582bdd54659671fcea4b202b96c0ad34bd18 100755 (executable)
@@ -7881,18 +7881,22 @@ fi
 
 
 for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do
-  tgt_dir=`echo $tgt | sed -n 's/.*=//p'`
   tgt=`echo $tgt | sed 's/=.*//'`
 
   if echo "$tgt" | grep "^hsa" > /dev/null ; then
     enable_hsa=1
   else
     enable_offloading=1
-    if test -n "$tgt_dir"; then
-      omp_device_property="${tgt_dir}/lib/gcc/\$(real_target_noncanonical)/\$(version)/accel/${tgt}/omp-device-properties"
-    else
-      omp_device_property="\$(libsubdir)/accel/${tgt}/omp-device-properties"
-    fi
+    case "$tgt" in
+      *-intelmicemul-*)
+       omp_device_property=omp-device-properties-i386
+       omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/i386/t-omp-device"
+       ;;
+      nvptx*-*)
+       omp_device_property=omp-device-properties-nvptx
+       omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/nvptx/t-omp-device"
+       ;;
+    esac
     omp_device_properties="${omp_device_properties} ${tgt}=${omp_device_property}"
     omp_device_property_deps="${omp_device_property_deps} ${omp_device_property}"
   fi
@@ -12536,7 +12540,7 @@ do
                tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
        fi
 done
-tmake_file="${tmake_file_}"
+tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
 
 out_object_file=`basename $out_file .c`.o
 common_out_object_file=`basename $common_out_file .c`.o
@@ -18864,7 +18868,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18867 "configure"
+#line 18871 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18970,7 +18974,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18973 "configure"
+#line 18977 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
index 695e994ec9fe4175867230546ff28259ef752006..8df849f485864500426848f66d5382cc0adb93a6 100644 (file)
@@ -1026,18 +1026,22 @@ AC_SUBST(real_target_noncanonical)
 AC_SUBST(accel_dir_suffix)
 
 for tgt in `echo $enable_offload_targets | sed 's/,/ /g'`; do
-  tgt_dir=`echo $tgt | sed -n 's/.*=//p'`
   tgt=`echo $tgt | sed 's/=.*//'`
 
   if echo "$tgt" | grep "^hsa" > /dev/null ; then
     enable_hsa=1
   else
     enable_offloading=1
-    if test -n "$tgt_dir"; then
-      omp_device_property="${tgt_dir}/lib/gcc/\$(real_target_noncanonical)/\$(version)/accel/${tgt}/omp-device-properties"
-    else
-      omp_device_property="\$(libsubdir)/accel/${tgt}/omp-device-properties"
-    fi
+    case "$tgt" in
+      *-intelmicemul-*)
+       omp_device_property=omp-device-properties-i386
+       omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/i386/t-omp-device"
+       ;;
+      nvptx*-*)
+       omp_device_property=omp-device-properties-nvptx
+       omp_device_property_tmake_file="${omp_device_property_tmake_file} \$(srcdir)/config/nvptx/t-omp-device"
+       ;;
+    esac
     omp_device_properties="${omp_device_properties} ${tgt}=${omp_device_property}"
     omp_device_property_deps="${omp_device_property_deps} ${omp_device_property}"
   fi
@@ -2065,7 +2069,7 @@ do
                tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
        fi
 done
-tmake_file="${tmake_file_}"
+tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
 
 out_object_file=`basename $out_file .c`.o
 common_out_object_file=`basename $common_out_file .c`.o