1ed6184dfSmrg# mach interface 2ed6184dfSmrgmig = find_program('mig') 3ed6184dfSmrgmach_startup = custom_target('mach_startup', 4ed6184dfSmrg command: [mig, 5ed6184dfSmrg '-sheader', '@OUTPUT0@', '-header', '@OUTPUT2@', 6ed6184dfSmrg '-server', '@OUTPUT1@', '-user', '@OUTPUT3@', 7ed6184dfSmrg '@INPUT@'], 8ed6184dfSmrg input: 'mach_startup.defs', 9ed6184dfSmrg output: ['mach_startupServer.h', 10ed6184dfSmrg 'mach_startupServer.c', 11ed6184dfSmrg 'mach_startup.h', 12ed6184dfSmrg 'mach_startupUser.c'], 13ed6184dfSmrg) 14ed6184dfSmrg 15ed6184dfSmrgmach_startup_dep = declare_dependency( 16ed6184dfSmrg sources: mach_startup[2] # mach_startup.h 17ed6184dfSmrg) 18ed6184dfSmrg 19ed6184dfSmrg# common defines 20ed6184dfSmrgxquartz_defs = [ 21ed6184dfSmrg bundle_id_def, 22ed6184dfSmrg '-DXSERVER_VERSION="@0@"'.format(meson.project_version()), 23ed6184dfSmrg '-DX11BINDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('bindir'))), 24ed6184dfSmrg] 25ed6184dfSmrg 26ed6184dfSmrg# X11.bin 27ed6184dfSmrgx11appdir = join_paths(bundle_root, 'Contents/MacOS') 28ed6184dfSmrg 29ed6184dfSmrgx11_bin_deps = [ 30ed6184dfSmrg meson.get_compiler('c').find_library('Xplugin'), 31ed6184dfSmrg dependency('Carbon', method: 'extraframework'), 32ed6184dfSmrg cocoa, 33ed6184dfSmrg dependency('CoreAudio', method: 'extraframework'), 34ed6184dfSmrg dependency('IOKit', method: 'extraframework') 35ed6184dfSmrg] 36ed6184dfSmrg 37ed6184dfSmrgif build_glx 38ed6184dfSmrg x11_bin_deps += [dependency('OpenGL', method: 'extraframework')] 39ed6184dfSmrgendif 40ed6184dfSmrg 41ed6184dfSmrgif build_sparkle 42ed6184dfSmrg x11_bin_deps += sparkle 43ed6184dfSmrgendif 44ed6184dfSmrg 45ed6184dfSmrgx11_bin_libs = [ 46ed6184dfSmrg libXquartz, 47ed6184dfSmrg libXquartzXpr, 48ed6184dfSmrg libxpbproxy, 49ed6184dfSmrg libxserver_fb, 50ed6184dfSmrg libxserver, 51ed6184dfSmrg libxserver_xkb_stubs, 52ed6184dfSmrg] 53ed6184dfSmrg 54ed6184dfSmrgif build_glx 55ed6184dfSmrg x11_bin_libs += [libcglcore, libxserver_glx, libglxvnd] 56ed6184dfSmrgendif 57ed6184dfSmrg 58ed6184dfSmrgx11_bin = executable('X11.bin', 59ed6184dfSmrg [ 60ed6184dfSmrg 'bundle-main.c', 61ed6184dfSmrg mach_startup[1], # mach_startupServer.c 62ed6184dfSmrg mach_startup[3], # mach_startupUser.c 63ed6184dfSmrg ], 64ed6184dfSmrg link_with: x11_bin_libs, 65ed6184dfSmrg dependencies: [xproto_dep, x11_bin_deps, mach_startup_dep], 66ed6184dfSmrg include_directories: [inc, '..', top_dir_inc], 67ed6184dfSmrg c_args: xquartz_defs, 68ed6184dfSmrg link_args: ['-Objc'], 69ed6184dfSmrg install: true, 70ed6184dfSmrg install_dir: x11appdir, 71ed6184dfSmrg) 72ed6184dfSmrg 73dc61d50dSmrg# X11 (Bundle trampoline) 74dc61d50dSmrgx11 = executable('X11', 75dc61d50dSmrg [ 76dc61d50dSmrg 'bundle_trampoline.c', 77dc61d50dSmrg ], 78dc61d50dSmrg c_args: xquartz_defs, 79dc61d50dSmrg link_args: ['-Objc'], 80dc61d50dSmrg install: true, 81dc61d50dSmrg install_dir: x11appdir, 82dc61d50dSmrg) 83dc61d50dSmrg 84ed6184dfSmrg# Xquartz 85ed6184dfSmrgxquartz_deps = [ 86ed6184dfSmrg dependency('CoreServices', method: 'extraframework'), 87ed6184dfSmrg] 88ed6184dfSmrg 89ed6184dfSmrgxquartz = executable('Xquartz', 90ed6184dfSmrg [ 91ed6184dfSmrg 'stub.c', 92ed6184dfSmrg 'launchd_fd.c', 93ed6184dfSmrg mach_startup[3], # mach_startupUser.c 94ed6184dfSmrg ], 95ed6184dfSmrg include_directories: inc, 96ed6184dfSmrg c_args: xquartz_defs, 97ed6184dfSmrg dependencies: [xquartz_deps, mach_startup_dep], 98ed6184dfSmrg install: true, 99ed6184dfSmrg) 100