Skip to content

Commit 840d811

Browse files
Avoid using libintl.h on Windows
If libintl is installed by Conan it will be somewhere hard to find without dragging in a whole lot of conan or cmake stuff.
1 parent 4ba46da commit 840d811

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

src/interface/types.i

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,20 @@
3636
// (types.hpp includes exiv2's localisation stuff)
3737
%{
3838
#ifdef EXV_ENABLE_NLS
39+
#if defined _WIN32 && !defined __CYGWIN__
40+
// Avoid needing to find libintl.h probably installed with Conan
41+
extern "C" {
42+
extern char* libintl_bindtextdomain(const char* domainname,
43+
const char* dirname);
44+
static inline char* bindtextdomain(const char* __domainname,
45+
const char* __dirname) {
46+
return libintl_bindtextdomain(__domainname, __dirname);
47+
}
48+
}
49+
#else
3950
#include "libintl.h"
4051
#endif
52+
#endif // EXV_ENABLE_NLS
4153
%}
4254
%inline %{
4355
void _set_locale_dir(const char* dirname) {

src/swig-0_27_0/types_wrap.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4120,8 +4120,20 @@ static PyObject* PyExc_Exiv2Error = NULL;
41204120

41214121

41224122
#ifdef EXV_ENABLE_NLS
4123+
#if defined _WIN32 && !defined __CYGWIN__
4124+
// Avoid needing to find libintl.h probably installed with Conan
4125+
extern "C" {
4126+
extern char* libintl_bindtextdomain(const char* domainname,
4127+
const char* dirname);
4128+
static inline char* bindtextdomain(const char* __domainname,
4129+
const char* __dirname) {
4130+
return libintl_bindtextdomain(__domainname, __dirname);
4131+
}
4132+
}
4133+
#else
41234134
#include "libintl.h"
41244135
#endif
4136+
#endif // EXV_ENABLE_NLS
41254137

41264138

41274139
void _set_locale_dir(const char* dirname) {

src/swig-0_27_4/types_wrap.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4120,8 +4120,20 @@ static PyObject* PyExc_Exiv2Error = NULL;
41204120

41214121

41224122
#ifdef EXV_ENABLE_NLS
4123+
#if defined _WIN32 && !defined __CYGWIN__
4124+
// Avoid needing to find libintl.h probably installed with Conan
4125+
extern "C" {
4126+
extern char* libintl_bindtextdomain(const char* domainname,
4127+
const char* dirname);
4128+
static inline char* bindtextdomain(const char* __domainname,
4129+
const char* __dirname) {
4130+
return libintl_bindtextdomain(__domainname, __dirname);
4131+
}
4132+
}
4133+
#else
41234134
#include "libintl.h"
41244135
#endif
4136+
#endif // EXV_ENABLE_NLS
41254137

41264138

41274139
void _set_locale_dir(const char* dirname) {

src/swig-0_28_0/types_wrap.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4119,8 +4119,20 @@ static PyObject* PyExc_Exiv2Error = NULL;
41194119

41204120

41214121
#ifdef EXV_ENABLE_NLS
4122+
#if defined _WIN32 && !defined __CYGWIN__
4123+
// Avoid needing to find libintl.h probably installed with Conan
4124+
extern "C" {
4125+
extern char* libintl_bindtextdomain(const char* domainname,
4126+
const char* dirname);
4127+
static inline char* bindtextdomain(const char* __domainname,
4128+
const char* __dirname) {
4129+
return libintl_bindtextdomain(__domainname, __dirname);
4130+
}
4131+
}
4132+
#else
41224133
#include "libintl.h"
41234134
#endif
4135+
#endif // EXV_ENABLE_NLS
41244136

41254137

41264138
void _set_locale_dir(const char* dirname) {

0 commit comments

Comments
 (0)