On Wed, Jul 08, 2015 at 16:16:44 +0200, Thomas Schwinge wrote:
> > --- /dev/null
> > +++ b/liboffloadmic/plugin/Makefile.am
> > @@ -0,0 +1,123 @@
> > +# Plugin for offload execution on Intel MIC devices.
>
> > +main_target_image.h: offload_target_main
> > + @echo -n "const int image_size = " > $@
> > + @stat -c '%s' $< >> $@
> > + @echo ";" >> $@
> > + @echo "struct MainTargetImage {" >> $@
> > + @echo " int64_t size;" >> $@
> > + @echo " char name[sizeof \"offload_target_main\"];" >> $@
> > + @echo " char data[image_size];" >> $@
> > + @echo "};" >> $@
> > + @echo "extern \"C\" const MainTargetImage main_target_image = {" >> $@
> > + @echo " image_size, \"offload_target_main\"," >> $@
> > + @cat $< | xxd -include >> $@
> > + @echo "};" >> $@
> > +
> > +offload_target_main: $(liboffload_dir)/ofldbegin.o offload_target_main.o
> > $(liboffload_dir)/ofldend.o
> > + $(CXX) $(AM_LDFLAGS) $^ -o $@
> > +
> > +offload_target_main.o: offload_target_main.cpp
> > + $(CXX) $(AM_CXXFLAGS) $(AM_CPPFLAGS) -c $< -o $@
>
> Here, I note that the xxd tool is being used, which in my distribution is
> part of the Vim editor's package, which -- as far as I know -- is not
> currently declared as a build dependency of GCC?
We have a patch, which checks for xxd availability, is it ok for trunk?
2015-07-23 Maxim Blumenthal <[email protected]>
* configure.ac: Add a check for xxd presence when the target is
intelmic or intelmicemul.
* configure: Regenerate.
diff --git a/configure b/configure
index 5ba9489..bd8fed8 100755
--- a/configure
+++ b/configure
[regenerate]
diff --git a/configure.ac b/configure.ac
index 2ff9be0..63eebfc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -494,6 +494,17 @@ else
fi])
AC_SUBST(extra_liboffloadmic_configure_flags)
+# Check if xxd is present in the system
+# when the target is intelmic or intelmicemul.
+case "${target}" in
+ *-intelmic-* | *-intelmicemul-*)
+ AC_CHECK_PROG(xxd_present, xxd, "yes", "no")
+ if test "$xxd_present" = "no"; then
+ AC_MSG_ERROR([cannot find xxd])
+ fi
+ ;;
+esac
+
# Save it here so that, even in case of --enable-libgcj, if the Java
# front-end isn't enabled, we still get libgcj disabled.
libgcj_saved=$libgcj
-- Ilya