forked from OSchip/llvm-project
System/Path/Windows: Make GetSystemLibraryPaths more generic.
llvm-svn: 118505
This commit is contained in:
parent
bb6e51c957
commit
181fd8cd89
|
@ -240,8 +240,32 @@ Path::GetRootDirectory() {
|
|||
|
||||
void
|
||||
Path::GetSystemLibraryPaths(std::vector<sys::Path>& Paths) {
|
||||
Paths.push_back(sys::Path("C:/WINDOWS/SYSTEM32"));
|
||||
Paths.push_back(sys::Path("C:/WINDOWS"));
|
||||
char buff[MAX_PATH];
|
||||
// Generic form of C:\Windows\System32
|
||||
HRESULT res = SHGetFolderPathA(NULL,
|
||||
CSIDL_FLAG_CREATE | CSIDL_SYSTEM,
|
||||
NULL,
|
||||
SHGFP_TYPE_CURRENT,
|
||||
buff);
|
||||
if (res != S_OK) {
|
||||
assert(0 && "Failed to get system directory");
|
||||
return;
|
||||
}
|
||||
Paths.push_back(sys::Path(buff));
|
||||
|
||||
// Reset buff.
|
||||
buff[0] = 0;
|
||||
// Generic form of C:\Windows
|
||||
res = SHGetFolderPathA(NULL,
|
||||
CSIDL_FLAG_CREATE | CSIDL_WINDOWS,
|
||||
NULL,
|
||||
SHGFP_TYPE_CURRENT,
|
||||
buff);
|
||||
if (res != S_OK) {
|
||||
assert(0 && "Failed to get windows directory");
|
||||
return;
|
||||
}
|
||||
Paths.push_back(sys::Path(buff));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -18,10 +18,12 @@
|
|||
|
||||
// Require at least Windows 2000 API.
|
||||
#define _WIN32_WINNT 0x0500
|
||||
#define _WIN32_IE 0x0500 // MinGW at it again.
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#include "llvm/Config/config.h" // Get build system configuration settings
|
||||
#include <Windows.h>
|
||||
#include <ShlObj.h>
|
||||
#include <cassert>
|
||||
#include <string>
|
||||
|
||||
|
|
Loading…
Reference in New Issue