//===-- driver/exe_path.h - Executable path management ----------*- C++ -*-===// // // LDC – the LLVM D compiler // // This file is distributed under the BSD-style LDC license. See the LICENSE // file for details. // //===----------------------------------------------------------------------===// // // Stores the program's executable path and provides some helpers to generate // derived paths. // //===----------------------------------------------------------------------===// #pragma once #include "llvm/ADT/Twine.h" #include namespace exe_path { void initialize(const char *arg0); const std::string &getExePath(); // /bin/ldc2 std::string getBinDir(); // /bin std::string getBaseDir(); // std::string getLibDir(); // /lib std::string prependBinDir(const llvm::Twine &suffix); // /bin/ std::string prependLibDir(const llvm::Twine &suffix); // /lib/ }