// // Can't rely on a variable initialization order for globals, so any // variables that need to be initialized in a particular order go here // static void setupOrderedGlobals(const char* argv0) { // Set up CHPL_HOME first setupChplHome(argv0); // Then CHPL_* variables SETUP_ENV_VAR(CHPL_HOST_PLATFORM, "chplenv/platform --host"); SETUP_ENV_VAR(CHPL_HOST_COMPILER, "chplenv/compiler --host"); SETUP_ENV_VAR(CHPL_TARGET_PLATFORM, "chplenv/platform --target"); SETUP_ENV_VAR(CHPL_TARGET_COMPILER, "chplenv/compiler --target"); SETUP_ENV_VAR(CHPL_LOCALE_MODEL, "chplenv/localeModel"); SETUP_ENV_VAR(CHPL_COMM, "chplenv/comm"); SETUP_ENV_VAR(CHPL_COMM_SUBSTRATE, "chplenv/commSubstrate"); SETUP_ENV_VAR(CHPL_GASNET_SEGMENT, "chplenv/commSegment"); SETUP_ENV_VAR(CHPL_TASKS, "chplenv/tasks"); SETUP_ENV_VAR(CHPL_THREADS, "chplenv/threads"); SETUP_ENV_VAR(CHPL_LAUNCHER, "chplenv/launcher"); SETUP_ENV_VAR(CHPL_TIMERS, "chplenv/timers"); SETUP_ENV_VAR(CHPL_MEM, "chplenv/mem"); SETUP_ENV_VAR(CHPL_MAKE, "chplenv/chplmake"); SETUP_ENV_VAR(CHPL_ATOMICS, "chplenv/atomics"); SETUP_ENV_VAR(CHPL_NETWORK_ATOMICS, "chplenv/atomics --network"); SETUP_ENV_VAR(CHPL_GMP, "chplenv/gmp"); SETUP_ENV_VAR(CHPL_REGEXP, "chplenv/regexp"); SETUP_ENV_VAR(CHPL_WIDE_POINTERS, "chplenv/widePointers"); SETUP_ENV_VAR(CHPL_LLVM, "chplenv/llvm"); SETUP_ENV_VAR(CHPL_AUX_FILESYS, "chplenv/auxFilesys"); // These depend on the environment variables being set fLocal = !strcmp(CHPL_COMM, "none"); fSerial = !strcmp(CHPL_TASKS, "none"); bool gotPGI = !strcmp(CHPL_TARGET_COMPILER, "pgi") || !strcmp(CHPL_TARGET_COMPILER, "cray-prgenv-pgi"); // conservatively how much is needed for the current PGI compiler if (gotPGI) fMaxCIdentLen = 1020; if( 0 == strcmp(CHPL_WIDE_POINTERS, "struct") ) { widePointersStruct = true; } else { widePointersStruct = false; } }
static void setupEnvVars() { std::string vars = runUtilScript("printchplenv --simple"); std::istringstream iss(vars); SETUP_ENV_VAR(CHPL_HOST_PLATFORM); SETUP_ENV_VAR(CHPL_HOST_COMPILER); SETUP_ENV_VAR(CHPL_TARGET_PLATFORM); SETUP_ENV_VAR(CHPL_TARGET_COMPILER); SETUP_ENV_VAR(CHPL_TARGET_ARCH); SETUP_ENV_VAR(CHPL_LOCALE_MODEL); SETUP_ENV_VAR(CHPL_COMM); SETUP_ENV_VAR(CHPL_COMM_SUBSTRATE); SETUP_ENV_VAR(CHPL_GASNET_SEGMENT); SETUP_ENV_VAR(CHPL_TASKS); SETUP_ENV_VAR(CHPL_THREADS); SETUP_ENV_VAR(CHPL_LAUNCHER); SETUP_ENV_VAR(CHPL_TIMERS); SETUP_ENV_VAR(CHPL_MEM); SETUP_ENV_VAR(CHPL_MAKE); SETUP_ENV_VAR(CHPL_ATOMICS); SETUP_ENV_VAR(CHPL_NETWORK_ATOMICS); SETUP_ENV_VAR(CHPL_GMP); SETUP_ENV_VAR(CHPL_HWLOC); SETUP_ENV_VAR(CHPL_REGEXP); SETUP_ENV_VAR(CHPL_WIDE_POINTERS); SETUP_ENV_VAR(CHPL_LLVM); SETUP_ENV_VAR(CHPL_AUX_FILESYS); }