Skip to content

Commit

Permalink
Remove .csproj files from mcs/ build, they were never used (mono#20883)
Browse files Browse the repository at this point in the history
This allows us to remove a lot of cruft and simplifies our CI build.
  • Loading branch information
akoeplinger authored Feb 26, 2021
1 parent 6910cd1 commit 1ed1688
Show file tree
Hide file tree
Showing 399 changed files with 12 additions and 91,872 deletions.
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@
/mono/utils/*-win* @lateralusX @lambdageek

/msvc @lateralusX @kg @akoeplinger
/msvc/scripts @akoeplinger @kg

/netcore @marek-safar @akoeplinger @egorbo @vargaz @steveisok

Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ mono.h
mono-*.tar.*
mono_crash*
tmpinst-dir.stamp
msvc/scripts/inputs/
extensions-config.h
*.dylib.dSYM
*.mlpd
Expand Down
38 changes: 0 additions & 38 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -96,47 +96,9 @@ install:
(cd $${mydir} && ${MAKE} install) \
done

update-csproj:
-rm msvc/scripts/order
-rm msvc/scripts/order.xml
-rm -rf msvc/scripts/inputs
-mkdir msvc/scripts/inputs
(cd runtime; $(MAKE) V=1 extra_targets=csproj-local)

package-inputs:
echo '<?xml version="1.0" encoding="utf-8"?>' > msvc/scripts/order.xml
echo '<root>' >> msvc/scripts/order.xml
for i in `cat msvc/scripts/order`; do \
set `echo $$i | sed -e 's/:/ /' -e 's/.input//'`; \
cat msvc/scripts/inputs/$$2.input | sed -e 's/\\\\/\\/g' -e 's/\\/\\\\/g' | \
(echo " <project dir=\"$$1\" library=\"$$2\">"; \
read boot; echo " <boot>$$boot</boot>"; \
read flags; echo " <flags>$$flags</flags>"; \
read sources;echo " <sources>$$sources</sources>"; \
read output; echo " <output>$$output</output>"; \
read built; echo " <built_sources>`echo $$built | sed 's/\\\/\\\\/g'`</built_sources>"; \
read libou; echo " <library_output>$$libou</library_output>"; \
read fx_ver; echo " <fx_version>$$fx_ver</fx_version>"; \
read profile; echo " <profile>$$profile</profile>"; \
read resxt; echo " <resources>$$resxt</resources>"; \
read resp; echo " <response>$$resp</response>"; \
echo " </project>") >> msvc/scripts/order.xml; \
done
echo "</root>" >> msvc/scripts/order.xml

# Update llvm version in configure.ac to the output of $LLVM_DIR/bin/llvm-config --version
update-llvm-version:
if test "x$$LLVM_DIR" = "x"; then echo "Set the make variable LLVM_DIR to the directory containing the LLVM installation."; exit 1; fi
REV=`$(LLVM_DIR)/bin/llvm-config --version` && sed -e "s,expected_llvm_version=.*,expected_llvm_version=\"$$REV\"," < configure.ac > tmp && mv tmp configure.ac && echo "Version set to $$REV."


update-solution-files:
cd msvc/scripts && $(MAKE) genproj.exe || exit $$?;
$(MAKE) update-csproj
$(MAKE) package-inputs
(cd msvc/scripts; mono --debug genproj.exe $(GENPROJ_ARGS))

update-solution-files-with-tests:
$(MAKE) "GENPROJ_ARGS=2012 true true" update-solution-files

endif
18 changes: 0 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -586,21 +586,3 @@ Mono Trademark Use Policy
=========================

The use of trademarks and logos for Mono can be found [here](https://www.dotnetfoundation.org/legal/mono-tm).

Maintaining the Class Library Solution Files
============================================

Mono now ships with a solution file that can be used to build the
assemblies from an IDE. Either by opening the topmost `net_4_x.sln`
file, or to by loading one of the individual `csproj` files located in
each directory.

These are maintained by extracting the configuration information from
our Makefiles, which as of May 2016 remain the canonical location for
configuration information.

When changes are made to the Makefiles, a user would need to run the
following command to re-generate the solution files at the top level:

$ make update-solution-files

11,183 changes: 0 additions & 11,183 deletions bcl.sln

This file was deleted.

7 changes: 0 additions & 7 deletions build-libs.bat

This file was deleted.

4 changes: 0 additions & 4 deletions build-libs.sh

This file was deleted.

1 change: 0 additions & 1 deletion mcs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ TestResult-*.xml
TestResult*.xml
.dep_dirs-*
apidiff/*
csprojdiff/*
errors/*.log
errors/dummy.xml
class/RabbitMQ.Client/docs/specs/autogenerated-api-0-8.cs
Expand Down
10 changes: 0 additions & 10 deletions mcs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,6 @@ DISTFILES = \

dist-local: dist-default

csproj-local:

dist-pre:
rm -rf $(package)
mkdir $(package)
Expand Down Expand Up @@ -188,11 +186,3 @@ mono-api-diff:
@mkdir -p apidiff
$(Q) sed -e "/@diffdata@/r temp.patch" -e "/@diffdata@/d" -e "s/@title@/Public API Diff/g" -e "s/@description@/If the changes are intentional, run <code>make -C mcs mono-api-diff<\/code> locally and commit changes in external\/api-snapshot./g" diff.html.in > apidiff/index.html
$(Q) if [ -s temp.patch ]; then echo "Error: Found public API differences, see mcs/apidiff/index.html. If the changes are intentional, please go to external/api-snapshot and commit them."; rm -f temp.patch; exit 1; else echo "No differences found."; rm -f temp.patch; fi

mono-csproj-diff:
@echo "Generating csproj diff..."
$(Q) git add -A "*.csproj" $(topdir)../bcl.sln
$(Q) git diff --no-renames HEAD "*.csproj" $(topdir)../bcl.sln > $(abspath $(topdir))/temp.patch
@mkdir -p csprojdiff
$(Q) sed -e "/@diffdata@/r temp.patch" -e "/@diffdata@/d" -e "s/@title@/Project Files Diff/g" -e "s/@description@/Use <code>@monojenkins commit csproj<\/code> to commit them./g" diff.html.in > csprojdiff/index.html
$(Q) if [ -s temp.patch ]; then echo "Error: Found csproj differences, see mcs/csprojdiff/index.html. If the changes are intentional, please commit them."; rm -f temp.patch; exit 1; else echo "No differences found."; rm -f temp.patch; fi
2 changes: 1 addition & 1 deletion mcs/build/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ include ../build/rules.make

BUILT_FILES = common/Consts.cs $(topdir)/class/lib/$(PROFILE_DIRECTORY)/Consts.cs common/sourcelink.json

all-local install-local test-local run-test-local csproj-local run-test-ondotnet-local uninstall-local doc-update-local: $(BUILT_FILES)
all-local install-local test-local run-test-local run-test-ondotnet-local uninstall-local doc-update-local: $(BUILT_FILES)
@:

clean-local:
Expand Down
15 changes: 0 additions & 15 deletions mcs/build/executable.make
Original file line number Diff line number Diff line change
Expand Up @@ -186,21 +186,6 @@ BUILT_SOURCES_cmdline = `echo $(BUILT_SOURCES) | $(PLATFORM_CHANGE_SEPARATOR_CMD
endif
endif

csproj-local:
config_file=`basename $(PROGRAM) .exe`-$(PROFILE).input; \
echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
(echo $(is_boot); \
echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) $(patsubst %,-r:%,$(LIB_REFS)); \
echo $(sourcefile); \
echo $(PROGRAM); \
echo $(BUILT_SOURCES_cmdline); \
echo $(build_lib); \
echo $(FRAMEWORK_VERSION); \
echo $(PROFILE); \
echo $(RESOURCE_DEFS); \
echo $(response)) > $(topdir)/../msvc/scripts/inputs/$$config_file


ifneq ($(response),$(sourcefile))
$(response): $(topdir)/build/executable.make $(depsdir)/.stamp
endif
Expand Down
35 changes: 0 additions & 35 deletions mcs/build/library.make
Original file line number Diff line number Diff line change
Expand Up @@ -118,26 +118,6 @@ else
is_boot=false
endif

csproj-local: csproj-library csproj-test

intermediate_clean=$(subst /,-,$(intermediate))
csproj-library:
config_file=`basename $(LIBRARY) .dll`-$(intermediate_clean)$(PROFILE).input; \
case "$(thisdir)" in *"Facades"*) config_file=Facades_$$config_file;; *"legacy"*) config_file=legacy_$$config_file;; esac; \
echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
(echo $(is_boot); \
echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) $(KEYFILE_MCS_FLAGS); \
echo $(LIBRARY); \
echo $(LIBRARY_NAME); \
echo $(BUILT_SOURCES_cmdline); \
echo $(build_lib); \
echo $(FRAMEWORK_VERSION); \
echo $(PROFILE); \
echo $(RESOURCE_DEFS); \
echo $(response)) > $(topdir)/../msvc/scripts/inputs/$$config_file

csproj-test:

install-local: all-local
test-local: all-local
uninstall-local:
Expand Down Expand Up @@ -238,21 +218,6 @@ include $(topdir)/build/tests.make

ifdef HAVE_CS_TESTS
DISTFILES += $(test_sourcefile)

csproj-test:
config_file=`basename $(LIBRARY) .dll`-tests-$(PROFILE).input; \
echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
(echo false; \
echo $(USE_MCS_FLAGS) -r:$(the_assembly) $(TEST_MCS_FLAGS); \
echo $(LIBRARY); \
echo $(test_lib); \
echo $(BUILT_SOURCES_cmdline); \
echo $(test_lib); \
echo $(FRAMEWORK_VERSION); \
echo $(PROFILE); \
echo ""; \
echo $(test_response)) > $(topdir)/../msvc/scripts/inputs/$$config_file

endif

# make dist will collect files in .sources files from all profiles
Expand Down
2 changes: 0 additions & 2 deletions mcs/build/rules.make
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,6 @@ do-%: %-recursive
.PHONY: all-local $(STD_TARGETS:=-local)
all-local $(STD_TARGETS:=-local):

csproj: do-csproj

# The way this is set up, any profile-specific subdirs list should
# be listed _before_ including rules.make. However, the default
# SUBDIRS list can come after, so don't use the eager := syntax when
Expand Down
75 changes: 0 additions & 75 deletions mcs/class/Accessibility/Accessibility.csproj

This file was deleted.

Loading

0 comments on commit 1ed1688

Please sign in to comment.