diff --git a/doc/manual/source/the-model-file.rst b/doc/manual/source/the-model-file.rst
index b219ce01a8a9434245870eb152989d7bc4ac07fb..16d40aea21c7acb14675609ef5649a5b028613d4 100644
--- a/doc/manual/source/the-model-file.rst
+++ b/doc/manual/source/the-model-file.rst
@@ -11200,6 +11200,40 @@ Misc commands
     ``save_params_and_steady_state``; see the documentation of that
     function for more information.
 
+.. command:: compilation_setup (OPTIONS);
+
+   When the :opt:`use_dll` option is present, Dynare uses the GCC compiler that
+   was distributed with it to compile the static and dynamic C files produced
+   by the preprocessor. You can use this option to change the compiler, flags,
+   and libraries used.
+
+   *Options*
+
+    .. option:: compiler = FILENAME
+
+        The path to the compiler.
+
+    .. option:: substitute_flags = QUOTED_STRING
+
+       The flags to use instead of the default flags.
+
+    .. option:: add_flags = QUOTED_STRING
+
+       The flags to use in addition to the default flags. If
+       ``substitute_flags`` is passed, these flags are added to the flags
+       specified there.
+
+    .. option:: substitute_libs = QUOTED_STRING
+
+       The libraries to link against instead of the default libraries.
+
+    .. option:: add_libs = QUOTED_STRING
+
+       The libraries to link against in addition to the default libraries. If
+       ``substitute_libs`` is passed, these libraries are added to the
+       libraries specified there.
+
+
 .. matcomm:: dynare_version ;
 
     |br| Output the version of Dynare that is currently being used
diff --git a/preprocessor b/preprocessor
index 23ff36a0dd4f5ee56f553d72849a79d320b2a456..3f3ef7ca002e7a86d924c9b6de6894cf62610d39 160000
--- a/preprocessor
+++ b/preprocessor
@@ -1 +1 @@
-Subproject commit 23ff36a0dd4f5ee56f553d72849a79d320b2a456
+Subproject commit 3f3ef7ca002e7a86d924c9b6de6894cf62610d39