xref: /freebsd-src/contrib/llvm-project/openmp/runtime/src/kmp_version.h (revision e25152834cdf3b353892835a4f3b157e066a8ed4)
10b57cec5SDimitry Andric /*
20b57cec5SDimitry Andric  * kmp_version.h -- version number for this release
30b57cec5SDimitry Andric  */
40b57cec5SDimitry Andric 
50b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
80b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
90b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
100b57cec5SDimitry Andric //
110b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric #ifndef KMP_VERSION_H
140b57cec5SDimitry Andric #define KMP_VERSION_H
150b57cec5SDimitry Andric 
160b57cec5SDimitry Andric #ifdef __cplusplus
170b57cec5SDimitry Andric extern "C" {
180b57cec5SDimitry Andric #endif // __cplusplus
190b57cec5SDimitry Andric 
200b57cec5SDimitry Andric #ifndef KMP_VERSION_MAJOR
210b57cec5SDimitry Andric #error KMP_VERSION_MAJOR macro is not defined.
220b57cec5SDimitry Andric #endif
230b57cec5SDimitry Andric #define KMP_VERSION_MINOR 0
240b57cec5SDimitry Andric /* Using "magic" prefix in all the version strings is rather convenient to get
250b57cec5SDimitry Andric    static version info from binaries by using standard utilities "strings" and
260b57cec5SDimitry Andric    "grep", e. g.:
270b57cec5SDimitry Andric         $ strings libomp.so | grep "@(#)"
280b57cec5SDimitry Andric    gives clean list of all version strings in the library. Leading zero helps
290b57cec5SDimitry Andric    to keep version string separate from printable characters which may occurs
300b57cec5SDimitry Andric    just before version string. */
310b57cec5SDimitry Andric #define KMP_VERSION_MAGIC_STR "\x00@(#) "
320b57cec5SDimitry Andric #define KMP_VERSION_MAGIC_LEN 6 // Length of KMP_VERSION_MAGIC_STR.
33*5ffd83dbSDimitry Andric #define KMP_VERSION_PREF_STR "LLVM OMP "
340b57cec5SDimitry Andric #define KMP_VERSION_PREFIX KMP_VERSION_MAGIC_STR KMP_VERSION_PREF_STR
350b57cec5SDimitry Andric 
360b57cec5SDimitry Andric /* declare all the version string constants for KMP_VERSION env. variable */
370b57cec5SDimitry Andric extern int const __kmp_version_major;
380b57cec5SDimitry Andric extern int const __kmp_version_minor;
390b57cec5SDimitry Andric extern int const __kmp_version_build;
400b57cec5SDimitry Andric extern int const __kmp_openmp_version;
410b57cec5SDimitry Andric extern char const
420b57cec5SDimitry Andric     __kmp_copyright[]; // Old variable, kept for compatibility with ITC and ITP.
430b57cec5SDimitry Andric extern char const __kmp_version_copyright[];
440b57cec5SDimitry Andric extern char const __kmp_version_lib_ver[];
450b57cec5SDimitry Andric extern char const __kmp_version_lib_type[];
460b57cec5SDimitry Andric extern char const __kmp_version_link_type[];
470b57cec5SDimitry Andric extern char const __kmp_version_build_time[];
480b57cec5SDimitry Andric extern char const __kmp_version_target_env[];
490b57cec5SDimitry Andric extern char const __kmp_version_build_compiler[];
500b57cec5SDimitry Andric extern char const __kmp_version_alt_comp[];
510b57cec5SDimitry Andric extern char const __kmp_version_omp_api[];
520b57cec5SDimitry Andric // ??? extern char const __kmp_version_debug[];
530b57cec5SDimitry Andric extern char const __kmp_version_lock[];
540b57cec5SDimitry Andric extern char const __kmp_version_nested_stats_reporting[];
550b57cec5SDimitry Andric extern char const __kmp_version_ftnstdcall[];
560b57cec5SDimitry Andric extern char const __kmp_version_ftncdecl[];
570b57cec5SDimitry Andric extern char const __kmp_version_ftnextra[];
580b57cec5SDimitry Andric 
590b57cec5SDimitry Andric void __kmp_print_version_1(void);
600b57cec5SDimitry Andric void __kmp_print_version_2(void);
610b57cec5SDimitry Andric 
620b57cec5SDimitry Andric #ifdef __cplusplus
630b57cec5SDimitry Andric } // extern "C"
640b57cec5SDimitry Andric #endif // __cplusplus
650b57cec5SDimitry Andric 
660b57cec5SDimitry Andric #endif /* KMP_VERSION_H */
67