diff --git a/README b/README
index 1f55547..4935258 100644
--- a/README
+++ b/README
@@ -4,7 +4,10 @@
     This Apache Flex Compiler is also known as the 'Falcon' compiler.  It is 
     the next-generation replacement to the MXMLC compiler that is currently 
     bundled with the Apache Flex SDK and is based on the Adobe ASC2.0 code base
-    donated to Apache by Adobe Systems Inc. 
+    donated to Apache by Adobe Systems Inc.
+
+    This Compiler may also be packaged with the Apache Flex Cross-Compiler which
+    has additional information in the README_JX file.
 
     For detailed information about Apache Flex please visit
     http://flex.apache.org/
@@ -209,7 +212,10 @@
 ----------------------------------------------
 
     When you have all the prerequisites in place and the environment variables
-    set (see Install Prerequisites above), use
+    set (see Install Prerequisites above), one final thing to check is whether
+    the folder contain the source code is in your Flash Player Trust files as
+    the build script runs the Flash Player Debugger as part of its automated
+    tests.  Once you've done that, use
 
         cd <falcon.dir>
         ant main        (or just ant since the default target is main)
diff --git a/README_JX b/README_JX
index 97d9e6f..e82459c 100644
--- a/README_JX
+++ b/README_JX
@@ -99,7 +99,7 @@
     set (see Install Prerequisites above), use
 
         cd <falcon.dir>
-        ant all        (or just ant since the default target is main)
+        ant all
 
     to download the thirdparty dependencies and build the source.  Since the
     third-party dependencies take a little while to download and they don't
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 847540d..b48b05b 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -30,6 +30,11 @@
 
 The files in compiler/commandline are templates used to create a 'final' SDK.  You cannot run the files in compiler/commandline.  Instead, after the build is complete, there will be an SDK with a bin folder with the same files in compiler/generated/dist/sdk
 
+Compiling with the Flex SDK
+
+This compiler has only been tested against the FlexJS SDK which does not exercise all
+of the features of the Flex SDK, so results of compiling against the Flex SDK are
+not guaranteed.
 
 Please report new issues to our bugbase at:
 
diff --git a/RELEASE_NOTES_JX b/RELEASE_NOTES_JX
index aa2ec67..dbf606e 100644
--- a/RELEASE_NOTES_JX
+++ b/RELEASE_NOTES_JX
@@ -9,7 +9,18 @@
 Known Issues
 _____________
 
-None at this time.
+Unimplemented Compiler Features
+
+The FlexJS SDK does not support embedding of assets or fonts and the compiler may
+not handle embedding correctly and may even throw errors.
+
+Flex SDK is not supported.
+
+The FalconJX cross-compiler only supports compilation against a FlexJS SDK, not the Apache Flex SDK.
+
+Command-line Usage
+
+The FalconJX cross-compiler supports multiple output types.  They are specified to mxmlc and compc scripts and batch files via the options -js-output-type.  Only -js-output-type=FLEXJS is supported.
 
 Please report new issues to our bugbase at:
 
