| 112 | } |
| 113 | |
| 114 | bool |
| 115 | Layout::runroot_setup() |
| 116 | { |
| 117 | std::string runroot_file = get_runroot().data(); |
| 118 | if (runroot_file.empty()) { |
| 119 | // runroot is not used |
| 120 | return false; |
| 121 | } |
| 122 | RunrootMapType dir_map = check_runroot(); |
| 123 | if (dir_map.empty()) { |
| 124 | ink_warning("No value provided in runroot.yaml\n"); |
| 125 | } |
| 126 | // If some path values are not in runroot.yaml, we give it a default value instead of error out. |
| 127 | prefix = dir_map[LAYOUT_PREFIX].empty() ? runroot_file.substr(0, runroot_file.find_last_of('/')) : dir_map[LAYOUT_PREFIX]; |
| 128 | exec_prefix = dir_map[LAYOUT_EXEC_PREFIX].empty() ? prefix : dir_map[LAYOUT_EXEC_PREFIX]; |
| 129 | bindir = dir_map[LAYOUT_BINDIR].empty() ? layout_relative(prefix, TS_BUILD_BINDIR) : bindir = dir_map[LAYOUT_BINDIR]; |
| 130 | sbindir = dir_map[LAYOUT_SBINDIR].empty() ? layout_relative(prefix, TS_BUILD_SBINDIR) : dir_map[LAYOUT_SBINDIR]; |
| 131 | sysconfdir = dir_map[LAYOUT_SYSCONFDIR].empty() ? layout_relative(prefix, TS_BUILD_SYSCONFDIR) : dir_map[LAYOUT_SYSCONFDIR]; |
| 132 | datadir = dir_map[LAYOUT_DATADIR].empty() ? layout_relative(prefix, TS_BUILD_DATADIR) : dir_map[LAYOUT_DATADIR]; |
| 133 | includedir = dir_map[LAYOUT_INCLUDEDIR].empty() ? layout_relative(prefix, TS_BUILD_INCLUDEDIR) : dir_map[LAYOUT_INCLUDEDIR]; |
| 134 | libdir = dir_map[LAYOUT_LIBDIR].empty() ? layout_relative(prefix, TS_BUILD_LIBDIR) : dir_map[LAYOUT_LIBDIR]; |
| 135 | libexecdir = dir_map[LAYOUT_LIBEXECDIR].empty() ? layout_relative(prefix, TS_BUILD_LIBEXECDIR) : dir_map[LAYOUT_LIBEXECDIR]; |
| 136 | localstatedir = |
| 137 | dir_map[LAYOUT_LOCALSTATEDIR].empty() ? layout_relative(prefix, TS_BUILD_LOCALSTATEDIR) : dir_map[LAYOUT_LOCALSTATEDIR]; |
| 138 | runtimedir = dir_map[LAYOUT_RUNTIMEDIR].empty() ? layout_relative(prefix, TS_BUILD_RUNTIMEDIR) : dir_map[LAYOUT_RUNTIMEDIR]; |
| 139 | logdir = dir_map[LAYOUT_LOGDIR].empty() ? layout_relative(prefix, TS_BUILD_LOGDIR) : dir_map[LAYOUT_LOGDIR]; |
| 140 | mandir = dir_map[LAYOUT_MANDIR].empty() ? layout_relative(prefix, TS_BUILD_MANDIR) : dir_map[LAYOUT_MANDIR]; |
| 141 | infodir = dir_map[LAYOUT_INFODIR].empty() ? layout_relative(prefix, TS_BUILD_INFODIR) : dir_map[LAYOUT_INFODIR]; |
| 142 | cachedir = dir_map[LAYOUT_CACHEDIR].empty() ? layout_relative(prefix, TS_BUILD_CACHEDIR) : dir_map[LAYOUT_CACHEDIR]; |
| 143 | return true; |
| 144 | } |
| 145 | |
| 146 | Layout::Layout(std::string_view const _prefix) |
| 147 | { |
nothing calls this directly
no test coverage detected