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