38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
//===- FileSystem.cpp -----------------------------------------------------===//
 | 
						|
//
 | 
						|
//                     The MCLinker Project
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
#include "mcld/Config/Config.h"
 | 
						|
#include "mcld/Support/FileSystem.h"
 | 
						|
#include "mcld/Support/Path.h"
 | 
						|
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
// non-member functions
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
bool mcld::sys::fs::exists(const Path& pPath) {
 | 
						|
  mcld::sys::fs::FileStatus file_status;
 | 
						|
  mcld::sys::fs::detail::status(pPath, file_status);
 | 
						|
  return (file_status.type() != mcld::sys::fs::StatusError) &&
 | 
						|
         (file_status.type() != mcld::sys::fs::FileNotFound);
 | 
						|
}
 | 
						|
 | 
						|
bool mcld::sys::fs::is_directory(const Path& pPath) {
 | 
						|
  FileStatus file_status;
 | 
						|
  detail::status(pPath, file_status);
 | 
						|
  return (file_status.type() == mcld::sys::fs::DirectoryFile);
 | 
						|
}
 | 
						|
 | 
						|
// Include the truly platform-specific parts.
 | 
						|
#if defined(MCLD_ON_UNIX)
 | 
						|
#include "Unix/FileSystem.inc"
 | 
						|
#include "Unix/PathV3.inc"
 | 
						|
#endif
 | 
						|
#if defined(MCLD_ON_WIN32)
 | 
						|
#include "Windows/FileSystem.inc"
 | 
						|
#include "Windows/PathV3.inc"
 | 
						|
#endif
 |