Skip to content

Commit

Permalink
NITRO-2.10.11
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Smith committed Aug 2, 2022
1 parent 2cd9bca commit ac81688
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 45 deletions.
4 changes: 4 additions & 0 deletions externals/nitro/ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# NITRO (NITF i/o) Release Notes

## [Version 2.10.11](https://github.com/mdaus/nitro/releases/tag/NITRO-2.10.11); August 2, 2022
* [coda-oss](https://github.com/mdaus/coda-oss) release [2022-08-02](https://github.com/mdaus/coda-oss/releases/tag/2022-08-02)
* remove more compiler warnings

## [Version 2.10.10](https://github.com/mdaus/nitro/releases/tag/NITRO-2.10.10); June 29, 2022
* [coda-oss](https://github.com/mdaus/coda-oss) release [2022-06-29](https://github.com/mdaus/coda-oss/releases/tag/2022-06-29)

Expand Down
5 changes: 3 additions & 2 deletions externals/nitro/modules/c++/nitf/include/nitf/Version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@
#include "config/Version.h"
#include "nitf/Version.h"

// 2.10.10 June 29, 2020
// 2.10.11 August 2, 2022
// 2.10.10 June 29, 2022
// 2.10.9 May 3, 2022
// 2.10.8 February 22, 2022
// 2.10.7 December 13, 2021
#define NITF_VERSION_MAJOR 2
#define NITF_VERSION_MINOR 10
#define NITF_VERSION_PATCH 10
#define NITF_VERSION_PATCH 11
#define NITF_VERSION_BUILD 0
#define NITF_VERSION CODA_OSS_MAKE_VERSION_MMPB(NITF_VERSION_MAJOR, NITF_VERSION_MINOR, NITF_VERSION_PATCH, NITF_VERSION_BUILD)

Expand Down
65 changes: 23 additions & 42 deletions externals/nitro/modules/c++/nitf/include/nitf/exports.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,71 +2,52 @@
#define NITRO_nitf_exports_hpp_INCLUDED_
#pragma once

// Need to specify how this module will be consumed, either NITRO_NITFCPP_LIB (static library)
// or NITRO_NITFCPP_DLL (aka "shared" library).
#include "config/compiler_extensions.h"

// Need to specify how this code will be consumed, either CODA_OSS_LIB (static library)
// or CODA_OSS_DLL (aka "shared" library). For DLLs, it needs to be set for BOTH
// "exporting" (building this code) and "importing" (consuming).
//
// Use Windows naming conventions (DLL, LIB) because this really only matters for _MSC_VER, see below.
#if !defined(NITRO_NITFCPP_LIB) && !defined(NITRO_NITFCPP_DLL)
#define NITRO_NITFCPP_LIB 1
//#define NITRO_NITFCPP_DLL 1
#endif
#if defined(NITRO_NITFCPP_EXPORTS)
#if defined(NITRO_NITFCPP_LIB)
#error "Can't export from a LIB'"
#endif

#if !defined(NITRO_NITFCPP_DLL)
#define NITRO_NITFCPP_DLL 1
#endif
#endif
#if defined(NITRO_NITFCPP_LIB) && defined(NITRO_NITFCPP_DLL)
#error "Both NITRO_NITFCPP_LIB and NITRO_NITFCPP_DLL are #define'd'"
#endif
#if defined(NITRO_NITFCPP_EXPORTS) && defined(NITRO_NITFCPP_LIB)
#error "Can't export from a LIB'"
#endif

// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the NITRO_NITFCPP_EXPORTS
// from a DLL simpler. All files within this DLL are compiled with the CODA_OSS_EXPORTS
// symbol defined on the command line. This symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// NITRO_NITFCPP_API functions as being imported from a DLL, whereas this DLL sees symbols
// CODA_OSS_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
// https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html
#ifdef NITRO_NITFCPP_EXPORTS
#if defined(__GNUC__) // && HAVE_VISIBILITY
#define NITRO_NITFCPP_API __attribute__((visibility("default")))
#elif defined(_MSC_VER) // && (defined(_WINDLL) && !defined(_LIB))
#define NITRO_NITFCPP_API __declspec(dllexport)
#else
// https://stackoverflow.com/a/2164853/8877
#define NITRO_NITFCPP_API /* do nothing and hope for the best? */
#pragma warning Unknown dynamic link export semantics.
#endif
#define NITRO_NITFCPP_API CODA_OSS_library_export
#else
// Either building a static library (no NITRO_NITFCPP_EXPORTS) or
// importing (not building) a shared library.
#if defined(_MSC_VER)
// We need to know whether we're consuming (importing) a DLL or static LIB
// The default is a static LIB as that's what existing code/builds expect.
#ifdef NITRO_NITFCPP_DLL
// Actually, it seems that the linker is able to figure this out from the .LIB, so
// there doesn't seem to be a need for __declspec(dllimport). Clients don't
// need to #define NITRO_NITFCPP_DLL ... ? Well, almost ... it looks
// like __declspec(dllimport) is needed to get virtual "inline"s (e.g.,
// destructors) correct.
#define NITRO_NITFCPP_API __declspec(dllimport)
#else
#define NITRO_NITFCPP_API /* "importing" a static LIB */
#endif
#elif defined(__GNUC__)
// For GCC, there's no difference in consuming ("importing") an .a or .so
#define NITRO_NITFCPP_API /* no __declspec(dllimport) for GCC */

// We need to know whether we're consuming (importing) a DLL or static LIB
// The default is a static LIB as that's what existing code/builds expect.
#ifdef NITRO_NITFCPP_DLL
// Actually, it seems that the linker is able to figure this out from the .LIB, so
// there doesn't seem to be a need for __declspec(dllimport). Clients don't
// need to #define NITRO_NITFCPP_DLL ... ? Well, almost ... it looks
// like __declspec(dllimport) is needed to get virtual "inline"s (e.g.,
// destructors) correct.
#define NITRO_NITFCPP_API CODA_OSS_library_import
#else
// https://stackoverflow.com/a/2164853/8877
#define NITRO_NITFCPP_API /* do nothing and hope for the best? */
#pragma warning Unknown dynamic link import semantics.
#define NITRO_NITFCPP_API /* "importing" a static LIB */
#endif
#endif

#if defined(_MSC_VER) && defined(NITRO_NITFCPP_DLL)
#if defined(_MSC_VER)
#pragma warning(disable: 4251) // '...' : class '...' needs to have dll-interface to be used by clients of struct '...'
#endif

Expand Down
2 changes: 1 addition & 1 deletion externals/nitro/modules/c/nrt/include/nrt/Version.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pragma once

#if !defined(NRT_LIB_VERSION)
#define NRT_LIB_VERSION "2.10.10"
#define NRT_LIB_VERSION "2.10.11"
#endif

0 comments on commit ac81688

Please sign in to comment.