diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2019-02-14 02:26:54 +0300 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2019-02-14 14:57:05 +0300 |
commit | 24ac9e0c97ff9f20d096b4d93663276bc8bb2de1 (patch) | |
tree | 6ce5dbf9b0c70ba6ed59280d4e2adfd92fcf1a12 | |
parent | e19163761d5f51f1437fd291a89adf2aaa4aa262 (diff) |
deprecation: ensure we GIT_EXTERN deprecated funcs
Although the error functions were deprecated, we did not properly mark
them as deprecated. We need to include the `deprecated.h` file in order
to ensure that the functions get their export attributes.
Similarly, do not define `GIT_DEPRECATE_HARD` within the library, or
those functions will also not get their export attributes. Define that
only on the tests and examples.
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | examples/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/common.h | 6 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 3 |
4 files changed, 12 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e0f296a2..73702ee1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,9 +105,6 @@ SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${ FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION [0-9]+$") STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}") -# Ensure that we do not use deprecated functions internally -ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) - # Platform specific compilation flags IF (MSVC) IF (STDCALL) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 49edaec0f..e631b96f2 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -5,6 +5,9 @@ FILE(GLOB_RECURSE SRC_EXAMPLE_GIT2 network/*.c network/*.h common.?) ADD_EXECUTABLE(cgit2 ${SRC_EXAMPLE_GIT2}) SET_TARGET_PROPERTIES(cgit2 PROPERTIES C_STANDARD 90) +# Ensure that we do not use deprecated functions internally +ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) + IF(WIN32 OR ANDROID) TARGET_LINK_LIBRARIES(cgit2 git2) ELSE() diff --git a/src/common.h b/src/common.h index 6e1eac834..18ba72dd1 100644 --- a/src/common.h +++ b/src/common.h @@ -79,6 +79,12 @@ #include "thread-utils.h" #include "integer.h" +/* + * Include the declarations for deprecated functions; this ensures + * that they're decorated with the proper extern/visibility attributes. + */ +#include "git2/deprecated.h" + #include <regex.h> #define DEFAULT_BUFSIZE 65536 diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 6ce5ae0af..aaa8ed109 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -11,6 +11,9 @@ ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\") ADD_DEFINITIONS(-DCLAR_TMPDIR=\"libgit2_tests\") ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64) +# Ensure that we do not use deprecated functions internally +ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD) + INCLUDE_DIRECTORIES(${CLAR_PATH} ${libgit2_BINARY_DIR}/src) FILE(GLOB_RECURSE SRC_TEST ${CLAR_PATH}/*/*.c ${CLAR_PATH}/*/*.h) SET(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c") |