You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.1 KiB
Meson
89 lines
2.1 KiB
Meson
# mach interface
|
|
mig = find_program('mig')
|
|
mach_startup = custom_target('mach_startup',
|
|
command: [mig,
|
|
'-sheader', '@OUTPUT0@', '-header', '@OUTPUT2@',
|
|
'-server', '@OUTPUT1@', '-user', '@OUTPUT3@',
|
|
'@INPUT@'],
|
|
input: 'mach_startup.defs',
|
|
output: ['mach_startupServer.h',
|
|
'mach_startupServer.c',
|
|
'mach_startup.h',
|
|
'mach_startupUser.c'],
|
|
)
|
|
|
|
mach_startup_dep = declare_dependency(
|
|
sources: mach_startup[2] # mach_startup.h
|
|
)
|
|
|
|
# common defines
|
|
xquartz_defs = [
|
|
bundle_id_def,
|
|
'-DXSERVER_VERSION="@0@"'.format(meson.project_version()),
|
|
'-DX11BINDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('bindir'))),
|
|
]
|
|
|
|
# X11.bin
|
|
x11appdir = join_paths(bundle_root, 'Contents/MacOS')
|
|
|
|
x11_bin_deps = [
|
|
meson.get_compiler('c').find_library('Xplugin'),
|
|
dependency('Carbon', method: 'extraframework'),
|
|
cocoa,
|
|
dependency('CoreAudio', method: 'extraframework'),
|
|
dependency('IOKit', method: 'extraframework')
|
|
]
|
|
|
|
if build_glx
|
|
x11_bin_deps += [dependency('OpenGL', method: 'extraframework')]
|
|
endif
|
|
|
|
if build_sparkle
|
|
x11_bin_deps += sparkle
|
|
endif
|
|
|
|
x11_bin_libs = [
|
|
libXquartz,
|
|
libXquartzXpr,
|
|
libxpbproxy,
|
|
libxserver_fb,
|
|
libxserver,
|
|
libxserver_xkb_stubs,
|
|
]
|
|
|
|
if build_glx
|
|
x11_bin_libs += [libcglcore, libxserver_glx, libglxvnd]
|
|
endif
|
|
|
|
x11_bin = executable('X11.bin',
|
|
[
|
|
'bundle-main.c',
|
|
mach_startup[1], # mach_startupServer.c
|
|
mach_startup[3], # mach_startupUser.c
|
|
],
|
|
link_with: x11_bin_libs,
|
|
dependencies: [xproto_dep, x11_bin_deps, mach_startup_dep],
|
|
include_directories: [inc, '..', top_dir_inc],
|
|
c_args: xquartz_defs,
|
|
link_args: ['-Objc'],
|
|
install: true,
|
|
install_dir: x11appdir,
|
|
)
|
|
|
|
# Xquartz
|
|
xquartz_deps = [
|
|
dependency('CoreServices', method: 'extraframework'),
|
|
]
|
|
|
|
xquartz = executable('Xquartz',
|
|
[
|
|
'stub.c',
|
|
'launchd_fd.c',
|
|
mach_startup[3], # mach_startupUser.c
|
|
],
|
|
include_directories: inc,
|
|
c_args: xquartz_defs,
|
|
dependencies: [xquartz_deps, mach_startup_dep],
|
|
install: true,
|
|
)
|