1 // Copyright 2019 The libgav1 Authors
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 #include "src/gav1/version.h"
16
17 #define LIBGAV1_TOSTRING(x) #x
18 #define LIBGAV1_STRINGIFY(x) LIBGAV1_TOSTRING(x)
19 #define LIBGAV1_DOT_SEPARATED(M, m, p) M##.##m##.##p
20 #define LIBGAV1_DOT_SEPARATED_VERSION(M, m, p) LIBGAV1_DOT_SEPARATED(M, m, p)
21 #define LIBGAV1_DOT_VERSION \
22 LIBGAV1_DOT_SEPARATED_VERSION(LIBGAV1_MAJOR_VERSION, LIBGAV1_MINOR_VERSION, \
23 LIBGAV1_PATCH_VERSION)
24
25 #define LIBGAV1_VERSION_STRING LIBGAV1_STRINGIFY(LIBGAV1_DOT_VERSION)
26
27 extern "C" {
28
Libgav1GetVersion()29 int Libgav1GetVersion() { return LIBGAV1_VERSION; }
Libgav1GetVersionString()30 const char* Libgav1GetVersionString() { return LIBGAV1_VERSION_STRING; }
31
Libgav1GetBuildConfiguration()32 const char* Libgav1GetBuildConfiguration() {
33 // TODO(jzern): cmake can generate the detail or in other cases we could
34 // produce one based on the known defines along with the defaults based on
35 // the toolchain, e.g., LIBGAV1_ENABLE_NEON from cpu.h.
36 return "Not available.";
37 }
38
39 } // extern "C"
40