1
1
- configure:
		- patch Makefiles which define library targets that depend on other libraries to prevent the following Libtool warning:
		  "libtool: link: warning: `...//*.la' seems to be moved"
		  (Libtool getting confused by the "//" in the library paths,
		  so remove the trailing '/' from all *LIBDIR variables.)
	- vtwrapper:
		- added options '-vt:showme-<compile|link>' to the compiler wrapper to show the compiler/linker flags that would be supplied to the underlying compiler

This commit was SVN r25105.
Этот коммит содержится в:
Matthias Jurenz 2011-08-29 15:43:17 +00:00
родитель b2971df7df
Коммит f32aab5137
7 изменённых файлов: 2017 добавлений и 1977 удалений

Просмотреть файл

@ -1,4 +1,7 @@
5.11.2openmpi 5.11.2openmpi
- added options '-vt:showme-<compile|link>' to the compiler wrapper
to show the compiler/linker flags that would be supplied to the
underlying compiler
- fixed segmentation fault in vtunify-mpi which might occur during - fixed segmentation fault in vtunify-mpi which might occur during
gathering local marker definitions/spots to master process gathering local marker definitions/spots to master process

Просмотреть файл

@ -450,6 +450,20 @@ AS_IF([test x"$have_mpi" = "xyes"],
ACVT_CONF_TITLE([Final output]) ACVT_CONF_TITLE([Final output])
AC_OUTPUT AC_OUTPUT
# Patch Makefiles which define library targets that depend on other libraries
# to prevent the following Libtool warning:
# "libtool: link: warning: `...//*.la' seems to be moved"
#
# Libtool is getting confused by the "//" in the library paths, so remove the
# trailing '/' from the *LIBDIR variables.
# Actually, this should be done in the *.m4 files where the variables are being
# set, but it's less elaborate at this point. ;-)
makefile_to_patch="vtlib/Makefile tools/vtunify/mpi/Makefile"
for makefile in $makefile_to_patch; do
sed -e "s/^\(.*LIBDIR =.*\)\/$/\1/g" $makefile >$makefile.tmp
mv $makefile.tmp $makefile
done
# Generate MPI wrappers # Generate MPI wrappers
AS_IF([test x"$have_mpi" = "xyes"], AS_IF([test x"$have_mpi" = "xyes"],
[ [

Просмотреть файл

@ -66,7 +66,7 @@ BODY { font-family: sans-serif; }
<P> <P>
<P> <P>
<B><BIG CLASS="XHUGE">VampirTrace 5.11.1&nbsp;User Manual</BIG></B> <B><BIG CLASS="XHUGE">VampirTrace 5.11.2&nbsp;User Manual</BIG></B>
<BR> <BR>
<BR> <BR>
<BR> <BR>

Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf

Двоичный файл не отображается.

Просмотреть файл

@ -162,7 +162,6 @@ LIBS = $(LIBS_FOR_BUILD)
@CROSS_PREFIX@vtwrapper_SOURCES = \ @CROSS_PREFIX@vtwrapper_SOURCES = \
vt_wrapper.cc \ vt_wrapper.cc \
vt_wrapper.h \
$(top_srcdir)/util/installdirs.c \ $(top_srcdir)/util/installdirs.c \
$(top_srcdir)/util/util.c $(top_srcdir)/util/util.c

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,179 +0,0 @@
/**
* VampirTrace
* http://www.tu-dresden.de/zih/vampirtrace
*
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
*
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
* Centre, Federal Republic of Germany
*
* See the file COPYING in the package base directory for details
**/
#ifndef _VT_WRAPPER_H_
#define _VT_WRAPPER_H_
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <string>
#include <vector>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include "vt_inttypes.h"
#include "util/installdirs.h"
// languages types
//
typedef enum { LANG_CC, LANG_CXX, LANG_F77, LANG_F90 } LangTypeT;
// instrumentation types
//
typedef enum { INST_TYPE_COMPINST = 0x1, // auto. instr. by compiler
INST_TYPE_MANUAL = 0x2, // manual instr. by VT API
INST_TYPE_DYNINST = 0x4, // binary instrumentation by Dyninst
INST_TYPE_TAUINST = 0x8 // auto. source code instr. by TAU
} InstTypeT;
//
// Wrapper class
//
class Config;
class Wrapper
{
public:
// contructor
Wrapper();
// destructor
~Wrapper();
bool readDataFile( void );
bool readEnvironmentVars( void );
bool parseCommandLine( int argc, char ** argv );
int run( void );
private:
void showVersion( void );
void showUsageText( void );
int executeOrShowCommand( std::string & cmd );
std::vector<std::string> getIncFilesFromTabFile( void );
Config * m_pConfig;
};
//
// Config class
//
class Config
{
friend class Wrapper;
public:
// contructor
Config();
// destructor
~Config();
bool setLanguage( const LangTypeT lang );
void compiler_setCmd( const std::string cmd );
void compiler_addArg( const std::string arg );
void compiler_addLib( const std::string lib );
void compiler_addSrcFile( const std::string file );
void opari_setRcFile( const std::string file );
void opari_setTabFile( const std::string file );
void opari_addArg( const std::string arg );
void tauinst_addArg( const std::string arg );
void tauinst_addParseArg( const std::string arg );
void setUsesMpi( const bool set, const bool ovwrt = false );
void setUsesThreads( const bool set, const bool ovwrt = false );
void setUsesOpenMP( const bool set, const bool ovwrt = false );
void setInstAvail( const InstTypeT type ) {
m_iInstAvail |= type; }
bool setInstAvail( const std::string type );
bool isInstAvail( InstTypeT type ) {
return (m_iInstAvail & type); }
bool setInstType( const InstTypeT type );
bool setInstType( const std::string type );
protected:
std::string m_sVT_Version; // VT version
std::string m_sVT_IncDir; // VT's include directory
std::string m_sVT_LibDir; // VT's library directory
std::string m_sVT_SeqLib; // VT-library for sequential programs
std::string m_sVT_MpiLib; // VT-library for MPI programs
std::string m_sVT_MtLib; // VT-library for multithreading programs
std::string m_sVT_HybLib; // VT-library for hybrid (MPI/Threads)
// programs
std::string m_sVT_PompLib; // VT's POMP library
std::string m_sVT_DynAttLib; // VT's Dyninst attach library
std::string m_sComp_CmdEnv; // compiler command env. name
std::string m_sComp_FlagsEnv; // compiler flags env. name
std::string m_sComp_Cmd; // compiler command
std::string m_sComp_Args; // compiler arguments
std::string m_sComp_Flags; // compiler flags
std::string m_sComp_LdFlags; // linker flags
std::string m_sComp_FDFlag; // flag to define preprocessor macro
std::string m_sComp_InstFlags; // compiler instrumentation flags
std::string m_sComp_Libs; // libraries to link
std::vector<std::string>
m_vecComp_SrcFiles; // compiler input source files
std::vector<std::string>
m_vecComp_ObjFiles; // compiler output object files
std::string m_sOpari_Cmd; // OPARI command
std::string m_sOpari_Args; // OPARI arguments
std::string m_sOpari_RcFile; // OPARI's rc file
std::pair<std::string, std::string>
m_sOpari_TabFile; // OPARI's table source file
std::string m_sOpari_TabCompCmd; // compiler command for OPARI's table file
std::string m_sOpari_TabCompFlags; // compiler flags for OPARI's table file
std::string m_sCompInst_Flags; // compiler flags to enable instrumentation
std::string m_sDynInst_Flags; // compiler flags to produce debugging information
// (needed for binary instrumentation by Dyninst)
std::string m_sTauInst_Cmd; // TAU instrumentor command
std::string m_sTauInst_Args; // TAU instrumentor arguments
std::string m_sTauInst_ParseCmd; // PDT source code parser command
std::string m_sTauInst_ParseArgs; // PDT parser arguments
LangTypeT m_eLangType; // language type
InstTypeT m_eInstType; // instrumentation type
// (e.g. compinst,manual,...)
int m_iInstAvail; // bitmask for available instr.-types
bool m_bBeVerbose; // FLAG: be verbose ?
bool m_bCompOnly; // FLAG: compile only ?
bool m_bOutfileGiven; // FLAG: output file given ?
bool m_bUsesMpi; // FLAG: uses MPI ?
bool m_bUsesThreads; // FLAG: uses Threads ?
bool m_bUsesOpenMP; // FLAG: uses OpenMP ? (use OPARI)
bool m_bKeepOpariRcFile; // FLAG: don't delete OPARI's rc file ?
bool m_bShow; // FLAG: show compiler/linker flags ?
};
#endif // _VT_WRAPPER_H_