chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / os-specific / darwin / apple-source-releases / system_cmds / meson.build
blobaf08b5074bef1f5474e163f5cb6df162e53c7533
1 # Build settings based on the upstream Xcode project.
2 # See: https://github.com/apple-oss-distributions/system_cmds/blob/main/system_cmds.xcodeproj/project.pbxproj
5 # Project settings
6 project('system_cmds', 'c', version : '@version@')
8 if host_machine.system() != 'linux'
9   add_project_arguments('-D__FreeBSD__', language : 'c')
10 endif
12 sdk_version = get_option('sdk_version')
15 # Dependencies
16 cc = meson.get_compiler('c')
17 # Upstream uses awk to process `.gperf` files instead of gperf, which can’t process them.
18 fake_gperf = find_program('awk', required : true)
20 ## Frameworks
21 core_foundation = dependency('appleframeworks', modules : 'CoreFoundation')
22 core_symbolication = dependency('appleframeworks', modules : 'CoreSymbolication')
23 directory_service = dependency('appleframeworks', modules : 'DirectoryService')
24 iokit = dependency('appleframeworks', modules : 'IOKit')
25 kernel = declare_dependency(include_directories : '@kernel@/Library/Frameworks/Kernel.framework/Headers')
26 open_directory = dependency('appleframeworks', modules : 'OpenDirectory')
28 ## Private Headers
29 cfopen_directory = declare_dependency(
30     dependencies : declare_dependency(
31         compile_args :[ '-iframework', '@opendirectory@/Library/Frameworks/OpenDirectory.framework/Frameworks' ],
32    ),
33     include_directories : '@opendirectory_private@/include',
35 libc_private = declare_dependency(include_directories : '@libc_private@/include')
36 libmalloc_private = declare_dependency(include_directories : '@libmalloc_private@/include')
38 xnu_include_dirs = [
39     '@xnu@/include/bsd',
40     '@xnu@/include/libkern',
41     '@xnu@/include/iokit',
42     '@xnu@/include/osfmk',
43     '@xnu_private@/include'
45 if sdk_version.version_compare('>=10.13')
46     xnu_include_dirs += '@xnu@/include/san'
47 endif
48 xnu_private = declare_dependency(
49     compile_args : [
50         # Suppresses suffixing symbols with '$UNIX2003', which causes link failures.
51         '-D__DARWIN_ONLY_UNIX_CONFORMANCE=1',
52         # Make sure Darwin is correctly detected as macOS
53         '-DPLATFORM_MacOSX=1',
54         # Access private definitions
55         '-DPRIVATE=1'
56     ],
57     include_directories : xnu_include_dirs
60 ## Libraries
61 ncurses = dependency('ncurses')
62 openbsm = cc.find_library('bsm')
63 pam = cc.find_library('pam')
65 # Feature Tests
66 if sdk_version.version_compare('<12')
67     add_project_arguments('-DkIOMainPortDefault=kIOMasterPortDefault', language : 'c')
68     add_project_arguments('-DIOMainPort=IOMasterPort', language : 'c')
69 endif
72 # Generators
73 pgperf = generator(
74     fake_gperf,
75     arguments : [ '-f', meson.source_root() + '/getconf/fake-gperf.awk', '@INPUT@' ],
76     capture : true,
77     output : '@BASENAME@.gperf.c'
81 # Binaries
82 executable('ac', install : true, sources : 'ac/ac.c')
83 install_man('ac/ac.8')
85 executable('accton', install : true, sources : 'accton/accton.c')
86 install_man('accton/accton.8')
88 executable(
89     'arch',
90     build_by_default : sdk_version.version_compare('>=11'),
91     dependencies : [ core_foundation ],
92     install : sdk_version.version_compare('>=11'),
93     sources : 'arch/arch.c'
95 install_man(
96     'arch/arch.1',
97     'arch/machine.1'
100 executable(
101     'at',
102     c_args : [
103         '-DDAEMON_UID=1',
104         '-DDAEMON_GID=1',
105         '-DDEFAULT_AT_QUEUE=\'a\'',
106         '-DDEFAULT_BATCH_QUEUE=\'b\'',
107         '-DPERM_PATH="/usr/lib/cron"',
108     ],
109     install : true,
110     sources : [
111         'at/at.c',
112         'at/panic.c',
113         'at/parsetime.c',
114         'at/perm.c'
115     ]
117 install_man('at/at.1')
119 executable(
120     'atrun',
121     c_args : [ '-DDAEMON_UID=1', '-DDAEMON_GID=1' ],
122     include_directories : 'at',
123     install : true,
124     sources : [
125         'atrun/atrun.c',
126         'atrun/gloadavg.c'
127     ]
129 install_man('atrun/atrun.8')
131 executable(
132     'chkpasswd',
133     c_args : '-DUSE_PAM',
134     dependencies : [ core_foundation, open_directory, pam ],
135     install : true,
136     sources : [
137         'chkpasswd/file_passwd.c',
138         'chkpasswd/nis_passwd.c',
139         'chkpasswd/od_passwd.c',
140         'chkpasswd/pam_passwd.c',
141         'chkpasswd/passwd.c',
142         'chkpasswd/stringops.c'
143     ]
145 install_man('chkpasswd/chkpasswd.8')
147 executable(
148     'chpass',
149     dependencies : [ core_foundation, cfopen_directory, directory_service, open_directory ],
150     install : true,
151     sources : [
152         'chpass/chpass.c',
153         'chpass/edit.c',
154         'chpass/field.c',
155         'chpass/open_directory.c',
156         'chpass/table.c',
157         'chpass/util.c'
158     ]
160 install_man('chpass/chpass.1')
162 executable('cpuctl', install : true, sources : 'cpuctl/cpuctl.c')
163 install_man('cpuctl/cpuctl.8')
165 executable('dmesg', install : true, sources : 'dmesg/dmesg.c')
166 install_man('dmesg/dmesg.8')
168 executable(
169     'dynamic_pager',
170     c_args : '-DNO_DIRECT_RPC',
171     install : true,
172     sources : 'dynamic_pager/dynamic_pager.c'
174 install_man('dynamic_pager/dynamic_pager.8')
176 executable(
177     'fs_usage',
178     # Requires 'ktrace/session.h'
179     build_by_default : false,
180     install : false,
181     sources : 'fs_usage/fs_usage.c'
183 # install_man('fs_usage/fs_usage.1')
185 executable(
186     'gcore',
187     # Requires XPC private APIs
188     build_by_default : false and sdk_version.version_compare('>=11'),
189     install : false and sdk_version.version_compare('>=11'),
190     sources : [
191         'gcore/convert.c',
192         'gcore/corefile.c',
193         'gcore/dyld.c',
194         'gcore/dyld_shared_cache.c',
195         'gcore/main.c',
196         'gcore/sparse.c',
197         'gcore/threads.c',
198         'gcore/utils.c',
199         'gcore/vanilla.c',
200         'gcore/vm.c'
201     ]
203 # install_man('gcore/gcore-internal.1', 'gcore/gcore.1')
205 executable(
206     'getconf',
207     c_args : '-DAPPLE_GETCONF_UNDERSCORE',
208     include_directories : 'getconf',
209     install : true,
210     sources : [
211         'getconf/getconf.c',
212     ] + pgperf.process(
213         [
214             'getconf/confstr.gperf',
215             'getconf/limits.gperf',
216             'getconf/unsigned_limits.gperf',
217             'getconf/progenv.gperf',
218             'getconf/sysconf.gperf',
219             'getconf/pathconf.gperf'
220         ]
221    )
223 install_man('getconf/getconf.1')
225 executable(
226     'getty',
227     install : true,
228     sources : [
229         'getty/chat.c',
230         'getty/init.c',
231         'getty/main.c',
232         'getty/subr.c'
233     ]
235 install_man(
236     'getty/getty.8',
237     'getty/gettytab.5',
238     'getty/ttys.5'
241 executable('hostinfo', install : true, sources : 'hostinfo/hostinfo.c')
242 install_man('hostinfo/hostinfo.8')
244 executable(
245     'iosim',
246     dependencies : [ core_foundation, iokit ],
247     include_directories : 'at',
248     install : true,
249     sources : 'iosim/iosim.c'
251 install_man('iosim/iosim.1')
253 executable(
254     'iostat',
255     dependencies : [ core_foundation, iokit ],
256     install : true,
257     sources : 'iostat/iostat.c'
259 install_man('iostat/iostat.8')
261 executable(
262     'kpgo',
263     dependencies : [ xnu_private ],
264     install : true,
265     sources : 'kpgo/kpgo.c'
267 # No man pages for `kpgo`
269 executable(
270     'latency',
271     build_by_default : sdk_version.version_compare('>=12'),
272     dependencies : ncurses,
273     install : sdk_version.version_compare('>=12'),
274     sources : 'latency/latency.c'
276 if sdk_version.version_compare('>=12')
277     install_man('latency/latency.1')
278 endif
280 executable(
281     'login',
282     # Requires SoftLinking/WeakLinking.h and end-point security entitlements
283     build_by_default : false,
284     c_args : '-DUSE_BSM_AUDIT=1',
285     dependencies : [ openbsm, xnu_private ],
286     install : false,
287     sources : [
288         'login/login.c',
289         'login/login_audit.c'
290     ]
292 # install_man('login/login.1')
294 executable(
295     'lskq',
296     build_by_default : sdk_version.version_compare('>=12'),
297     install : sdk_version.version_compare('>=12'),
298     sources : 'lskq/lskq.c'
300 if sdk_version.version_compare('>=12')
301     install_man('lskq/lskq.1')
302 endif
304 executable(
305     'lsmp',
306     build_by_default : sdk_version.version_compare('>=12'),
307     install : sdk_version.version_compare('>=12'),
308     sources : [
309         'lsmp/lsmp.c',
310         'lsmp/port_details.c',
311         'lsmp/task_details.c'
312     ]
314 if sdk_version.version_compare('>=12')
315     install_man('lsmp/lsmp.1')
316 endif
318 executable(
319     'ltop',
320     install : true,
321     sources : 'ltop/ltop.c'
323 install_man('ltop/ltop.1')
325 executable('mean', install : true, sources : 'mean/mean.c')
326 # No man pages for `mean`.
328 executable(
329     'memory_pressure',
330     dependencies : [ xnu_private ],
331     install : true,
332     sources : 'memory_pressure/memory_pressure.c'
334 install_man('memory_pressure/memory_pressure.1')
336 executable('mkfile', install : true, sources : 'mkfile/mkfile.c')
337 install_man('mkfile/mkfile.8')
339 executable(
340     'mslutil',
341     build_by_default : sdk_version.version_compare('>=10.13'),
342     dependencies : [ libmalloc_private ],
343     install : sdk_version.version_compare('>=10.13'),
344     sources : 'mslutil/mslutil.c'
346 if sdk_version.version_compare('>=10.13')
347     install_man('mslutil/mslutil.1')
348 endif
350 executable('newgrp', install : true, sources : 'newgrp/newgrp.c')
351 install_man('newgrp/newgrp.1')
353 executable('nologin', install : true, sources : 'nologin/nologin.c')
354 install_man(
355     'nologin/nologin.5',
356     'nologin/nologin.8'
359 executable(
360     'nvram',
361     c_args : '-DTARGET_OS_BRIDGE=0',
362     dependencies : [ core_foundation, iokit, libc_private, xnu_private ],
363     install : true,
364     sources : 'nvram/nvram.c'
366 install_man('nvram/nvram.8')
368 custom_target(
369     'pagesize',
370     command : [ 'cp', '@INPUT@', '@OUTPUT@' ],
371     install : true,
372     install_dir : get_option('bindir'),
373     install_mode : 'r-xr-xr-x',
374     input : 'pagesize/pagesize.sh',
375     output : 'pagesize'
377 install_man('pagesize/pagesize.1')
379 executable(
380     'passwd',
381     dependencies : [ core_foundation, cfopen_directory, directory_service, open_directory, pam ],
382     install : true,
383     sources : [
384         'passwd/file_passwd.c',
385         'passwd/nis_passwd.c',
386         'passwd/od_passwd.c',
387         'passwd/pam_passwd.c',
388         'passwd/passwd.c'
389     ]
391 install_man('passwd/passwd.1')
393 executable(
394     'proc_uuid_policy',
395     install : true,
396     sources : 'proc_uuid_policy/proc_uuid_policy.c'
398 install_man('proc_uuid_policy/proc_uuid_policy.1')
400 executable('purge', install : true, sources : 'purge/purge.c')
401 install_man('purge/purge.8')
403 executable(
404     'pwd_mkdb',
405     c_args : [ '-D_PW_NAME_LEN=MAXLOGNAME', '-D_PW_YPTOKEN="__YP!"' ],
406     install : true,
407     sources : [
408         'pwd_mkdb/pw_scan.c',
409         'pwd_mkdb/pwd_mkdb.c'
410     ]
412 install_man('pwd_mkdb/pwd_mkdb.8')
414 executable(
415     'reboot',
416     # Requires IOKitUser kext APIs
417     build_by_default : false,
418     install : false,
419     sources : 'reboot/reboot.c'
421 # install_man('reboot/reboot.8')
423 executable(
424     'sa',
425     c_args : '-DAHZV1',
426     install : true,
427     sources : [
428         'sa/db.c',
429         'sa/main.c',
430         'sa/pdb.c',
431         'sa/usrdb.c'
432     ]
434 install_man('sa/sa.8')
436 executable(
437     'sc_usage',
438     build_by_default : sdk_version.version_compare('>=12'),
439     dependencies : ncurses,
440     install : sdk_version.version_compare('>=12'),
441     sources : 'sc_usage/sc_usage.c'
443 if sdk_version.version_compare('>=12')
444     install_man('sc_usage/sc_usage.1')
445 endif
447 executable('shutdown',
448     # Requires IOKitUser kext APIs
449     build_by_default : false,
450     install : false,
451     sources : 'shutdown/shutdown.c'
453 # install_man('shutdown/shutdown.8')
455 executable(
456     'stackshot',
457     build_by_default : sdk_version.version_compare('>=10.13'),
458     dependencies : [ xnu_private ],
459     install : sdk_version.version_compare('>=10.13'),
460     sources : 'stackshot/stackshot.c'
462 # No man pages for `stackshot`.
464 executable('sync', install : true, sources : 'sync/sync.c')
465 # No man pages for `sync`.
467 executable('sysctl', install : true, sources : 'sysctl/sysctl.c')
468 install_man(
469     'sysctl/sysctl.8',
470     'sysctl/sysctl.conf.5'
473 executable(
474     'taskpolicy',
475     build_by_default : sdk_version.version_compare('>=11'),
476     dependencies : [ xnu_private ],
477     install : sdk_version.version_compare('>=11'),
478     sources : 'taskpolicy/taskpolicy.c'
480 if sdk_version.version_compare('>=11')
481     install_man('taskpolicy/taskpolicy.8')
482 endif
484 executable('vifs', install : true, sources : 'vifs/vifs.c')
485 install_man('vifs/vifs.8')
487 executable(
488     'vipw',
489     install : true,
490     sources : [
491         'vipw/pw_util.c',
492         'vipw/vipw.c'
493     ]
495 install_man('vipw/vipw.8')
497 executable('vm_purgeable_stat',
498     build_by_default : sdk_version.version_compare('>=11'),
499     install : sdk_version.version_compare('>=11'),
500     sources : 'vm_purgeable_stat/vm_purgeable_stat.c'
502 if sdk_version.version_compare('>=11')
503     install_man('vm_purgeable_stat/vm_purgeable_stat.1')
504 endif
506 executable('vm_stat', install : true, sources : 'vm_stat/vm_stat.c')
507 install_man('vm_stat/vm_stat.1')
509 executable('wait4path', install : true, sources : 'wait4path/wait4path.c')
510 install_man('wait4path/wait4path.1')
512 executable('wordexp-helper', install : true, sources : 'wordexp-helper/wordexp-helper.c')
513 # No man pages for `wordexp-helper`.
515 executable('zdump', include_directories : 'zic', install : true, sources : 'zdump/zdump.c')
516 install_man('zdump/zdump.8')
518 executable('zic', install : true, sources : 'zic/zic.c')
519 install_man('zic/zic.8')
521 executable(
522     'zlog',
523     build_by_default : sdk_version.version_compare('>=11'),
524     c_args : '-DKERN_NOT_FOUND=56',
525     dependencies : [ core_foundation, core_symbolication ],
526     install : sdk_version.version_compare('>=11'),
527     sources : [
528         'zlog/SymbolicationHelper.c',
529         'zlog/zlog.c',
530     ]
532 if sdk_version.version_compare('>=11')
533     install_man('zlog/zlog.1')
534 endif
536 executable(
537     'zprint',
538     # Requires IOKitUser kext APIs
539     build_by_default : false,
540     dependencies: [ kernel ],
541     install : false,
542     sources : 'zprint/zprint.c'
544 # install_man('zprint/zprint.1')