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,
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)
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.
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
--- /dev/null
+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'` >> $@
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
--- /dev/null
+omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.c
+ echo kind: gpu > $@
+ echo arch: nvptx >> $@
+ echo isa: sm_30 sm_35 >> $@
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
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
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
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
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
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