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