Use iterator adapters in decl_class_parents
[hiphop-php.git] / hphp / util / build-info.h
blob570cd69ad53efa7c935bdcd64a30ce8eb5cf9a07
1 /*
2 +----------------------------------------------------------------------+
3 | HipHop for PHP |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2010-present Facebook, Inc. (http://www.facebook.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
17 #pragma once
19 #include <folly/Range.h>
21 namespace HPHP {
24 * Version identifier for the hhbc repo schema. Normally this is determined at
25 * build-time, but it can be overridden at run-time via the
26 * HHVM_RUNTIME_REPO_SCHEMA environment variable.
28 folly::StringPiece repoSchemaId();
31 * Unique identifier for an hhvm binary, determined at build-time. Normally
32 * this is a formatted version control hash, but it can fall back to system time
33 * in some cases.
35 folly::StringPiece compilerId();
38 * Unix timestamp of the commit from which the compiler was built. Normally this
39 * is the commit associated with compilerId but when no commit information was
40 * available it may be the unix time of the build.
42 int64_t compilerTimestamp();
45 * Unique identifier for this hhvm binary, determined at build-time. Unlike
46 * compilerId(), this is computed based on the contents of the executable and
47 * thus varies depending on the type of build. It cannot be overridden and
48 * serves as an id for anything relying on an exact binary.
50 folly::StringPiece buildId();
53 * Search path for the hhjs babel transform executable. Paths are formatted as
54 * "path1:path2:path3" etc. A path may be absolute like "/usr/bin/exe" or
55 * relative, like "{}/my/relative/path/exe". Paths with {} are relative to HHVM.
57 folly::StringPiece hhjsBabelTransform();
60 * Replace supported %{xxx} placeholders. These include:
62 * - %{schema} -> repo schema
63 * - %{uid} -> user id
64 * - %{euid} -> effective user id
66 void replacePlaceholders(std::string&);