#define PRE_COMPILED_PACKAGE_FILE "._TIZEN_DOTNET_PRE_COMPILED_PACKAGE"
#if defined (__aarch64__)
-#define ARCHITECTURE_IDENTIFIER "arm64"
+#define ARCHITECTURE_IDENTIFIER "arm64"
+#define ARCHITECTURE_IDENTIFIER_GENERAL ARCHITECTURE_IDENTIFIER
#elif defined (__arm__)
-#define ARCHITECTURE_IDENTIFIER "armel"
+#define ARCHITECTURE_IDENTIFIER "armel"
+#define ARCHITECTURE_IDENTIFIER_GENERAL "arm"
#elif defined (__x86_64__)
-#define ARCHITECTURE_IDENTIFIER "x64"
+#define ARCHITECTURE_IDENTIFIER "x64"
+#define ARCHITECTURE_IDENTIFIER_GENERAL ARCHITECTURE_IDENTIFIER
#elif defined (__i386__)
-#define ARCHITECTURE_IDENTIFIER "x86"
+#define ARCHITECTURE_IDENTIFIER "x86"
+#define ARCHITECTURE_IDENTIFIER_GENERAL ARCHITECTURE_IDENTIFIER
#elif defined (__riscv)
-#define ARCHITECTURE_IDENTIFIER "riscv64"
+#define ARCHITECTURE_IDENTIFIER "riscv64"
+#define ARCHITECTURE_IDENTIFIER_GENERAL ARCHITECTURE_IDENTIFIER
#else
-#error "Unknown target"
+#error "Unknown target"
#endif
#endif //__LAUNCHER_ENV_H_
#define __XSTR(x) #x
#define __STR(x) __XSTR(x)
-#if defined(__arm__) || defined(__aarch64__)
static const char* __NATIVE_LIB_DIR = __STR(NATIVE_LIB_DIR);
-#endif
static const char* __DOTNET_DIR = __STR(DOTNET_DIR);
+static const char* __RUNTIME_DIR = __STR(RUNTIME_DIR);
static const char* __READ_ONLY_APP_UPDATE_DIR = __STR(READ_ONLY_APP_UPDATE_DIR);
#ifdef UNIQUE_DEFAULT_BASE_ADDR_SUPPORT
ni_error_e initNICommon()
{
-#if defined(__arm__) || defined(__aarch64__)
+#ifdef __i386__
+ _SERR("x86 doesnot supported. skip ni file generation");
+ return NI_ERROR_NOT_SUPPORTED;
+#endif
char *env = nullptr;
env = getenv("MIC_CROSSGEN2_ENABLED");
if (env != nullptr && !strcmp(env, "1")) {
CORERUN_CMD = std::string("/opt/usr/dotnet/mic/crossgen2");
CROSSGEN2_PATH = "";
- CLRJIT_PATH = std::string("/opt/usr/dotnet/mic/libclrjit_unix_") + ARCHITECTURE_IDENTIFIER + std::string("_x64.so");
+ CLRJIT_PATH = std::string("/opt/usr/dotnet/mic/libclrjit_");
+ if (strstr(bf::read_symlink(__RUNTIME_DIR).string().c_str(), "6.0.") != NULL) {
+ CLRJIT_PATH.append("unix_"); //6.0.X
+ } else {
+ CLRJIT_PATH.append("universal_");
+ }
+ CLRJIT_PATH.append(ARCHITECTURE_IDENTIFIER_GENERAL);
+ CLRJIT_PATH.append("_x64.so");
}
// get interval value
}
return NI_ERROR_NONE;
-#else
- _SERR("crossgen supports arm/arm64 architecture only. skip ni file generation");
- return NI_ERROR_NOT_SUPPORTED;
-#endif
}
void finalizeNICommon()