xref: /curl/include/curl/curlver.h (revision 6416192a)
1 #ifndef CURLINC_CURLVER_H
2 #define CURLINC_CURLVER_H
3 /***************************************************************************
4  *                                  _   _ ____  _
5  *  Project                     ___| | | |  _ \| |
6  *                             / __| | | | |_) | |
7  *                            | (__| |_| |  _ <| |___
8  *                             \___|\___/|_| \_\_____|
9  *
10  * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
11  *
12  * This software is licensed as described in the file COPYING, which
13  * you should have received as part of this distribution. The terms
14  * are also available at https://curl.se/docs/copyright.html.
15  *
16  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17  * copies of the Software, and permit persons to whom the Software is
18  * furnished to do so, under the terms of the COPYING file.
19  *
20  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21  * KIND, either express or implied.
22  *
23  * SPDX-License-Identifier: curl
24  *
25  ***************************************************************************/
26 
27 /* This header file contains nothing but libcurl version info, generated by
28    a script at release-time. This was made its own header file in 7.11.2 */
29 
30 /* This is the global package copyright */
31 #define LIBCURL_COPYRIGHT "Daniel Stenberg, <daniel@haxx.se>."
32 
33 /* This is the version number of the libcurl package from which this header
34    file origins: */
35 #define LIBCURL_VERSION "8.8.0-DEV"
36 
37 /* The numeric version number is also available "in parts" by using these
38    defines: */
39 #define LIBCURL_VERSION_MAJOR 8
40 #define LIBCURL_VERSION_MINOR 8
41 #define LIBCURL_VERSION_PATCH 0
42 
43 /* This is the numeric version of the libcurl version number, meant for easier
44    parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will
45    always follow this syntax:
46 
47          0xXXYYZZ
48 
49    Where XX, YY and ZZ are the main version, release and patch numbers in
50    hexadecimal (using 8 bits each). All three numbers are always represented
51    using two digits.  1.2 would appear as "0x010200" while version 9.11.7
52    appears as "0x090b07".
53 
54    This 6-digit (24 bits) hexadecimal number does not show pre-release number,
55    and it is always a greater number in a more recent release. It makes
56    comparisons with greater than and less than work.
57 
58    Note: This define is the full hex number and _does not_ use the
59    CURL_VERSION_BITS() macro since curl's own configure script greps for it
60    and needs it to contain the full number.
61 */
62 #define LIBCURL_VERSION_NUM 0x080800
63 
64 /*
65  * This is the date and time when the full source package was created. The
66  * timestamp is not stored in git, as the timestamp is properly set in the
67  * tarballs by the maketgz script.
68  *
69  * The format of the date follows this template:
70  *
71  * "2007-11-23"
72  */
73 #define LIBCURL_TIMESTAMP "[unreleased]"
74 
75 #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
76 #define CURL_AT_LEAST_VERSION(x,y,z) \
77   (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
78 
79 #endif /* CURLINC_CURLVER_H */
80