FIX a compilation linker error with static mono-sgen and dynamic libmono
[mono.git] / mono / profiler / Makefile.am
index e3030b0dc31408c9bd24f64928634d85a34d3012..39b6e12b90e00462135f06f32a6eeed1f60c25c0 100644 (file)
@@ -11,12 +11,10 @@ INCLUDES = \
 
 if !DISABLE_PROFILER
 if JIT_SUPPORTED
-if PLATFORM_LINUX
 bin_PROGRAMS = mprof-report
-lib_LTLIBRARIES = libmono-profiler-cov.la libmono-profiler-aot.la libmono-profiler-logging.la libmono-profiler-iomap.la libmono-profiler-log.la
-else
-bin_PROGRAMS = mprof-report
-lib_LTLIBRARIES = libmono-profiler-cov.la libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la
+lib_LTLIBRARIES = libmono-profiler-cov.la libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la libmono-profiler-gchandle-profiler.la
+if PLATFORM_DARWIN
+libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace
 endif
 endif
 endif
@@ -25,17 +23,44 @@ if HAVE_OPROFILE
 # Do something that uses OPROFILE_CFLAGS and OPROFILE_LIBS
 endif
 
+if SUPPORT_BOEHM
+LIBMONO=$(top_builddir)/mono/mini/libmono-$(API_VER).la
+else
+LIBMONO=$(top_builddir)/mono/mini/libmonosgen-$(API_VER).la
+endif
+
 libmono_profiler_cov_la_SOURCES = mono-cov.c
-libmono_profiler_cov_la_LIBADD = $(top_builddir)/mono/mini/libmono-$(API_VER).la
+libmono_profiler_cov_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
 libmono_profiler_aot_la_SOURCES = mono-profiler-aot.c
-libmono_profiler_aot_la_LIBADD = $(top_builddir)/mono/mini/libmono-$(API_VER).la
-libmono_profiler_logging_la_SOURCES = mono-profiler-logging.c
-libmono_profiler_logging_la_LIBADD = $(top_builddir)/mono/mini/libmono-$(API_VER).la $(GLIB_LIBS)
+libmono_profiler_aot_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
+#libmono_profiler_logging_la_SOURCES = mono-profiler-logging.c
+#libmono_profiler_logging_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
 libmono_profiler_iomap_la_SOURCES = mono-profiler-iomap.c
-libmono_profiler_iomap_la_LIBADD = $(top_builddir)/mono/mini/libmono-$(API_VER).la
+libmono_profiler_iomap_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
 libmono_profiler_log_la_SOURCES = proflog.c
-libmono_profiler_log_la_LIBADD = $(top_builddir)/mono/mini/libmono-$(API_VER).la $(Z_LIBS)
+libmono_profiler_log_la_LIBADD = $(LIBMONO) $(Z_LIBS)
+libmono_profiler_gchandle_profiler_la_SOURCES = gchandle-profiler.h gchandle-profiler.c
+#libmono_profiler_gchandle_profiler_la_LIBADD = $(LIBMONO) $(GLIB_LIBS)
 
 mprof_report_SOURCES = decode.c
 mprof_report_LDADD = $(Z_LIBS)
 
+PLOG_TESTS_SRC=test-alloc.cs test-busy.cs test-monitor.cs test-excleave.cs \
+       test-heapshot.cs test-traces.cs
+PLOG_TESTS=$(PLOG_TESTS_SRC:.cs=.exe)
+
+with_mono_path = MONO_PATH=$(mcs_topdir)/class/lib/net_4_0
+
+RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
+MCS = $(RUNTIME) $(mcs_topdir)/class/lib/build/mcs.exe -unsafe -nowarn:0162 -nowarn:0168 -nowarn:0219 -debug
+
+%.exe: %.cs
+       $(MCS) -out:$@ $<
+
+testlog: $(PLOG_TESTS)
+       $(with_mono_path) perl $(srcdir)/ptestrunner.pl $(top_builddir)
+
+check-local: testlog
+
+EXTRA_DIST=utils.c utils.h proflog.h log-profiler.txt perf_event.h \
+       $(PLOG_TESTS_SRC) ptestrunner.pl