You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -5,9 +5,9 @@ include ../../build/rules.make
|
||||
PROGRAM = mono-symbolicate.exe
|
||||
|
||||
LOCAL_MCS_FLAGS = \
|
||||
/r:Mono.Cecil.dll \
|
||||
/r:Mono.CompilerServices.SymbolWriter.dll \
|
||||
/r:System.Xml
|
||||
/D:NO_AUTHENTICODE
|
||||
|
||||
LIB_REFS = Mono.Cecil Mono.Cecil.Mdb System.Xml System.Core System
|
||||
|
||||
include ../../build/executable.make
|
||||
|
||||
@@ -15,44 +15,66 @@ LIB_PATH = $(topdir)/class/lib/$(PROFILE)
|
||||
|
||||
MONO = MONO_PATH="$(LIB_PATH)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) -O=-inline
|
||||
|
||||
OUT_DIR = Test/out
|
||||
MSYM_DIR = $(OUT_DIR)/msymdir
|
||||
TEST_CS = Test/StackTraceDumper.cs
|
||||
TEST_EXE = $(OUT_DIR)/StackTraceDumper.exe
|
||||
RELEASE_FILE = $(OUT_DIR)/release.out
|
||||
SYMBOLICATE_FILE = $(OUT_DIR)/symbolicate.out
|
||||
STACKTRACE_FILE = $(OUT_DIR)/stacktrace.out
|
||||
SYMBOLICATE_RAW_FILE = $(OUT_DIR)/symbolicate_raw.out
|
||||
SYMBOLICATE_RESULT_FILE = $(OUT_DIR)/symbolicate.result
|
||||
SYMBOLICATE_EXPECTED_FILE = Test/symbolicate.expected
|
||||
|
||||
CHECK_DIFF = @\
|
||||
MONO_DEBUG=gen-compact-seq-points $(MONO) $(TEST_EXE) > $(RELEASE_FILE); \
|
||||
$(MONO) $(LIB_PATH)/$(PROGRAM) $(TEST_EXE) $(RELEASE_FILE) | sed "s/).*Test\//) in /" > $(SYMBOLICATE_FILE); \
|
||||
DIFF=$$(diff $(SYMBOLICATE_FILE) $(SYMBOLICATE_EXPECTED_FILE)); \
|
||||
$(MONO) $(TEST_EXE) > $(STACKTRACE_FILE); \
|
||||
$(MONO) $(LIB_PATH)/$(PROGRAM) $(MSYM_DIR) $(STACKTRACE_FILE) > $(SYMBOLICATE_RAW_FILE); \
|
||||
sed "s/) .* in .*\/mcs\//) in mcs\//" $(SYMBOLICATE_RAW_FILE) | sed '/\[MVID\]/d' | sed '/\[AOTID\]/d' > $(SYMBOLICATE_RESULT_FILE); \
|
||||
DIFF=$$(diff $(SYMBOLICATE_RESULT_FILE) $(SYMBOLICATE_EXPECTED_FILE)); \
|
||||
if [ ! -z "$$DIFF" ]; then \
|
||||
echo "Symbolicate tests failed."; \
|
||||
echo "If $(SYMBOLICATE_FILE) is correct copy it to $(SYMBOLICATE_EXPECTED_FILE)."; \
|
||||
echo "If $(SYMBOLICATE_RESULT_FILE) is correct copy it to $(SYMBOLICATE_EXPECTED_FILE)."; \
|
||||
echo "Otherwise runtime sequence points need to be fixed."; \
|
||||
echo "$$DIFF"; \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
BUILD_TEST_EXE = @\
|
||||
PREPARE_OUTDIR = @\
|
||||
rm -rf $(OUT_DIR); \
|
||||
mkdir -p $(OUT_DIR); \
|
||||
$(MCS) -debug $(TEST_CS) -out:$(TEST_EXE)
|
||||
mkdir -p $(MSYM_DIR);
|
||||
|
||||
COMPILE = \
|
||||
$(CSCOMPILE) $(TEST_CS) -out:$(TEST_EXE); \
|
||||
$(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(OUT_DIR); \
|
||||
$(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(LIB_PATH);
|
||||
|
||||
check: test-local
|
||||
|
||||
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"
|
||||
test-local: test-without-aot test-with-aot test-with-aot-msym
|
||||
|
||||
test-without-aot: OUT_DIR = Test/without_aot
|
||||
test-without-aot: all
|
||||
@echo "Checking $(TEST_EXE) without AOT in $(OUT_DIR)"
|
||||
$(PREPARE_OUTDIR)
|
||||
$(COMPILE)
|
||||
$(CHECK_DIFF)
|
||||
|
||||
test-with-aot: OUT_DIR = Test/with_aot
|
||||
test-with-aot: all
|
||||
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
|
||||
@echo "Checking $(TEST_EXE) with AOT in $(OUT_DIR)"
|
||||
$(PREPARE_OUTDIR)
|
||||
$(COMPILE)
|
||||
@$(MONO) --aot $(TEST_EXE) > /dev/null
|
||||
$(CHECK_DIFF)
|
||||
endif
|
||||
|
||||
test-with-aot-msym: OUT_DIR = Test/with_aot_msym
|
||||
test-with-aot-msym: all
|
||||
ifeq ($(AOT_SUPPORTED), 1)
|
||||
@echo "Checking $(TEST_EXE) with AOT (using .msym) in $(OUT_DIR)"
|
||||
$(PREPARE_OUTDIR)
|
||||
$(COMPILE)
|
||||
@$(MONO) --aot=msym-dir=$(MSYM_DIR) $(TEST_EXE) > /dev/null
|
||||
$(CHECK_DIFF)
|
||||
endif
|
||||
|
Reference in New Issue
Block a user