[pacman-dev] [PATCH 2/4] meson: port over checks for types used from sys/types.h

Dave Reisner dreisner at archlinux.org
Sat Jun 29 16:58:26 UTC 2019


These are defined by a POSIX standard, and we should assert that we have
them, or define sane fallbacks (as per sys_types.h(0P)).
---
 meson.build | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/meson.build b/meson.build
index c2ed707a..ec94a44a 100644
--- a/meson.build
+++ b/meson.build
@@ -185,6 +185,21 @@ foreach member : [
   conf.set('HAVE_' + '_'.join([member[0], member[1]]).underscorify().to_upper(), have)
 endforeach
 
+foreach type : [
+    # type       # program prefix              # fallback
+    ['mode_t',   '''#include <sys/types.h>''', 'unsigned int'],
+    ['uid_t',    '''#include <sys/types.h>''', 'unsigned int'],
+    ['off_t',    '''#include <sys/types.h>''', 'signed int'],
+    ['pid_t',    '''#include <sys/types.h>''', 'signed int'],
+    ['size_t',   '''#include <sys/types.h>''', 'unsigned int'],
+    ['ssize_t',  '''#include <sys/types.h>''', 'signed int'],
+    ['int64_t',  '''#include <stdint.h>''',    'signed long int'],
+  ]
+  if not cc.has_type(type[0], prefix: type[1])
+    conf.set(type[0], type[2])
+  endif
+endforeach
+
 if conf.has('HAVE_STRUCT_STATVFS_F_FLAG')
   conf.set('FSSTATSTYPE', 'struct statvfs')
 elif conf.has('HAVE_STRUCT_STATFS_F_FLAGS')
-- 
2.22.0


More information about the pacman-dev mailing list