auto import from //branches/cupcake/...@130745
diff --git a/tools/dexpreopt/dexopt-wrapper/DexOptWrapper.cpp b/tools/dexpreopt/dexopt-wrapper/DexOptWrapper.cpp
index 358f0ca..fde2d08 100644
--- a/tools/dexpreopt/dexopt-wrapper/DexOptWrapper.cpp
+++ b/tools/dexpreopt/dexopt-wrapper/DexOptWrapper.cpp
@@ -14,6 +14,8 @@
 #include <fcntl.h>
 #include <errno.h>
 
+#include "cutils/properties.h"
+
 //using namespace android;
 
 /*
@@ -36,9 +38,13 @@
     static const int kMaxIntLen = 12;   // '-'+10dig+'\0' -OR- 0x+8dig
     char zipNum[kMaxIntLen];
     char odexNum[kMaxIntLen];
+    char dexoptFlags[PROPERTY_VALUE_MAX];
     const char* androidRoot;
     char* execFile;
 
+    /* pull optional configuration tweaks out of properties */
+    property_get("dalvik.vm.dexopt-flags", dexoptFlags, "");
+
     /* find dexopt executable; this exists for simulator compatibility */
     androidRoot = getenv("ANDROID_ROOT");
     if (androidRoot == NULL)
@@ -50,7 +56,7 @@
     sprintf(odexNum, "%d", odexFd);
 
     execl(execFile, execFile, "--zip", zipNum, odexNum, inputFileName,
-        (char*) NULL);
+        dexoptFlags, (char*) NULL);
     fprintf(stderr, "execl(%s) failed: %s\n", kDexOptBin, strerror(errno));
 }