-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
We can now compile blaze_util_windows.cc with MSVC, yay! (when building //src:bazel --cpu=x64_windows_msvc -k). There are a lot of #ifdef's and TODOs so this is a modest victory for now. In this change: - change blaze::MakeDirectories to return bool instead of int, since that's how it was used anyway, and to expect the permission mask as unsigned int instead of mode_t, since the former is good enough and compatible with mode_t on POSIX while mode_t is not defined on Windows - move blaze::MakeDirectories into blaze_util_<platform> - implement envvar-handling in blaze_util_<platform> and use it everywhere See #2107 -- MOS_MIGRATED_REVID=139887503
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -721,7 +721,7 @@ static void StartServerAndConnect(BlazeServer *server) { | |
|
||
// The server dir has the socket, so we don't allow access by other | ||
// users. | ||
if (MakeDirectories(server_dir, 0700) == -1) { | ||
if (!MakeDirectories(server_dir, 0700)) { | ||
pdie(blaze_exit_code::LOCAL_ENVIRONMENTAL_ERROR, | ||
"server directory '%s' could not be created", server_dir.c_str()); | ||
} | ||
|
@@ -797,7 +797,7 @@ class ExtractBlazeZipProcessor : public devtools_ijar::ZipExtractorProcessor { | |
virtual void Process(const char *filename, const devtools_ijar::u4 attr, | ||
const devtools_ijar::u1 *data, const size_t size) { | ||
string path = blaze_util::JoinPath(embedded_binaries_, filename); | ||
if (MakeDirectories(blaze_util::Dirname(path), 0777) == -1) { | ||
if (!MakeDirectories(blaze_util::Dirname(path), 0777)) { | ||
pdie(blaze_exit_code::INTERNAL_ERROR, | ||
"couldn't create '%s'", path.c_str()); | ||
} | ||
|
@@ -818,7 +818,7 @@ class ExtractBlazeZipProcessor : public devtools_ijar::ZipExtractorProcessor { | |
static void ActuallyExtractData(const string &argv0, | ||
const string &embedded_binaries) { | ||
ExtractBlazeZipProcessor processor(embedded_binaries); | ||
if (MakeDirectories(embedded_binaries, 0777) == -1) { | ||
if (!MakeDirectories(embedded_binaries, 0777)) { | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
laszlocsomor
Author
Contributor
|
||
pdie(blaze_exit_code::INTERNAL_ERROR, "couldn't create '%s'", | ||
embedded_binaries.c_str()); | ||
} | ||
|
@@ -1254,7 +1254,7 @@ static void ComputeBaseDirectories(const string &self_path) { | |
|
||
const char *output_base = globals->options->output_base.c_str(); | ||
if (!blaze_util::PathExists(globals->options->output_base)) { | ||
if (MakeDirectories(globals->options->output_base, 0777) == -1) { | ||
if (!MakeDirectories(globals->options->output_base, 0777)) { | ||
pdie(blaze_exit_code::LOCAL_ENVIRONMENTAL_ERROR, | ||
"Output base directory '%s' could not be created", | ||
output_base); | ||
|
@@ -1280,32 +1280,32 @@ static void ComputeBaseDirectories(const string &self_path) { | |
} | ||
|
||
static void CheckEnvironment() { | ||
if (getenv("http_proxy") != NULL) { | ||
if (!blaze::GetEnv("http_proxy").empty()) { | ||
fprintf(stderr, "Warning: ignoring http_proxy in environment.\n"); | ||
unsetenv("http_proxy"); | ||
blaze::UnsetEnv("http_proxy"); | ||
} | ||
|
||
if (getenv("LD_ASSUME_KERNEL") != NULL) { | ||
if (!blaze::GetEnv("LD_ASSUME_KERNEL").empty()) { | ||
// Fix for bug: if ulimit -s and LD_ASSUME_KERNEL are both | ||
// specified, the JVM fails to create threads. See thread_stack_regtest. | ||
// This is also provoked by LD_LIBRARY_PATH=/usr/lib/debug, | ||
// or anything else that causes the JVM to use LinuxThreads. | ||
fprintf(stderr, "Warning: ignoring LD_ASSUME_KERNEL in environment.\n"); | ||
unsetenv("LD_ASSUME_KERNEL"); | ||
blaze::UnsetEnv("LD_ASSUME_KERNEL"); | ||
} | ||
|
||
if (getenv("LD_PRELOAD") != NULL) { | ||
if (!blaze::GetEnv("LD_PRELOAD").empty()) { | ||
fprintf(stderr, "Warning: ignoring LD_PRELOAD in environment.\n"); | ||
unsetenv("LD_PRELOAD"); | ||
blaze::UnsetEnv("LD_PRELOAD"); | ||
} | ||
|
||
if (getenv("_JAVA_OPTIONS") != NULL) { | ||
if (!blaze::GetEnv("_JAVA_OPTIONS").empty()) { | ||
// This would override --host_jvm_args | ||
fprintf(stderr, "Warning: ignoring _JAVA_OPTIONS in environment.\n"); | ||
unsetenv("_JAVA_OPTIONS"); | ||
blaze::UnsetEnv("_JAVA_OPTIONS"); | ||
} | ||
|
||
if (getenv("TEST_TMPDIR") != NULL) { | ||
if (!blaze::GetEnv("TEST_TMPDIR").empty()) { | ||
fprintf(stderr, "INFO: $TEST_TMPDIR defined: output root default is " | ||
"'%s'.\n", globals->options->output_root.c_str()); | ||
} | ||
|
@@ -1316,10 +1316,10 @@ static void CheckEnvironment() { | |
// Make the JVM use ISO-8859-1 for parsing its command line because "blaze | ||
// run" doesn't handle non-ASCII command line arguments. This is apparently | ||
// the most reliable way to select the platform default encoding. | ||
setenv("LANG", "en_US.ISO-8859-1", 1); | ||
setenv("LANGUAGE", "en_US.ISO-8859-1", 1); | ||
setenv("LC_ALL", "en_US.ISO-8859-1", 1); | ||
setenv("LC_CTYPE", "en_US.ISO-8859-1", 1); | ||
blaze::SetEnv("LANG", "en_US.ISO-8859-1"); | ||
blaze::SetEnv("LANGUAGE", "en_US.ISO-8859-1"); | ||
blaze::SetEnv("LC_ALL", "en_US.ISO-8859-1"); | ||
blaze::SetEnv("LC_CTYPE", "en_US.ISO-8859-1"); | ||
} | ||
|
||
static void SetupStreams() { | ||
|
Is there a reason why
MakeDirectories
is not returning something a bit more descriptive likestd::error_condition
?