11b5d61b8Smrgadd_languages('objc') 21b5d61b8Smrg 3ed6184dfSmrgapple_applications_dir = get_option('apple-applications-dir') 4ed6184dfSmrgapple_application_name = get_option('apple-application-name') 5ed6184dfSmrgbundle_id_prefix = get_option('bundle-id-prefix') 6ed6184dfSmrgxquartz_sparkle_feed_url = get_option('sparkle-feed-url') 7dc61d50dSmrgxquartz_sparkle_public_edkey = get_option('sparkle-public-edkey') 8ed6184dfSmrg 9dc61d50dSmrgbundle_version_string = get_option('bundle-version-string') # CFBundleShortVersionString 10dc61d50dSmrgif bundle_version_string == 'auto' 11dc61d50dSmrg bundle_version_string = meson.project_version() 12dc61d50dSmrgendif 13dc61d50dSmrg 14dc61d50dSmrgbundle_version = get_option('bundle-version') # CFBundleVersion 15dc61d50dSmrgif bundle_version == 'auto' 16dc61d50dSmrg version_arr = bundle_version_string.split('.') 17dc61d50dSmrg version_major = version_arr[0].to_int() 18dc61d50dSmrg version_minor = version_arr[1].to_int() 19dc61d50dSmrg version_tiny = version_arr[2].to_int() 20dc61d50dSmrg bundle_version = '@0@.@1@.@2@'.format(version_major, version_minor, version_tiny) 21dc61d50dSmrgendif 22ed6184dfSmrg 23ed6184dfSmrgbundle_id_def = '-DBUNDLE_ID_PREFIX="@0@"'.format(bundle_id_prefix) 24ed6184dfSmrg 25ed6184dfSmrgbundle_root = join_paths(apple_applications_dir, apple_application_name + '.app') 26c82838c1Smrgxquartz_data_dir = join_paths(get_option('prefix'), get_option('datadir'),'X11', 'XQuartz') 27ed6184dfSmrg 28ed6184dfSmrg# using sparkle update framework? 29dc61d50dSmrgbuild_sparkle = xquartz_sparkle_feed_url != '' and xquartz_sparkle_public_edkey != '' 30ed6184dfSmrgif build_sparkle 31ed6184dfSmrg sparkle = dependency('Sparkle', method: 'extraframework') 32dc61d50dSmrg 33dc61d50dSmrg sparkle_defs = [ 34dc61d50dSmrg '-DXQUARTZ_SPARKLE', 35dc61d50dSmrg '-DXQUARTZ_SPARKLE_FEED_URL=@0@'.format(xquartz_sparkle_feed_url), 36dc61d50dSmrg '-DXQUARTZ_SPARKLE_PUBLIC_EDKEY=@0@'.format(xquartz_sparkle_public_edkey), 37dc61d50dSmrg ] 38dc61d50dSmrgelse 39dc61d50dSmrg sparkle_defs = [] 40ed6184dfSmrgendif 41ed6184dfSmrg 42ed6184dfSmrg# libxquartz 43ed6184dfSmrgsrcs_libxquartz = [ 44dc61d50dSmrg 'NSUserDefaults+XQuartzDefaults.m', 451b5d61b8Smrg 'X11Application.m', 461b5d61b8Smrg 'X11Controller.m', 471b5d61b8Smrg 'applewm.c', 481b5d61b8Smrg 'darwin.c', 491b5d61b8Smrg 'darwinEvents.c', 501b5d61b8Smrg 'darwinXinput.c', 511b5d61b8Smrg 'keysym2ucs.c', 521b5d61b8Smrg 'quartz.c', 531b5d61b8Smrg 'quartzKeyboard.c', 541b5d61b8Smrg 'quartzStartup.c', 551b5d61b8Smrg 'quartzRandR.c', 561b5d61b8Smrg '../../mi/miinitext.c', 57ed6184dfSmrg '../../mi/miinitext.h', 581b5d61b8Smrg] 591b5d61b8Smrg 60ed6184dfSmrglibxquartz_defs = [ 61ed6184dfSmrg '-DUSE_NEW_CLUT', 62ed6184dfSmrg '-DXFree86Server', 63ed6184dfSmrg '-DXQUARTZ', 64c82838c1Smrg '-DXQUARTZ_DATA_DIR="@0@"'.format(xquartz_data_dir), 65ed6184dfSmrg '-DXSERVER_VERSION="@0@"'.format(meson.project_version()), 66ed6184dfSmrg bundle_id_def, 67dc61d50dSmrg sparkle_defs, 68ed6184dfSmrg] 69ed6184dfSmrg 70ed6184dfSmrgif cc.has_function('dispatch_async') 71ed6184dfSmrg libxquartz_defs += '-DHAVE_LIBDISPATCH' 72ed6184dfSmrgendif 73ed6184dfSmrg 74ed6184dfSmrglibXquartz = static_library('Xquartz', 75ed6184dfSmrg srcs_libxquartz, 76ed6184dfSmrg c_args: libxquartz_defs, 77ed6184dfSmrg objc_args: libxquartz_defs, 78ed6184dfSmrg include_directories: [inc, '../../pseudoramiX', '../../miext/rootless', top_dir_inc], 79ed6184dfSmrg dependencies: [xproto_dep, pixman_dep], 80ed6184dfSmrg link_with: [libxserver_pseudoramix, libxserver_miext_rootless], 81ed6184dfSmrg) 82ed6184dfSmrg 83ed6184dfSmrgsubdir('bundle') 84ed6184dfSmrgif build_glx 85ed6184dfSmrg subdir('GL') 86ed6184dfSmrgendif 87ed6184dfSmrgsubdir('pbproxy') 88ed6184dfSmrgsubdir('xpr') 89ed6184dfSmrgsubdir('mach-startup') 90ed6184dfSmrg 91ed6184dfSmrg# manpage 92ed6184dfSmrgxquartz_man = configure_file( 93ed6184dfSmrg input: 'man/Xquartz.man', 94ed6184dfSmrg output: 'Xquartz.1', 95ed6184dfSmrg configuration: manpage_config, 961b5d61b8Smrg) 97ed6184dfSmrginstall_man(xquartz_man) 98c82838c1Smrg 99c82838c1Smrginstall_data('defaults.plist', 100c82838c1Smrg install_dir: xquartz_data_dir, 101c82838c1Smrg install_mode: 'rw-r--r--') 102