8 -fexceptions -DMONO_USE_EXC_TABLES \
9 -DSUPPRESSION_DIR=\""$(datadir)/mono-$(API_VER)/mono/profiler"\" \
16 bin_PROGRAMS = mprof-report
19 vtune_lib = libmono-profiler-vtune.la
22 lib_LTLIBRARIES = libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la libmono-profiler-log-static.la $(vtune_lib)
26 libmono_profiler_log_la_LDFLAGS = -no-undefined
28 libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace
32 libmono_profiler_log_la_LDFLAGS = -avoid-version
39 # Do something that uses OPROFILE_CFLAGS and OPROFILE_LIBS
43 if DISABLE_EXECUTABLES
44 LIBMONO=$(top_builddir)/mono/mini/$(LIBMONO_LA)
48 $(top_builddir)/mono/metadata/libmonoruntime-static.la \
49 $(top_builddir)/mono/io-layer/libwapi.la \
50 $(top_builddir)/mono/utils/libmonoutils.la \
51 $(GLIB_LIBS) $(LIBICONV) \
54 LIBMONO=$(top_builddir)/mono/mini/$(LIBMONO_LA) $(static_libs)
56 LIBMONO=$(top_builddir)/mono/mini/$(LIBMONO_LA)
60 LIBMONO=$(top_builddir)/mono/mini/libmonosgen-$(API_VER).la
63 libmono_profiler_aot_la_SOURCES = mono-profiler-aot.c
64 libmono_profiler_aot_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
66 libmono_profiler_aot_la_LDFLAGS = -no-undefined
68 libmono_profiler_iomap_la_SOURCES = mono-profiler-iomap.c
69 libmono_profiler_iomap_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
71 libmono_profiler_iomap_la_LDFLAGS = -no-undefined
73 libmono_profiler_log_la_SOURCES = proflog.c
74 libmono_profiler_log_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(Z_LIBS)
76 libmono_profiler_vtune_la_SOURCES = mono-profiler-vtune.c
77 libmono_profiler_vtune_la_CFLAGS = $(VTUNE_CFLAGS)
78 libmono_profiler_vtune_la_LIBADD = $(VTUNE_LIBS) $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
81 # The log profile uses eglib functions, so it needs to be linked against
82 # libeglib in shared mode, but not in static mode, since that would
83 # leads to duplicate symbols when it is linked into an app which
84 # also uses eglib (e.g. the runtime). Automake doesn't support this
85 # functionality, so create a separate static version of the library.
86 libmono_profiler_log_static_la_SOURCES = proflog.c
87 libmono_profiler_log_static_la_LDFLAGS = -static
89 mprof_report_SOURCES = decode.c
90 mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV)
92 PLOG_TESTS_SRC=test-alloc.cs test-busy.cs test-monitor.cs test-excleave.cs \
93 test-heapshot.cs test-traces.cs
94 PLOG_TESTS=$(PLOG_TESTS_SRC:.cs=.exe)
96 CLASS=$(mcs_topdir)/class/lib/$(DEFAULT_PROFILE)
98 with_mono_path = MONO_PATH=$(CLASS)
100 RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
101 MCS = $(RUNTIME) $(mcs_topdir)/class/lib/build/mcs.exe -unsafe -nowarn:0162 -nowarn:0168 -nowarn:0219 -debug
106 testlog: $(PLOG_TESTS)
107 $(with_mono_path) perl $(srcdir)/ptestrunner.pl $(top_builddir)
115 suppressiondir = $(datadir)/mono-$(API_VER)/mono/profiler
116 suppression_DATA = mono-profiler-log.suppression
118 EXTRA_DIST=utils.c utils.h proflog.h perf_event.h \
119 $(PLOG_TESTS_SRC) ptestrunner.pl \