|
|
@@ -39,8 +39,6 @@ TEST_CASES += \
|
|
|
mscorlib/test-reflection.cs
|
|
|
endif
|
|
|
|
|
|
-SIZE_TEST_CASES :=
|
|
|
-
|
|
|
TESTS_COMPILER = $(MCS) -nologo -noconfig -unsafe -debug:portable -r:$(topdir)/class/lib/$(PROFILE_DIRECTORY)/mscorlib.dll
|
|
|
|
|
|
MARSHALING_TEST_NATIVE = mscorlib/test-marshaling-native.so
|
|
|
@@ -48,7 +46,7 @@ MARSHALING_TEST_NATIVE = mscorlib/test-marshaling-native.so
|
|
|
check: compile-tests
|
|
|
$(MAKE) run-tests
|
|
|
|
|
|
-compile-tests: $(TEST_CASES) $(SIZE_TEST_CASES)
|
|
|
+compile-tests: $(TEST_CASES)
|
|
|
|
|
|
mscorlib/test-%.cs:
|
|
|
$(TESTS_COMPILER) Tests/$@ /out:Tests/$(@:.cs=.exe)
|
|
|
@@ -72,13 +70,28 @@ run-tests: $(TEST_CASES:.cs=.exe)
|
|
|
|
|
|
LINKER_PROFILE_OPTIONS :=
|
|
|
|
|
|
-# Should be in sync with runtime sdk flags
|
|
|
+BINARY_TEST_CASES =
|
|
|
+
|
|
|
+ifeq ($(PROFILE),net_4_x)
|
|
|
+BINARY_TEST_CASES_ROOT:=../../../external/illinker-test-assets/net_4_x/
|
|
|
+
|
|
|
+BINARY_TEST_CASES = \
|
|
|
+ $(BINARY_TEST_CASES_ROOT)Newtonsoft.Json.Test/bin/Release/Newtonsoft.Json.Test.exe
|
|
|
+endif
|
|
|
+
|
|
|
ifeq ($(PROFILE),monotouch)
|
|
|
+
|
|
|
+# Should be in sync with runtime sdk flags
|
|
|
LINKER_PROFILE_OPTIONS += --exclude-feature remoting --exclude-feature com --exclude-feature etw
|
|
|
+
|
|
|
+BINARY_TEST_CASES_ROOT:=../../../external/illinker-test-assets/monotouch/
|
|
|
+
|
|
|
+BINARY_TEST_CASES = \
|
|
|
+ $(BINARY_TEST_CASES_ROOT)Newtonsoft.Json.Test/bin/iPhoneSimulator/Release/Newtonsoft.Json.Test.exe
|
|
|
endif
|
|
|
|
|
|
ifeq ($(PROFILE),wasm)
|
|
|
-LINKER_PROFILE_OPTIONS += --exclude-feature remoting --exclude-feature com --exclude-feature etw --exclude-feature sre
|
|
|
+LINKER_PROFILE_OPTIONS += --exclude-feature remoting --exclude-feature com --exclude-feature etw
|
|
|
endif
|
|
|
|
|
|
LINKER_OUTPUT := illink-output-$(PROFILE_DIRECTORY)
|
|
|
@@ -115,24 +128,26 @@ mscorlib/test-marshaling.exe: $(MARSHALING_TEST_NATIVE)
|
|
|
@rm -rf $(LINKER_OUTPUT)
|
|
|
|
|
|
BCL_ASSEMBLIES_CORE=mscorlib.dll System.dll System.Core.dll System.Xml.dll
|
|
|
-BCL_ASSEMBLIES=$(BCL_ASSEMBLIES_CORE) $(sort $(filter-out $(BCL_ASSEMBLIES_CORE), $(notdir $(wildcard $(PROFILE_PATH)/System.*.dll)) ))
|
|
|
+BCL_ASSEMBLIES=$(BCL_ASSEMBLIES_CORE) $(sort $(filter-out $(BCL_ASSEMBLIES_CORE), $(notdir $(wildcard $(PROFILE_PATH)/System.*.dll $(PROFILE_PATH)/Microsoft.*.dll $(PROFILE_PATH)/I18*.dll )) ))
|
|
|
|
|
|
COMMA=,
|
|
|
REPORT_FILE=$(PROFILE)-linked-size.csv
|
|
|
|
|
|
bcl-size-current: compile-tests
|
|
|
@echo "App,$$(echo '$(BCL_ASSEMBLIES)' | tr ' ' ',')" > $(REPORT_FILE)
|
|
|
- @for app in $(sort $(SIZE_TEST_CASES:.cs=.exe) $(TEST_CASES:.cs=.exe)); do \
|
|
|
+ @for app in $(sort $(BINARY_TEST_CASES) $(patsubst %.cs,Tests/%.exe,$(TEST_CASES))); do \
|
|
|
rm -rf $(LINKER_OUTPUT); \
|
|
|
mkdir $(LINKER_OUTPUT); \
|
|
|
- echo Checking linked BCL size for $$app; \
|
|
|
- $(LINKER_DEFAULT) -a Tests/$$app; \
|
|
|
+ app_name=$${app#$(BINARY_TEST_CASES_ROOT)}; \
|
|
|
+ app_name=$${app_name#Tests/}; \
|
|
|
+ echo Checking linked BCL size for $$app_name; \
|
|
|
+ $(LINKER_DEFAULT) -a $$app; \
|
|
|
sizes=""; \
|
|
|
for asm in $(BCL_ASSEMBLIES); do \
|
|
|
if [ -f "$(LINKER_OUTPUT)/$$asm" ]; then size=$$(wc -c < "$(LINKER_OUTPUT)/$$asm" | tr -d "[:space:]"); else size="0"; fi; \
|
|
|
sizes="$$sizes,$$size"; \
|
|
|
done; \
|
|
|
- echo "$$app$$sizes" >> $(REPORT_FILE); \
|
|
|
+ echo "$$app_name$$sizes" >> $(REPORT_FILE); \
|
|
|
rm -rf $(LINKER_OUTPUT); \
|
|
|
done;
|
|
|
|