LOCAL_MCS_FLAGS = \
/r:Mono.Cecil.dll \
/r:Mono.CompilerServices.SymbolWriter.dll \
- /r:System.Xml
+ /r:System.Xml.dll \
+ /r:System.Core.dll \
+ /r:System.dll
include ../../build/executable.make
LIB_PATH = $(topdir)/class/lib/$(PROFILE)
-MONO = MONO_PATH=$(LIB_PATH)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH $(RUNTIME)
+MONO = MONO_PATH="$(LIB_PATH)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) -O=-inline
OUT_DIR = Test/out
TEST_CS = Test/StackTraceDumper.cs
exit 1; \
fi
-clean-test:
- rm -rf $(OUT_DIR)
+BUILD_TEST_EXE = @\
+ rm -rf $(OUT_DIR); \
+ mkdir -p $(OUT_DIR); \
+ $(MCS) -debug $(TEST_CS) -out:$(TEST_EXE)
-build-test: clean-test
- @mkdir -p $(OUT_DIR)
- @$(MCS) --debug $(TEST_CS) -out:$(TEST_EXE)
+check: test-local
-check: all build-test
+AOT_SUPPORTED = $(shell $(MONO) --aot 2>&1 | grep -q "AOT compilation is not supported" && echo 0 || echo 1)
+
+test-local: all
+ $(BUILD_TEST_EXE)
@echo "Checking $(PROGRAM) without AOT"
$(CHECK_DIFF)
+ifeq ($(AOT_SUPPORTED), 1)
@echo "Checking $(PROGRAM) with AOT"
@MONO_DEBUG=gen-compact-seq-points $(MONO) --aot $(TEST_EXE) > /dev/null
$(CHECK_DIFF)
+ @echo "Checking $(PROGRAM) with AOT (using .msym)"
+ $(BUILD_TEST_EXE)
+ @MONO_DEBUG=gen-compact-seq-points $(MONO) --aot=gen-seq-points-file $(TEST_EXE) > /dev/null
+ $(CHECK_DIFF)
+endif