Add instructions for making idl file changes (#18188)
authorNoah Falk <noahfalk@users.noreply.github.com>
Wed, 6 Jun 2018 03:40:12 +0000 (20:40 -0700)
committerGitHub <noreply@github.com>
Wed, 6 Jun 2018 03:40:12 +0000 (20:40 -0700)
src/inc/readme.md [new file with mode: 0644]

diff --git a/src/inc/readme.md b/src/inc/readme.md
new file mode 100644 (file)
index 0000000..719401c
--- /dev/null
@@ -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