diff options
author | John Ericson <git@JohnEricson.me> | 2019-10-25T14·39-0400 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2020-05-17T14·56+0100 |
commit | d64f60c733980fb18437f41e1bc791a5d1ccb536 (patch) | |
tree | 037ef24bfbe5b136ec4676430714671385e45025 /third_party/nix/meson.build | |
parent | 55e9f61041250675a073ca3316f73bb9037faf2d (diff) |
feat(3p/nix): meson: Define HAVE_STRUCT_DIRENT_D_TYPE macro r/730
(cherry picked from commit 7ae66bbef5e92f4a0bba49780d8c316f134884f2)
Diffstat (limited to 'third_party/nix/meson.build')
-rw-r--r-- | third_party/nix/meson.build | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/third_party/nix/meson.build b/third_party/nix/meson.build index 8458312569bb..abfed14cd9c9 100644 --- a/third_party/nix/meson.build +++ b/third_party/nix/meson.build @@ -163,7 +163,8 @@ if (cpp.has_header('sys/ndir.h')) description : 'Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR`') endif -if (cpp.has_header('dirent.h')) +has_dirent_h = cpp.has_header('dirent.h') +if (has_dirent_h) config_h.set( 'HAVE_DIRENT_H', 1, description : 'Define to 1 if you have the <dirent.h> header file, and it defines `DIR`') @@ -309,6 +310,23 @@ if meson.get_compiler('cpp').compiles( description : 'Define to 1 if you have the `pubsetbuf` function.') endif + + +# checking data types +#============================================================================ + + +dirent_h_prefix = ''' + #include <sys/types.h> + #include <dirent.h> +''' + +# Code taken from glib, thanks! +if has_dirent_h and meson.get_compiler('cpp').has_member('struct dirent', 'd_type', prefix: dirent_h_prefix) + define = 'HAVE_STRUCT_@0@_@1@'.format('dirent'.to_upper(), 'd_type'.underscorify().to_upper()) + config_h.set(define, 1) +endif + # required dependancies #============================================================================ @@ -552,4 +570,4 @@ project_dirs = [ foreach dir : project_dirs subdir(dir) -endforeach \ No newline at end of file +endforeach |