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));
}