diff --git a/Makefile.skel b/Makefile.skel index 335fec40b..1cd6f57ef 100644 --- a/Makefile.skel +++ b/Makefile.skel @@ -100,7 +100,7 @@ PTHREAD_WRAPPER=src/wrappers/pthread #ENDIF##TAU_PTHREAD_WRAP# # Subdirectories to make resursively SUBDIR = $(TRACEINPUT) $(BASIC) $(PCXX) $(HPCXX) $(ANSIC) $(VTFCONVERTER) \ - $(ELGCONVERTER) $(TRACE2PROFILE) $(IOWRAPPER) $(TAUPRELOAD) \ + $(ELGCONVERTER) $(IOWRAPPER) $(TAUPRELOAD) \ $(MEMORYWRAPPER) $(TAUCUDA) $(TAU_CUPTI_AVAIL) $(TAUOPENCL) \ $(GPIWRAPPER) $(ARMCIWRAPPER) $(DMAPPWRAPPER) $(UPCWRAPPER) \ $(PTHREAD_WRAPPER) $(GOMP_WRAPPER) diff --git a/android.binutils-2.23.2.patch b/android.binutils-2.23.2.patch new file mode 100644 index 000000000..ead586fb3 --- /dev/null +++ b/android.binutils-2.23.2.patch @@ -0,0 +1,34 @@ +diff -u -r binutils-2.23.2/libiberty/getpagesize.c binutils-2.23.2-patched/libiberty/getpagesize.c +--- binutils-2.23.2/libiberty/getpagesize.c 2005-03-27 18:09:01.000000000 -0800 ++++ binutils-2.23.2-patched/libiberty/getpagesize.c 2013-07-08 11:39:27.314956014 -0700 +@@ -60,11 +60,14 @@ + # endif /* PAGESIZE */ + #endif /* GNU_OUR_PAGESIZE */ + ++/* BIONIC has getpagesize() defined in */ ++#ifndef __BIONIC__ + int + getpagesize (void) + { + return (GNU_OUR_PAGESIZE); + } ++#endif /* __BIONIC__ */ + + #else /* VMS */ + +@@ -76,6 +79,8 @@ + #endif + extern unsigned long lib$getsyi(const unsigned short *,...); + ++/* BIONIC has getpagesize() defined in */ ++#ifndef __BIONIC__ + int getpagesize (void) + { + long pagsiz = 0L; +@@ -86,5 +91,6 @@ + pagsiz = 512L; /* VAX default */ + return (int) pagsiz; + } ++#endif /* __BIONIC__ */ + + #endif /* VMS */ diff --git a/configure b/configure index 6d460432c..ae4155f6c 100755 --- a/configure +++ b/configure @@ -293,6 +293,8 @@ for arg in "$@"; do echo " gfortran|gfortran4]" echo "-upc= ............................. specify the UPC compiler." echo " options [upc|gcc(GNU UPC) |upcc (Berkeley UPC) | cc (Cray CCE UPC)" + echo "-host=..................the type of system on which TAU runs" + echo "-hostutils..............................build TAU utils for " echo "-pdt= ........ Specify location of PDT (Program Database Toolkit)." echo "-pdt_c++= ............ specify a different PDT C++ compiler." echo " options [CC|KCC|g++|*xlC*|cxx|pgCC|pgcpp|FCC|guidec++|aCC|c++|ecpc|" @@ -304,7 +306,8 @@ for arg in "$@"; do echo "-exec-prefix= .......... Specify a target architecture directory." echo "-arch= ................... Specify a target architecture." echo " options [xt3|craycnl|bgp|bgq|bgl|ibm64|ibm64linux|sunx86_64" - echo " crayxmt|solaris2-64|mips32|sgin32|sgi64|sgio32]" + echo " crayxmt|solaris2-64|mips32|sgin32|sgi64|sgio32" + echo " arm_linux|arm_android]" echo "-bfd= ............ Specify a BFD directory or download." echo "" echo "MPI Options:" @@ -421,6 +424,10 @@ for arg in "$@"; do echo " gfortran|gfortran4]" echo "-upc= ............................. specify the UPC compiler." echo " options [upc|gcc(GNU UPC) |upcc (Berkeley UPC) | cc (Cray CCE UPC)" + echo "-host=..................the type of system on which TAU runs" + echo " this is used for cross-compilation" + echo "-hostutils..............................build TAU utils for " + echo " this is used for cross-compilation" echo "-pdt= ........ Specify location of PDT (Program Database Toolkit)." echo "-pdt_c++= ............ specify a different PDT C++ compiler." echo " options [CC|KCC|g++|*xlC*|cxx|pgCC|pgcpp|FCC|guidec++|aCC|c++|ecpc|" @@ -433,7 +440,8 @@ for arg in "$@"; do echo "-exec-prefix= .......... Specify a target architecture directory." echo "-arch= ................... Specify a target architecture." echo " options [xt3|craycnl|bgp|bgq|bgl|ibm64|ibm64linux|sunx86_64" - echo " crayxmt|solaris2-64|mips32|sgin32|sgi64|sgio32]" + echo " crayxmt|solaris2-64|mips32|sgin32|sgi64|sgio32" + echo " arm_linux|arm_android]" echo "-iowrapper .................................... Build POSIX IO Wrapper." echo "-pthread .................................. Use pthread thread package." echo "-papithread .................................. Use PAPI thread package." @@ -610,7 +618,7 @@ if [ "$usingbash" = "yes" ] ; then else modmodargs=`echo "x$modargs" | sed -e 's/^x//' -e 's#\\\#\\\\\\\\\\\#g'` fi -cp include/tau_config.h.default include/tau_config.h + echo "#define TAU_CONFIG \"$modmodargs\"" > include/tau_config.h START_DIR=`pwd` @@ -722,6 +730,8 @@ papiwallclock=no papivirtual=no use_ansic=no tauarch=unknown +host= +host_prefix= pdtcompdir= pdtarchdir=unknown tauprefix=unknown @@ -809,9 +819,6 @@ cuda=no cupti=no strsignal_ok=no -# Reset include/Makefile before starting anything else -sed -f utils/FixMakefile.sed.default < include/Makefile.skel > include/Makefile - restore_perfdmf_and_paraprof @@ -1878,6 +1885,18 @@ for arg in "$@"; do fi ;; + -host=*) + host=`echo $arg | sed -e 's/-host=//' -e 's/ /_/g'` + host_prefix=${host}- + fixmakeargs="$fixmakeargs host=$host" + shift + ;; + + -hostutils) + fixmakeargs="$fixmakeargs HOSTUTILS" + shift + ;; + -pdtcompdir=*) pdtcompdir=`echo $arg | sed -e 's/-pdtcompdir=//' -e 's/ /_/g'` shift @@ -2391,16 +2410,13 @@ if [ "x$detectarch" = "x" ] ; then fi -if [ "$tauarch" = "i386_linux" -o "$tauarch" = "i386_solaris" -o "$tauarch" = "mpis32" -o "$tauarch" = "ppc64" ]; then +if [ "$tauarch" = "i386_linux" -o "$tauarch" = "i386_solaris" -o "$tauarch" = "arm_android" -o "$tauarch" = "arm_linux" -o "$tauarch" = "mpis32" -o "$tauarch" = "ppc64" ]; then fixmakeargs="$fixmakeargs arch_width=32bit" else fixmakeargs="$fixmakeargs arch_width=64bit" fi - - - ############################################################### # if there are no arguments, GUESS at system configuration if [ $tauarch = unknown -o $tauarch = none ] @@ -3309,7 +3325,7 @@ case $cxx_compiler in *g++) echo "Default C++ compiler will be " \ - `gcc -v 2>&1 | tail -1 | sed 's/gcc/g++/g'` + `$cxx_compiler -v 2>&1 | tail -1` gnu=yes # No fixmakeargs needed because it is the default ;; @@ -3890,8 +3906,8 @@ esac # Encode the full path of the C++/C compiler in the stub Makefile if [ "x$full_cxx_compiler" = "x" ] then - full_cxx_compiler=`which $cxx_compiler` - full_cc_compiler=`which $c_compiler` + full_cxx_compiler=`which $host_prefix$cxx_compiler` + full_cc_compiler=`which $host_prefix$c_compiler` if [ $fujitsu = yes ] then # Fujitsu does not want full path to point to the absolute paths due to @@ -4860,9 +4876,9 @@ then then tauoptions="${tauoptions}-gnu" fi - taugcclibdir=`$c_compiler -print-libgcc-file-name | sed -e 's,[^/]*$,,'` + taugcclibdir=`$host_prefix$c_compiler -print-libgcc-file-name | sed -e 's,[^/]*$,,'` echo "Using GNU lib dir as $taugcclibdir" - taugccstdcxxlibdir=`$c_compiler -print-file-name=libstdc++.a | sed -e 's,[^/]*$,,'` + taugccstdcxxlibdir=`$host_prefix$c_compiler -print-file-name=libstdc++.a | sed -e 's,[^/]*$,,'` echo "Using GNU stdc++ lib dir as $taugccstdcxxlibdir" fixmakeargs="$fixmakeargs taugcclibdir=$taugcclibdir taugccstdcxxlibdir=$taugccstdcxxlibdir" fi @@ -4879,7 +4895,7 @@ cat << EOF > gccAuditorTest.c #endif EOF -$c_compiler $orig_useropt -c gccAuditorTest.c 1> /dev/null 2>&1 +$host_prefix$c_compiler $orig_useropt -c gccAuditorTest.c 1> /dev/null 2>&1 if [ "$?" = "1" ] then echo "LD AUDITOR unavailable, disabling" @@ -5255,7 +5271,18 @@ case $machine in arm_linux) echo Found a \"$machine\" configuration definition - fixmakeargs="arch=$machine ARMLINUXPAPI $fixmakeargs" + fixmakeargs="arch=$machine $fixmakeargs" + if [ $papi = yes ] ; then + fixmakeargs="ARMLINUXPAPI $fixmakeargs" + fi + ;; + + arm_android) + echo Found a \"$machine\" configuration definition + fixmakeargs="arch=$machine ANDROID $fixmakeargs" + if [ $papi = yes ] ; then + fixmakeargs="ARMLINUXPAPI $fixmakeargs" + fi ;; unknown) @@ -6328,6 +6355,10 @@ if [ "x$bfd" = "xyes" -a ! "$turnbfdoff" = yes ] ; then elif [ $machine = "rs6000" -o $machine = "ibm64" ]; then ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --prefix=$bfddir --disable-nls --disable-werror --disable-largefile make && make install + elif [ $machine = "arm_android" ]; then + patch -p1 <$START_DIR/android.binutils-2.23.2.patch + ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --prefix=$bfddir --disable-nls --disable-werror --disable-largefile --host=$host + make && make install else ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --prefix=$bfddir --disable-nls --disable-werror make && make install @@ -6585,7 +6616,7 @@ int main() { } EOF $echo "Checking for librt linkage support ... ${nnl}" -if $cxx_compiler $orig_useropt -o conftest_rt_link_test conftest_rt_link_test.cpp -lrt 1> /dev/null 2>&1 ; then +if $host_prefix$cxx_compiler $orig_useropt -o conftest_rt_link_test conftest_rt_link_test.cpp -lrt 1> /dev/null 2>&1 ; then tau_links_rt=yes fixmakeargs="$fixmakeargs TAU_LINKS_RT" echo "yes" diff --git a/include/Makefile.skel b/include/Makefile.skel index b15118501..dae1334c0 100644 --- a/include/Makefile.skel +++ b/include/Makefile.skel @@ -37,6 +37,9 @@ TAU_CXX_FE=$(CONFIG_CXX) TAU_CUDA_CXX=g++ +# Name prefix for cross compiler. E.g. `arm-linux-gnueabi-'. +CROSS_PREFIX=#FixMakefile# + TAU_BUILD_CC= TAU_BUILD_CXX= # Front end C/C++ Compilers @@ -64,11 +67,10 @@ TAU_BUILD_CXX= TAU_LIBEX=lib64 #ENDIF##ARCH_WIDTH_64# - USER_OPT=-O2 EXTRADIR= EXTRADIRCXX= -TAUROOT=/home/users/scottb/tau2 +TAUROOT=#FixMakefile# TULIPDIR= TAUEXTRASHLIBOPTS= TAUGCCLIBOPTS= @@ -214,6 +216,16 @@ F90_ABI = $(ABI) TAU_CC = $(CONFIG_CC) $(ABI) $(ISA) TAU_CXX = $(CONFIG_CXX) $(ABI) $(ISA) TAU_RUN_CC = $(FULL_CC) $(ABI) $(ISA) +BUILD_CC = $(CONFIG_CC) $(ABI) $(ISA) +HOST_CC = $(CROSS_PREFIX)$(BUILD_CC) $(ABI) $(ISA) +CC = $(HOST_CC) +BUILD_CXX = $(CONFIG_CXX) $(ABI) $(ISA) +HOST_CXX = $(CROSS_PREFIX)$(BUILD_CXX) $(ABI) $(ISA) +CXX = $(HOST_CXX) + +#HOSTUTILS#TAU_CC_FE = $(CROSS_PREFIX)$(BUILD_CC) #ENDIF +#HOSTUTILS#TAU_CXX_FE = $(CROSS_PREFIX)$(BUILD_CXX) #ENDIF + #MPC#TAU_RUN_CC = mpc_cc #ENDIF# #XLUPC#TAU_RUN_CC = xlupc $(ABI) $(ISA) #ENDIF# #BUPC#TAU_RUN_CC = $(TAU_UPCC) #ENDIF# @@ -632,6 +644,7 @@ TAU_GCCLIB = -lgcc_s #FREEBSD#TAU_GCCLIB = -lgcc #ENDIF# #BGL#TAU_GCCLIB = -lgcc #ENDIF# #BGQ#TAU_GCCLIB = -lgcc #ENDIF# +#ANDROID#TAU_GCCLIB = #ENDIF# TAU_FORTRANLIBS = -L$(TAUGCCLIBDIR) $(TAUGCCLIBOPTS) -lstdc++ $(TAU_GCCLIB) #ENDIF##GNU# #OPEN64ORC_FORTRAN#TAU_FORTRANLIBS = -lfortran -lffio #ENDIF# #PATHSCALE_FORTRAN#TAU_FORTRANLIBS = -lpathfstart -lpathfortran #ENDIF# @@ -958,8 +971,9 @@ TAU_LINKER_OPT14=$(EXTRA_LINKER_ARGS) # Compiler Instrumentation ############################################## -BFDLINK=-L/home/users/scottb/tau2/x86_64/binutils-2.23.2//lib -L/home/users/scottb/tau2/x86_64/binutils-2.23.2//lib64 +BFDLINK=#FixMakefile# BFDLIBS=-lbfd -liberty -lz +BFDINCLUDE=#FixMakefile# TAU_BFDLIB=$(BFDLINK) $(BFDLIBS) #ENDIF##TAU_BFD# TAU_COMPINST_PTHREAD_OPTIONS= -Dpthread_create=tau_pthread_create -Dpthread_exit=tau_pthread_exit#ENDIF##PTHREAD_AVAILABLE# @@ -984,7 +998,7 @@ TAU_LINKER_OPT13=$(TAU_BFDLIB) #ENDIF##TAU_BFD# TAU_FORTRAN_COMPINST_OPTION=$(TAU_COMPINST_OPTION) #NAGWARE_FORTRAN#TAU_FORTRAN_COMPINST_OPTION=-Wc,-finstrument-functions#ENDIF# -TAU_LINKER_OPT16= -lrt#ENDIF##TAU_LINKS_RT# +#TAU_LINKS_RT#TAU_LINKER_OPT16= -lrt#ENDIF# ############################################## # Various Sampling Support Options @@ -1015,7 +1029,7 @@ PROFILEOPT84 = -DTAU_STRSIGNAL_OK#ENDIF##TAU_STRSIGNAL_OK# ############################################## # DL_AUDITOR ############################################## -PROFILEOPT88 = -DTAU_TRACK_LD_LOADER #ENDIF##LD_AUDITOR_AVAILABLE# +#LD_AUDITOR_AVAILABLE#PROFILEOPT88 = -DTAU_TRACK_LD_LOADER #ENDIF# ############################################## diff --git a/include/Profile/TauMemory.h b/include/Profile/TauMemory.h index f88151774..7c5176970 100644 --- a/include/Profile/TauMemory.h +++ b/include/Profile/TauMemory.h @@ -113,7 +113,7 @@ // Which platforms have pvalloc? #ifndef HAVE_PVALLOC -#if defined(__APPLE__) || defined(TAU_XLC) || defined(TAU_WINDOWS) +#if defined(__APPLE__) || defined(TAU_XLC) || defined(TAU_WINDOWS) || defined(TAU_ANDROID) #undef HAVE_PVALLOC #else #define HAVE_PVALLOC 1 diff --git a/src/Profile/Makefile.skel b/src/Profile/Makefile.skel index ff1f37ee3..cb7923fe1 100644 --- a/src/Profile/Makefile.skel +++ b/src/Profile/Makefile.skel @@ -15,20 +15,14 @@ #** Documentation : See http://www.cs.uoregon.edu/research/tau ** #**************************************************************************** -TAUROOT=/home/users/scottb/tau2 +TAUROOT=#FixMakefile# include $(TAUROOT)/include/Makefile -CXX = $(TAU_CXX) -CC = $(TAU_CC) - MKDIR = mkdir -p #This includes all profile options in $(PROFILEOPTS). -BFDINCLUDE=-I/home/users/scottb/tau2/x86_64/binutils-2.23.2//include -BFDLINK=-L/home/users/scottb/tau2/x86_64/binutils-2.23.2//lib -L/home/users/scottb/tau2/x86_64/binutils-2.23.2//lib64 - #TAU_PERFSUITE#PERFSUITE_OPT=-DTAU_PERFSUITE #ENDIF# PERFSUITEINCLUDE= PERFSUITELINK= @@ -53,7 +47,7 @@ CEXTRA = #OPARI2#OPARI2_INCLUDE = -I$(TAUROOT)/utils/opari2/_build/include -I$(TAUROOT)/utils/opari2/_build/src/ -I$(TAUROOT)/utils/opari2/_build/build-frontend -I$(TAUROOT)/utils/opari2/src -DHAVE_CONFIG_H -DFRONTEND_BUILD -DCROSS_BUILD #ENDIF# DEFINES = -DTAU_LIBRARY_SOURCE - +#ANDROID#DEFINES += -DTAU_ANDROID#ENDIF# LINKER = $(TAU_CC) @@ -147,9 +141,9 @@ OBJS = Profiler.o UserEvent.o FunctionInfo.o \ # be built. The same is true for static builds of TAU if BFD is # not available. TAU_BFD_STATIC_O = TauBfdUnimplemented.o -TAU_BFD_STATIC_O = TauBfd.o #ENDIF##TAU_BFD# +#TAU_BFD#TAU_BFD_STATIC_O = TauBfd.o #ENDIF# TAU_BFD_SHARED_O = TauBfdUnimplemented.o -TAU_BFD_SHARED_O = TauBfd.o #ENDIF##TAU_BFDSHAREDLINK# +#TAU_BFDSHAREDLINK#TAU_BFD_SHARED_O = TauBfd.o #ENDIF# STATIC_OBJS = $(TAU_BFD_STATIC_O) $(PGIACC_STATIC_O) SHARED_OBJS = $(TAU_BFD_SHARED_O) $(PGIACC_O) #SICORTEX#SHARED_OBJS = TauBfd.o #ENDIF# @@ -399,7 +393,7 @@ $(TAU_TARGET): $(OBJS) $(STATIC_OBJS) $(TAU_NULL)$(TAU_SHLIB): $(TAU_TARGET) $(OBJS) $(MPI_WRAPPER) $(TAU_FORCE_MPI) $(SHARED_OBJS) $(MPI_WRAPPER) $(PRELINK_PHASE) - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_SHLIB) $(OBJS) $(SHARED_OBJS) $(SHARED_LIBS) $(EXTRAOBJS) $(TAU_MPI_FOR_SHARED) $(TAU_MPI_LIB) $(TAU_MPI_FLIB) $(EXTRA_LIBS) $(LEXTRA1) $(TAU_PAPI_EXTRA_FLAGS) $(TAU_EXTRA_LIBRARY_FLAGS) $(TAUEXTRASHLIBOPTS) $(TAU_SHLIB_EXTRA_CXXLIBS) $(TAU_LINKER_OPTS) $(TAU_LDFLAGS) + $(CXX) $(TAU_ARFLAGS) $(TAU_SHLIB) $(OBJS) $(SHARED_OBJS) $(SHARED_LIBS) $(EXTRAOBJS) $(TAU_MPI_FOR_SHARED) $(TAU_MPI_LIB) $(TAU_MPI_FLIB) $(EXTRA_LIBS) $(LEXTRA1) $(TAU_PAPI_EXTRA_FLAGS) $(TAU_EXTRA_LIBRARY_FLAGS) $(TAUEXTRASHLIBOPTS) $(TAU_SHLIB_EXTRA_CXXLIBS) $(TAU_LINKER_OPTS) $(TAU_LDFLAGS) $(TAU_CREATE_SYMLINKS) $(TAU_NULL)$(TAU_OPENCL_DEP) : TauGpuAdapterOpenCL.cpp @@ -407,30 +401,30 @@ $(TAU_NULL)$(TAU_OPENCL_DEP) : TauGpuAdapterOpenCL.cpp $(TAU_NULL)$(TAU_OPENCL_LIB): $(TAU_OPENCL_OBJS) $(TAU_DSO) $(TAU_OPENCL_DEP) $(PRELINK_PHASE) - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_OPENCL_LIB) $(TAU_OPENCL_OBJS) \ + $(CXX) $(TAU_ARFLAGS) $(TAU_OPENCL_LIB) $(TAU_OPENCL_OBJS) \ -L$(TAU_LIB_DIR) $(TAU_DSO) $(if $(shell grep pthread $(TAU_OPENCL_DEP)), -lpthread,) $(TAU_RANLIB) $(TAU_OPENCL_LIB) $(TAU_NULL)$(TAU_CUDA_LIB): $(TAU_CUDA_OBJS) $(TAU_DSO) $(PRELINK_PHASE) - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_CUDA_LIB) $(TAU_CUDA_OBJS) \ + $(CXX) $(TAU_ARFLAGS) $(TAU_CUDA_LIB) $(TAU_CUDA_OBJS) \ -L$(TAU_LIB_DIR) $(TAU_DSO) $(SHARED_LIBS) $(TAU_RANLIB) $(TAU_CUDA_LIB) $(TAU_NULL)$(TAU_PYCUDA_LIB): $(TAU_PYCUDA_OBJS) $(TAU_CUDA_LIB) $(TAU_DSO) $(PRELINK_PHASE) - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_PYCUDA_LIB) $(TAU_CUDA_LIB) $(TAU_PYCUDA_OBJS) $(BOOST_LIB) + $(CXX) $(TAU_ARFLAGS) $(TAU_PYCUDA_LIB) $(TAU_CUDA_LIB) $(TAU_PYCUDA_OBJS) $(BOOST_LIB) $(TAU_RANLIB) $(TAU_PYCUDA_LIB) $(TAU_NULL)$(TAU_CUPTI_LIB): $(TAU_CUPTI_OBJS) $(TAU_DSO) $(PRELINK_PHASE) - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_CUPTI_LIB) $(TAU_CUPTI_OBJS) \ + $(CXX) $(TAU_ARFLAGS) $(TAU_CUPTI_LIB) $(TAU_CUPTI_OBJS) \ -L$(TAU_LIB_DIR) $(TAU_DSO) $(TAU_RANLIB) $(TAU_CUPTI_LIB) $(TAU_NULL)$(TAU_CUPTI_ACTIVITY_LIB): $(TAU_CUPTI_ACTIVITY_OBJS) $(TAU_DSO) $(PRELINK_PHASE) - $(TAU_CUDA_CXX) $(TAU_ARFLAGS) $(TAU_CUPTI_ACTIVITY_LIB) $(TAU_CUPTI_ACTIVITY_OBJS) \ + $(CXX) $(TAU_ARFLAGS) $(TAU_CUPTI_ACTIVITY_LIB) $(TAU_CUPTI_ACTIVITY_OBJS) \ -L$(TAU_LIB_DIR) $(TAU_DSO) $(TAU_RANLIB) $(TAU_CUPTI_ACTIVITY_LIB) @@ -440,7 +434,7 @@ $(TAU_DISABLE): TauDisable.o $(TAU_DISABLE_SHARED) TauKojakOpariDisable.o $(TAU_CREATE_SYMLINKS) $(TAU_DISABLE_SHARED) : TauDisable.o TauKojakOpariDisable.o - $(TAU_CXX) $(TAU_ARFLAGS) $(TAU_DISABLE_SHARED) $(TAU_DISABLE_SHARED_COMPILATION_FLAG) TauDisable.o TauKojakOpariDisable.o + $(CXX) $(TAU_ARFLAGS) $(TAU_DISABLE_SHARED) $(TAU_DISABLE_SHARED_COMPILATION_FLAG) TauDisable.o TauKojakOpariDisable.o libTauMpi$(TAU_CONFIG)$(LSX): TauMpi.c TauRequest.cpp TauTranslateRank.cpp TauFMpi.c ClockSync.c TauProfileMerge.cpp TauMpiExtensions.c TauMetaDataMerge.cpp $(MAKE) -f Makefile.wrapper @@ -875,7 +869,7 @@ TauGpu.o : TauGpu.cpp $(HDRS) $(CXX) -DTAU_GPU $(CXXFLAGS) -c $(@:.o=.cpp) TauGpuAdapterCUDA.o : TauGpuAdapterCUDA.cpp $(HDRS) ../../include/Profile/TauGpuAdapterCUDA.h - $(TAU_CUDA_CXX) $(SERIAL_CXXFLAGS) -fpermissive -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) + $(CXX) $(SERIAL_CXXFLAGS) -fpermissive -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) $(TAU_PYCUDA_OBJS): TauGpuAdapterPyCuda.cpp $(HDRS) $(CXX) $(CXXFLAGS) $(TAU_CUDA_INCLUDE) -I$(PYTHON_INCDIR) -c $< @@ -887,16 +881,16 @@ TauGpuAdapterCupti.o : TauGpuAdapterCupti.cpp $(HDRS) ../../include/Profile/TauG $(CXX) $(CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) TauGpuAdapterCupti40.o : TauGpuAdapterCupti40.cpp $(HDRS) ../../include/Profile/TauGpuAdapterCupti40.h - $(TAU_CUDA_CXX) $(SERIAL_CXXFLAGS) -fpermissive -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) + $(CXX) $(SERIAL_CXXFLAGS) -fpermissive -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) CuptiActivity.o : CuptiActivity.cpp $(HDRS) ../../include/Profile/CuptiActivity.h - $(TAU_CUDA_CXX) $(SERIAL_CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) + $(CXX) $(SERIAL_CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) $(BFDINCLUDE) -c $(@:.o=.cpp) CuptiLayer.o : CuptiLayer.cpp $(HDRS) ../../include/Profile/CuptiLayer.h - $(TAU_CUDA_CXX) $(CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) -c $(@:.o=.cpp) + $(CXX) $(CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) -c $(@:.o=.cpp) CuptiLayer40.o : CuptiLayer40.cpp $(HDRS) ../../include/Profile/CuptiLayer.h - $(TAU_CUDA_CXX) $(CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) -c $(@:.o=.cpp) + $(CXX) $(CXXFLAGS) -g $(TAU_CUPTI_INCLUDE) $(TAU_CUDA_INCLUDE) -c $(@:.o=.cpp) jVMTIThreadLayer.o: JVMTIThreadLayer.cpp $(CXX) $(CXXFLAGS) -c $(@:.o=.cpp) -o $@ diff --git a/src/Profile/Profiler.cpp b/src/Profile/Profiler.cpp index 02b5144b6..8200729d3 100644 --- a/src/Profile/Profiler.cpp +++ b/src/Profile/Profiler.cpp @@ -239,7 +239,7 @@ void Profiler::Start(int tid) } // An initialization of sorts. Call Paths (if any) will update this. -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite() == 1) { CallSiteAddPath(NULL, tid); } @@ -249,7 +249,7 @@ void Profiler::Start(int tid) CallPathStart(tid); } -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite() == 1) { CallSiteStart(tid); } @@ -393,7 +393,7 @@ void Profiler::Stop(int tid, bool useLastTimeStamp) RtsLayer::getUSecD(tid, CurrentTime); #endif /* TAU_TRACK_IDLE_THREADS */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_event_stop(tid, CurrentTime); } @@ -460,7 +460,7 @@ void Profiler::Stop(int tid, bool useLastTimeStamp) CallPathStop(TotalTime, tid); } -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite()) { CallSiteStop(TotalTime, tid); } @@ -1297,8 +1297,7 @@ int TauProfiler_StoreData(int tid) } finalizeTrace(tid); -#ifndef TAU_WINDOWS - +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite()) { finalizeCallSites_if_necessary(); } diff --git a/src/Profile/RtsThread.cpp b/src/Profile/RtsThread.cpp index 051c58e59..12138bb20 100644 --- a/src/Profile/RtsThread.cpp +++ b/src/Profile/RtsThread.cpp @@ -320,7 +320,7 @@ int RtsLayer::RegisterThread() exit(-1); } -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_init_if_necessary(); } diff --git a/src/Profile/TauBackTrace.cpp b/src/Profile/TauBackTrace.cpp index b3b3dbe6a..7a381704f 100644 --- a/src/Profile/TauBackTrace.cpp +++ b/src/Profile/TauBackTrace.cpp @@ -12,7 +12,7 @@ using namespace std; #define TAU_MAX_STACK 1024 -#if !defined(_AIX) && !defined(__sun) && !defined(TAU_WINDOWS) +#if !defined(_AIX) && !defined(__sun) && !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) #include #define TAU_EXECINFO 1 #endif @@ -152,11 +152,11 @@ void Tau_backtrace_exit_with_backtrace(int trim, char const * fmt, ...) // are being destroyed from here on out. Recording new events will segfault. Tau_global_incr_insideTAU(); +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite()) { finalizeCallSites_if_necessary(); } -#ifndef TAU_WINDOWS if (TauEnv_get_ebs_enabled()) { Tau_sampling_finalize_if_necessary(); } diff --git a/src/Profile/TauCAPI.cpp b/src/Profile/TauCAPI.cpp index 5742b088b..3d9ffa2d7 100644 --- a/src/Profile/TauCAPI.cpp +++ b/src/Profile/TauCAPI.cpp @@ -62,7 +62,7 @@ void esd_exit (elg_ui4 rid); #ifdef DEBUG_LOCK_PROBLEMS #include #endif -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) #include #endif @@ -312,7 +312,7 @@ extern "C" void Tau_start_timer(void *functionInfo, int phase, int tid) { // Protect TAU from itself TauInternalFunctionGuard protects_this_function; -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_init_if_necessary(); Tau_sampling_suspend(tid); @@ -329,7 +329,7 @@ extern "C" void Tau_start_timer(void *functionInfo, int phase, int tid) { #ifdef TAU_EPILOG esd_enter(fi->GetFunctionId()); -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -344,7 +344,7 @@ extern "C" void Tau_start_timer(void *functionInfo, int phase, int tid) { #else vt_enter((uint64_t *) &TimeStamp, fi->GetFunctionId()); #endif /* TAU_VAMPIRTRACE_5_12_API */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -396,7 +396,7 @@ extern "C" void Tau_start_timer(void *functionInfo, int phase, int tid) { static int userspecifieddepth = TauEnv_get_depth_limit(); int mydepth = Tau_thread_flags[tid].Tau_global_stackpos; if (mydepth >= userspecifieddepth) { -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -437,7 +437,7 @@ extern "C" void Tau_start_timer(void *functionInfo, int phase, int tid) { /*** Extras ***/ /********************************************************************************/ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); //Tau_sampling_event_start(tid, p->address); @@ -504,7 +504,7 @@ static void reportOverlap (FunctionInfo *stack, FunctionInfo *caller) { fprintf(stderr, "[%d:%d-%d] TAU: Runtime overlap: found %s (%p) on the stack, but stop called on %s (%p)\n", RtsLayer::getPid(), RtsLayer::getTid(), RtsLayer::myThread(), stack->GetName(), stack, caller->GetName(), caller); -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if(!TauEnv_get_ebs_enabled()) { void* callstack[128]; int i, frames = backtrace(callstack, 128); @@ -528,7 +528,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { bool enableHeapTracking; Profiler *profiler; -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_suspend(tid); } @@ -557,7 +557,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { #ifdef TAU_EPILOG esd_exit(fi->GetFunctionId()); -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -574,7 +574,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { vt_exit((uint64_t *)&TimeStamp); #endif /* TAU_VAMPIRTRACE_5_12_API */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -588,7 +588,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { if (Tau_thread_flags[tid].Tau_global_stackpos < 0) { -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -621,7 +621,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { int mydepth = Tau_thread_flags[tid].Tau_global_stackpos; if (mydepth >= userspecifieddepth) { Tau_thread_flags[tid].Tau_global_stackpos--; /* pop */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } @@ -649,7 +649,7 @@ extern "C" int Tau_stop_timer(void *function_info, int tid ) { Tau_thread_flags[tid].Tau_global_stackpos--; /* pop */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { Tau_sampling_resume(tid); } diff --git a/src/Profile/TauCallPath.cpp b/src/Profile/TauCallPath.cpp index 75af6f875..2e6a27fdf 100644 --- a/src/Profile/TauCallPath.cpp +++ b/src/Profile/TauCallPath.cpp @@ -220,7 +220,7 @@ void Profiler::CallPathStart(int tid) // *CWL* - Send the path key off to be registered with CallSite discovery // for later processing. -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_callsite()) { CallSiteAddPath(comparison, tid); } diff --git a/src/Profile/TauCallSite.cpp b/src/Profile/TauCallSite.cpp index ec3660a08..bdfe09afc 100644 --- a/src/Profile/TauCallSite.cpp +++ b/src/Profile/TauCallSite.cpp @@ -11,7 +11,7 @@ #include #include -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) #include #if !defined(_AIX) && !defined(__sun) && !defined(TAU_WINDOWS) diff --git a/src/Profile/TauEnv.cpp b/src/Profile/TauEnv.cpp index 3a0f610ad..6b93fb121 100644 --- a/src/Profile/TauEnv.cpp +++ b/src/Profile/TauEnv.cpp @@ -502,7 +502,7 @@ char * Tau_check_dirname(const char * dir) char logfiledir[2048]; char scratchdir[2048]; -#if (defined (TAU_BGL) || defined(TAU_BGP) || defined(TAU_BGQ) || defined(__linux__)) +#if (defined (TAU_BGL) || defined(TAU_BGP) || defined(TAU_BGQ) || (defined(__linux__) && !defined(TAU_ANDROID))) if (cuserid(user) == NULL) { sprintf(user,"unknown"); } diff --git a/src/Profile/TauInit.cpp b/src/Profile/TauInit.cpp index ae67c7b33..0d10230fc 100644 --- a/src/Profile/TauInit.cpp +++ b/src/Profile/TauInit.cpp @@ -26,7 +26,7 @@ #include #include #include -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) #include #endif //TAU_WINDOWS #include @@ -372,7 +372,7 @@ extern "C" int Tau_init_initializeTAU() Tau_compensate_initialization(); } /* initialize sampling if requested */ -#if !defined(TAU_MPI) && !defined(TAU_WINDOWS) +#if !defined(TAU_MPI) && !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) if (TauEnv_get_ebs_enabled()) { // Work-around for MVAPHICH 2 to move sampling initialization to after MPI_Init() Tau_sampling_init_if_necessary(); diff --git a/src/Profile/TauSampling.cpp b/src/Profile/TauSampling.cpp index f8aadfc1d..89fd79c67 100644 --- a/src/Profile/TauSampling.cpp +++ b/src/Profile/TauSampling.cpp @@ -62,7 +62,7 @@ #define _XOPEN_SOURCE 600 /* Single UNIX Specification, Version 3 */ #endif /* __APPLE__ */ -#ifndef TAU_WINDOWS +#if !defined(TAU_WINDOWS) && !defined(TAU_ANDROID) #include #include @@ -1804,4 +1804,4 @@ void Tau_sampling_finalize_if_necessary(void) } } -#endif //TAU_WINDOWS +#endif //TAU_WINDOWS && TAU_ANDROID diff --git a/src/TraceInput/Makefile.skel b/src/TraceInput/Makefile.skel index 42258b80c..e8523a1f6 100644 --- a/src/TraceInput/Makefile.skel +++ b/src/TraceInput/Makefile.skel @@ -22,6 +22,9 @@ CXX = $(TAU_CXX) CC = $(TAU_CC) +#HOSTUTILS#CC = $(TAU_CC_FE) $(ABI) $(ISA) #ENDIF# +#HOSTUTILS#CXX = $(TAU_CXX_FE) $(ABI) $(ISA) #ENDIF# + #CRAYXMT#CC = $(TAU_CC_FE) $(ABI) $(ISA) #ENDIF# #CRAYXMT#CXX = $(TAU_CXX_FE) $(ABI) $(ISA) #ENDIF# diff --git a/src/wrappers/Makefile.skel b/src/wrappers/Makefile.skel index 353620af9..dc3f5e252 100644 --- a/src/wrappers/Makefile.skel +++ b/src/wrappers/Makefile.skel @@ -125,7 +125,7 @@ PTHREAD_LDPRELOAD_LIB=libTAU-pthread$(TAU_SHLIBX) #ENDIF##PTHREAD_AVAILABLE# #============================ TAUPRELOAD ====================================== -TAU_AUDITOR_SHARED=libTAU-dl-auditor$(TAU_SHLIBX) #ENDIF##LD_AUDITOR_AVAILABLE# +#LD_AUDITOR_AVAILABLE#TAU_AUDITOR_SHARED=libTAU-dl-auditor$(TAU_SHLIBX) #ENDIF# #CRAYXMT#TAU_AUDITOR_SHARED= #ENDIF# #TAU_WINDOWS#TAU_AUDITOR_SHARED= #ENDIF# #BGL#TAU_AUDITOR_SHARED= #ENDIF# @@ -153,7 +153,7 @@ TAU_PRELOAD_SHARED=libTAU-preload$(TAU_SHLIBX) #USE_NECCXX#TAU_PRELOAD_SHARED= #ENDIF# #NOSHARED#TAU_PRELOAD_SHARED= #ENDIF# -PRELOAD_CC = $(TAU_CC) +PRELOAD_CC = $(CC) #PGI#PRELOAD_CC = $(TAUROOT)/src/wrappers/taupreload/tau_alt_gnu_compiler gcc #ENDIF# #============================ GENERAL ========================================= diff --git a/src/wrappers/memory/Makefile b/src/wrappers/memory/Makefile index 1d5679e6d..06487bc41 100644 --- a/src/wrappers/memory/Makefile +++ b/src/wrappers/memory/Makefile @@ -1,8 +1,6 @@ include ../../../include/Makefile include ../Makefile -CC = $(TAU_CC) -CXX = $(TAU_CXX) CFLAGS = $(TAU_INCLUDE) $(TAU_DEFS) $(TAU_INTERNAL_FLAGS) $(USER_OPT) -I$(TAUROOT)/src/wrappers/memory ARFLAGS = rcv diff --git a/utils/FixMakefile b/utils/FixMakefile index cd5f660c2..a17fc8d7a 100755 --- a/utils/FixMakefile +++ b/utils/FixMakefile @@ -799,6 +799,22 @@ case $1 in echo "s/^TAU_ARCH=\(.*\)/TAU_ARCH=$config_arch/g" >> $sedout ;; + host=*) + config_host=`echo $1 | sed 's/^host=//'` + echo "NOTE: Building TAU library for HOST (i.e. cross compile)" + echo "s/^CROSS_PREFIX=\(.*\)/CROSS_PREFIX=${config_host}-/g" >> $sedout + ;; + + HOSTUTILS) + echo "NOTE: Building TAU utils for HOST (i.e. cross compile)" + echo "s/#$1#\(.*\)/$bs\1#$1#/g" >> $sedout + ;; + + ANDROID) + echo NOTE: Building TAU for Android + echo "s/#$1#\(.*\)/$bs\1#$1#/g" >> $sedout + ;; + NO_RANLIB) echo NOTE: ranlib not required for this architecture. echo "s/#$1#\(.*\)/$bs\1#$1#/g" >> $sedout