Commit Graph

12 Commits

Author SHA1 Message Date
Rosen Penev
a6766b208e meson: only define MinGW stuff for non UCRT
time_t is 64-bit with UCRT.

__USE_MINGW_ANSI_STDIO is used only to get proper printf formats under
msvcrt. UCRT has them. Hence why it's deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-04-07 11:08:37 -07:00
Rosen Penev
c42c7fa9ac meson: build iconv with FreeBSD
Bug was fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-04-04 11:23:17 -07:00
Rosen Penev
b92b121532 meson: remove now unused checks
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-25 08:04:14 -07:00
Rosen Penev
632536a55a meson: build samples
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-25 08:04:14 -07:00
Eli Schwartz
2108ae671a meson: compile convert.cpp separately, with just iconv
Compiling this file with all dependencies as part of the main library
causes it to have the include directories of all dependencies, but iconv
is a bit of a special case: it can have a libc builtin or an external
library version. The external library might be installed to the same
directory as other dependencies, for example on FreeBSD -- but if exiv2
is not supposed to be built with GNU libiconv, then it will expect to
see the libc builtin.

The leaky include directories means that iconv.h gets pulled in from the
GNU libiconv version instead, though, which then forces -liconv to be
necessary for no reason.

There are two general solutions to ensuring that everything links
correctly:

- expect exiv2 to be built with *global* -I/usr/local/include -L/usr/local/lib
  thus forcing the use of GNU libiconv

- carefully compiling the iconv support without any other dependencies

Let's do the latter since it allows for more choice and is easier to
enforce.
2023-03-24 16:19:25 -07:00
Rosen Penev
4a26eba0d9 fix compilation under FreeBSD
sys headers must come before libprocstat

meson is missing a libprocstat dependency. iconv is also broken with
meson and freebsd.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-19 11:08:30 -07:00
Rosen Penev
c5c8a6101e meson: move warning/sanitizer stuff to CI
No need when building normally.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-14 02:19:20 -08:00
Rosen Penev
52ab999151 meson: add unit tests
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-13 09:37:30 -08:00
Rosen Penev
8310b48552 meson: split off internal library
Necessary for the Unit Tests.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-13 09:37:30 -08:00
Rosen Penev
976dcd8e7b meson: bump warning level
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-11 10:44:20 -08:00
Rosen Penev
3457b82140 meson: add support for linux libc++fs
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-11 10:44:20 -08:00
Rosen Penev
063a99b3c3 add meson build
This is a fairly basic meson file that builds only the library. Useful
for stuff like WrapDB.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-06 13:44:57 -08:00