summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNoah Falk <noahfalk@users.noreply.github.com>2018-06-05 20:40:12 -0700
committerGitHub <noreply@github.com>2018-06-05 20:40:12 -0700
commitff363a5bf4cfe4f749c4e4250531405eba86739a (patch)
tree5b620d26ca4a6aebddb7c4a470a069882492da27 /src
parent27ece206df495507544700fcf97e27deb6d66f66 (diff)
downloadcoreclr-ff363a5bf4cfe4f749c4e4250531405eba86739a.tar.gz
coreclr-ff363a5bf4cfe4f749c4e4250531405eba86739a.tar.bz2
coreclr-ff363a5bf4cfe4f749c4e4250531405eba86739a.zip
Add instructions for making idl file changes (#18188)
Diffstat (limited to 'src')
-rw-r--r--src/inc/readme.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/inc/readme.md b/src/inc/readme.md
new file mode 100644
index 0000000000..719401cb8e
--- /dev/null
+++ b/src/inc/readme.md
@@ -0,0 +1,12 @@
+# Updating idl files
+
+This directory has a variety of .idl files (such as corprof.idl) that need a little special handling when you make changes. Originally when we built on Windows only
+the build rules would automatically convert the idls into corresponding .h/.c files and include them in compilations. On non-windows platforms we don't have an equivalent
+for midl.exe which did that conversion so we work around the issue by doing:
+
+- Build on Windows as normal, which will generate files in bin\obj\Windows_NT.x64.Debug\src\inc\idls_out\
+- Copy any updated headers into src\pal\prebuilt\inc\
+- If needed, adjust any of the .cpp files in src\pal\prebuilt\idl\ by hand, using the corresponding bin\obj\Windows_NT.x64.Debug\src\inc\idls_out\*_i.c as a guide. Typically
+this is just adding MIDL_DEFINE_GUID(...) for any new classes/interfaces that have been added to the idl file.
+
+Include these src changes with the remainder of your work when you submit a PR. \ No newline at end of file