Added configure option '--with-bfd-objects' to include the object files from the static BFD library into the VT libraries
(it's strongly recommend for RPM builds of OMPI to avoid BFD incompatibilities) This commit was SVN r21383.
Этот коммит содержится в:
родитель
499f0850ae
Коммит
fac893838f
@ -246,4 +246,8 @@
|
||||
- install header files to 'PREFIX/include/vampirtrace' by default to
|
||||
avoid conflicts with the OpenMPI integrated version of VT
|
||||
- fixed faulty searching for matching filter directive
|
||||
- fixed potential BFD incompatibilities when using the automatic
|
||||
compiler instumentation of VT from an OpenMPI RPM package:
|
||||
added configure option '--with-bfd-objects' to include the object
|
||||
files from the static BFD library into the VT libraries
|
||||
|
||||
|
@ -2,6 +2,9 @@ AC_DEFUN([ACVT_BFD],
|
||||
[
|
||||
bfd_error="no"
|
||||
have_bfd="no"
|
||||
have_bfd_objects="no"
|
||||
|
||||
bfd_obj_dir="$top_vt_builddir/vtlib/extobj/libbfd"
|
||||
|
||||
BFDDIR=
|
||||
BFDINCDIR=
|
||||
@ -28,6 +31,9 @@ AC_DEFUN([ACVT_BFD],
|
||||
AC_HELP_STRING([--with-bfd-lib=BFDLIB], [use given bfd lib, default: -lbfd]),
|
||||
[BFDLIB="$withval"])
|
||||
|
||||
AC_ARG_WITH(bfd-objects,
|
||||
AC_HELP_STRING([--with-bfd-objects], [include bfd lib object files into VT libraries, default: no]))
|
||||
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $BFDINCDIR"
|
||||
AC_CHECK_HEADER([bfd.h], [],
|
||||
@ -37,7 +43,21 @@ AC_DEFUN([ACVT_BFD],
|
||||
])
|
||||
CPPFLAGS=$sav_CPPFLAGS
|
||||
|
||||
AS_IF([test x"$BFDLIB" = x -a "$bfd_error" = "no"],
|
||||
AS_IF([test x"$with_bfd_objects" = "xyes" -a x"$BFDLIB" = x -a "$bfd_error" = "no"],
|
||||
[
|
||||
AS_IF([test x"$BFDLIBDIR" != x],
|
||||
[bfdlib_static=`echo $BFDLIBDIR | sed s/\-L//`"libbfd.a"],
|
||||
[bfdlib_static="/usr/lib/libbfd.a"])
|
||||
|
||||
sav_LIBS=$LIBS
|
||||
LIBS="$LIBS $bfdlib_static"
|
||||
AC_MSG_CHECKING([whether linking with $bfdlib_static works])
|
||||
AC_TRY_LINK([],[],
|
||||
[AC_MSG_RESULT([yes]); BFDLIB=$bfdlib_static],[AC_MSG_RESULT([no])])
|
||||
LIBS=$sav_LIBS
|
||||
])
|
||||
|
||||
AS_IF([test x"$with_bfd_objects" != "xyes" -a x"$BFDLIB" = x -a "$bfd_error" = "no"],
|
||||
[
|
||||
sav_LIBS=$LIBS
|
||||
LIBS="$LIBS $BFDLIBDIR -lbfd"
|
||||
@ -53,7 +73,26 @@ AC_DEFUN([ACVT_BFD],
|
||||
bfd_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$BFDLIB" != x -a "$bfd_error" = "no"], [have_bfd="yes"])
|
||||
AS_IF([test x"$with_bfd_objects" = "xyes" -a "$bfd_error" = "no"],
|
||||
[
|
||||
parent_dir=`pwd`
|
||||
mkdir -p "$bfd_obj_dir"
|
||||
cd "$bfd_obj_dir"
|
||||
AC_MSG_NOTICE([extracting $BFDLIB])
|
||||
$AR x $BFDLIB
|
||||
AS_IF([test $? != "0"], [bfd_error="yes"])
|
||||
cd "$parent_dir"
|
||||
|
||||
BFDLIBDIR=
|
||||
BFDLIB=
|
||||
])
|
||||
|
||||
AS_IF([test "$bfd_error" = "no"],
|
||||
[
|
||||
have_bfd="yes"
|
||||
AS_IF([test x"$with_bfd_objects" = "xyes"],
|
||||
[have_bfd_objects="yes"])
|
||||
])
|
||||
|
||||
AC_SUBST(BFDINCDIR)
|
||||
AC_SUBST(BFDLIBDIR)
|
||||
|
@ -128,6 +128,7 @@ AM_CONDITIONAL(AMBUILDCOMPINST_PHAT, test x"$build_compinst_phat" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDCOMPINST_XL, test x"$build_compinst_xl" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDCOMPINST_FTRACE, test x"$build_compinst_ftrace" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVEBFD, test x"$have_bfd" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVEBFDOBJS, test x"$have_bfd" = "xyes" -a x"$have_bfd_objects" = "xyes")
|
||||
|
||||
# Check for binary instrumentation by Dyninst
|
||||
ACVT_CONF_TITLE([Binary instrumentation by Dyninst])
|
||||
|
@ -108,9 +108,15 @@ endif
|
||||
if AMHAVEBFD
|
||||
BFDINCLUDE = $(BFDINCDIR)
|
||||
BFDCFLAGS = -DVT_BFD
|
||||
if AMHAVEBFDOBJS
|
||||
BFDOBJS = extobj/libbfd/*.$(OBJEXT)
|
||||
else
|
||||
BFDOBJS =
|
||||
endif
|
||||
else
|
||||
BFDINCLUDE =
|
||||
BFDCFLAGS =
|
||||
BFDOBJS =
|
||||
endif
|
||||
|
||||
if AMHAVELIBERTY
|
||||
@ -206,25 +212,25 @@ VT_HYB_SOURCES = \
|
||||
CC = $(MPICC)
|
||||
AM_CFLAGS = -DBINDIR=\"$(bindir)\" -DDATADIR=\"$(datadir)\" $(RFGCFLAGS) $(BFDCFLAGS) $(MEMHOOKCFLAGS) $(IOWRAPCFLAGS) $(METRCFLAGS)
|
||||
|
||||
libvt_a_LIBADD = $(top_builddir)/util/util.$(OBJEXT)
|
||||
libvt_a_LIBADD = $(top_builddir)/util/util.$(OBJEXT) $(BFDOBJS)
|
||||
libvt_a_SOURCES = \
|
||||
$(VT_COMMON_SOURCES) \
|
||||
$(OPARILIBDIR)/pomp_fwrapper_base.c
|
||||
|
||||
libvt_mpi_a_CFLAGS = -DVT_MPI $(AM_CFLAGS) $(MPICFLAGS) $(MPIINCDIR)
|
||||
libvt_mpi_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT)
|
||||
libvt_mpi_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT) $(BFDOBJS)
|
||||
libvt_mpi_a_SOURCES = \
|
||||
$(VT_COMMON_SOURCES) \
|
||||
$(VT_MPI_SOURCES)
|
||||
|
||||
libvt_omp_a_CFLAGS = $(OMPFLAG) -DVT_OMP $(AM_CFLAGS)
|
||||
libvt_omp_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT)
|
||||
libvt_omp_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT) $(BFDOBJS)
|
||||
libvt_omp_a_SOURCES = \
|
||||
$(VT_COMMON_SOURCES) \
|
||||
$(VT_OMP_SOURCES)
|
||||
|
||||
libvt_ompi_a_CFLAGS = $(OMPFLAG) -DVT_OMPI $(AM_CFLAGS) $(MPICFLAGS) $(MPIINCDIR)
|
||||
libvt_ompi_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT)
|
||||
libvt_ompi_a_LIBADD = pomp_fwrapper_base.$(OBJEXT) $(top_builddir)/util/util.$(OBJEXT) $(BFDOBJS)
|
||||
libvt_ompi_a_SOURCES = \
|
||||
$(VT_COMMON_SOURCES) \
|
||||
$(VT_HYB_SOURCES)
|
||||
@ -246,3 +252,6 @@ EXTRA_DIST = \
|
||||
vt_pform_origin.c \
|
||||
vt_pform_sun.c
|
||||
|
||||
DISTCLEANFILES = \
|
||||
$(BFDOBJS)
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user