Config: Add ConfigBuildFlags, and change it based on TARGET_BUILD_TYPE

This will be used to revive android.util.Config.DEBUG.

Signed-off-by: Dave Bort <dbort@android.com>
diff --git a/Android.mk b/Android.mk
index 84d3317..42a6b31 100644
--- a/Android.mk
+++ b/Android.mk
@@ -41,6 +41,18 @@
 			org/mobilecontrol/% \
 			,$(LOCAL_SRC_FILES))
 
+# Include a different set of source files when building a debug build.
+# TODO: Maybe build these into a separate .jar and put it on the classpath
+#       in front of framework.jar.
+# NOTE: Do not use this as an example; this is a very special situation.
+#       Do not modify LOCAL_SRC_FILES based on any variable other
+#       than TARGET_BUILD_TYPE, otherwise builds can become inconsistent.
+ifeq ($(TARGET_BUILD_TYPE),debug)
+  LOCAL_SRC_FILES += $(call find-other-java-files,core/config/debug)
+else
+  LOCAL_SRC_FILES += $(call find-other-java-files,core/config/ndebug)
+endif
+
 ## READ ME: ########################################################
 ##
 ## When updating this list of aidl files, consider if that aidl is
@@ -230,6 +242,11 @@
 	   ) \
 	 )
 
+# Pass a special "fake-out" version of some classes to the doc/API tools.
+# ConfigBuildFlags uses this trick to prevent certain fields from appearing
+# as "final" in the official SDK APIs.
+fwbase_dirs_to_document += core/config/sdk
+
 # These are relative to dalvik/libcore
 # Intentionally not included from libcore:
 #     icu openssl suncompat support