add --r2r option for nitool to test ready-to-run feature of coreclr 2.1
[platform/core/dotnet/launcher.git] / NativeLauncher / installer-plugin / nitool.cc
index 989fb42..bb996af 100644 (file)
@@ -46,6 +46,7 @@ static void help(const char *argv0)
                "               --dll               - Create NI for DLL\n"
                "               --pkg               - Create NI for package\n"
                "               --dir               - Create NI for directory\n"
+               "               --r2r               - Use ready-to-run option (default: FNV)\n"
                "               --reset-system      - Remove System NI files\n"
                "               --reset-pkg         - Remove App NI files\n"
                "               --regen-all-app     - Re-generate All App NI files\n"
@@ -66,12 +67,17 @@ int main(int argc, char* argv[])
        bool dllMode = false;
        bool dirMode = false;
        bool rmPkgMode = false;
+       bool enableR2R = false;
+
+       if (cmdOptionExists(argv, argv+argc, "--r2r")) {
+               enableR2R = true;
+       }
 
        if (cmdOptionExists(argv, argv+argc, "--help")) {
                help(argv[0]);
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--system")) {
-               createNiPlatform();
+               createNiPlatform(enableR2R);
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--dll")) {
                dllMode = true;
@@ -105,7 +111,7 @@ int main(int argc, char* argv[])
 
        if (pkgMode) {
                for (const char* pkg : args) {
-                       if (createNiUnderPkgRoot(pkg) != 0) {
+                       if (createNiUnderPkgRoot(pkg, enableR2R) != 0) {
                                fprintf(stderr, "Failed to get root path from [%s]\n", pkg);
                                return 1;
                        }
@@ -119,9 +125,9 @@ int main(int argc, char* argv[])
                }
        } else if (dllMode) {
                for (const char* dll : args)
-                       createNiSelect(dll);
+                       createNiSelect(dll, enableR2R);
        } else if (dirMode) {
-               createNiUnderDirs(args.data(), args.size(), false);
+               createNiUnderDirs(args.data(), args.size(), false, enableR2R);
        }
 
        return 0;