17a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang/*
27a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * Copyright 2012, The Android Open Source Project
37a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang *
47a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * Licensed under the Apache License, Version 2.0 (the "License");
57a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * you may not use this file except in compliance with the License.
67a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * You may obtain a copy of the License at
77a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang *
87a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang *     http://www.apache.org/licenses/LICENSE-2.0
97a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang *
107a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * Unless required by applicable law or agreed to in writing, software
117a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * distributed under the License is distributed on an "AS IS" BASIS,
127a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * See the License for the specific language governing permissions and
147a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang * limitations under the License.
157a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang */
167a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
177a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang#ifndef BCC_CONFIG_BUILD_INFO_H
187a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang#define BCC_CONFIG_BUILD_INFO_H
197a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
207a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Changnamespace bcc {
217a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
227a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Changclass BuildInfo {
237a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Changprivate:
247a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  // Disable constructor since this is an utility class.
257a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  BuildInfo();
267a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
277a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Changpublic:
287a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  // The implementation of these functions is generated during build. See
297a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  // libbcc-gen-build-info.mk and tools/build/gen-build-info.py for detail.
307a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  static const char *GetBuildTime();
317a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  static const char *GetBuildRev();
327a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang  static const char *GetBuildSourceBlob();
337a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang};
347a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
357a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang} // end namespace bcc
367a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang
377a5d423014e1cc95e34764b3ddf8e80ace3509b8Zonr Chang#endif // BCC_CONFIG_BUILD_INFO_H
38