meson.build revision 1b5d61b8
11b5d61b8Smrgwindows = import('windows') 21b5d61b8Smrg 31b5d61b8Smrgwindowsdri_dep = dependency('windowsdriproto', required: false) 41b5d61b8Smrg 51b5d61b8Smrgbuild_windowsdri = windowsdri_dep.found() 61b5d61b8Smrg 71b5d61b8Smrgxwin_sys_libs = [] 81b5d61b8Smrgxwin_sys_libs += '-ldxguid' 91b5d61b8Smrg 101b5d61b8Smrgif host_machine.system() == 'cygwin' 111b5d61b8Smrg server_name = 'XWin' 121b5d61b8Smrgelse 131b5d61b8Smrg server_name = 'Xming' 141b5d61b8Smrg xwin_sys_libs += ['-lpthread', '-lws2_32'] 151b5d61b8Smrgendif 161b5d61b8Smrg 171b5d61b8Smrgxwin_c_args = [] 181b5d61b8Smrgxwin_c_args += '-DHAVE_XWIN_CONFIG_H' 191b5d61b8Smrgxwin_c_args += '-Wno-bad-function-cast' 201b5d61b8Smrg 211b5d61b8Smrgsrcs_windows = [ 221b5d61b8Smrg 'winclipboardinit.c', 231b5d61b8Smrg 'winclipboardwrappers.c', 241b5d61b8Smrg] 251b5d61b8Smrgsubdir('winclipboard') 261b5d61b8Smrg 271b5d61b8Smrgif build_glx 281b5d61b8Smrg if build_windowsdri 291b5d61b8Smrg xwin_c_args += '-DXWIN_WINDOWS_DRI' 301b5d61b8Smrg subdir('dri') 311b5d61b8Smrg endif 321b5d61b8Smrg xwin_c_args += '-DXWIN_GLX_WINDOWS' 331b5d61b8Smrg xwin_sys_libs += '-lopengl32' 341b5d61b8Smrg subdir('glx') 351b5d61b8Smrgendif 361b5d61b8Smrg 371b5d61b8Smrgsrcs_windows += [ 381b5d61b8Smrg 'winmultiwindowshape.c', 391b5d61b8Smrg 'winmultiwindowwindow.c', 401b5d61b8Smrg 'winmultiwindowwm.c', 411b5d61b8Smrg 'winmultiwindowwndproc.c', 421b5d61b8Smrg 'propertystore.h', 431b5d61b8Smrg 'winSetAppUserModelID.c', 441b5d61b8Smrg] 451b5d61b8Smrgxwin_sys_libs += ['-lshlwapi', '-lole32'] 461b5d61b8Smrg 471b5d61b8Smrgsrcs_windows += [ 481b5d61b8Smrg 'winrandr.c', 491b5d61b8Smrg] 501b5d61b8Smrg 511b5d61b8Smrgsrcs_windows += [ 521b5d61b8Smrg 'InitInput.c', 531b5d61b8Smrg 'InitOutput.c', 541b5d61b8Smrg 'winallpriv.c', 551b5d61b8Smrg 'winauth.c', 561b5d61b8Smrg 'winblock.c', 571b5d61b8Smrg 'wincmap.c', 581b5d61b8Smrg 'winconfig.c', 591b5d61b8Smrg 'wincreatewnd.c', 601b5d61b8Smrg 'wincursor.c', 611b5d61b8Smrg 'windialogs.c', 621b5d61b8Smrg 'winengine.c', 631b5d61b8Smrg 'winerror.c', 641b5d61b8Smrg 'winglobals.c', 651b5d61b8Smrg 'winkeybd.c', 661b5d61b8Smrg 'winkeyhook.c', 671b5d61b8Smrg 'winmisc.c', 681b5d61b8Smrg 'winmonitors.c', 691b5d61b8Smrg 'winmouse.c', 701b5d61b8Smrg 'winmsg.c', 711b5d61b8Smrg 'winmsgwindow.c', 721b5d61b8Smrg 'winmultiwindowclass.c', 731b5d61b8Smrg 'winmultiwindowicons.c', 741b5d61b8Smrg 'winos.c', 751b5d61b8Smrg 'winprefs.c', 761b5d61b8Smrg 'winprocarg.c', 771b5d61b8Smrg 'winscrinit.c', 781b5d61b8Smrg 'winshadddnl.c', 791b5d61b8Smrg 'winshadgdi.c', 801b5d61b8Smrg 'wintaskbar.c', 811b5d61b8Smrg 'wintrayicon.c', 821b5d61b8Smrg 'winvalargs.c', 831b5d61b8Smrg 'winwakeup.c', 841b5d61b8Smrg 'winwindow.c', 851b5d61b8Smrg 'winwndproc.c', 861b5d61b8Smrg 'ddraw.h', 871b5d61b8Smrg 'winconfig.h', 881b5d61b8Smrg 'win.h', 891b5d61b8Smrg 'winglobals.h', 901b5d61b8Smrg 'winkeybd.h', 911b5d61b8Smrg 'winkeynames.h', 921b5d61b8Smrg 'winlayouts.h', 931b5d61b8Smrg 'winmessages.h', 941b5d61b8Smrg 'winmonitors.h', 951b5d61b8Smrg 'winmsg.h', 961b5d61b8Smrg 'winms.h', 971b5d61b8Smrg 'winmultiwindowclass.h', 981b5d61b8Smrg 'winmultiwindowicons.h', 991b5d61b8Smrg 'winprefs.h', 1001b5d61b8Smrg 'winresource.h', 1011b5d61b8Smrg 'winwindow.h', 1021b5d61b8Smrg 'windisplay.c', 1031b5d61b8Smrg 'windisplay.h', 1041b5d61b8Smrg '../../mi/miinitext.c', 1051b5d61b8Smrg] 1061b5d61b8Smrg 1071b5d61b8Smrgrsrc = windows.compile_resources('XWin.rc', include_directories: include_directories('../../include/')) 1081b5d61b8Smrgsrcs_windows += rsrc 1091b5d61b8Smrg 1101b5d61b8Smrgflex = find_program('flex') 1111b5d61b8Smrgbison = find_program('bison') 1121b5d61b8Smrg 1131b5d61b8Smrglgen = generator( 1141b5d61b8Smrg flex, 1151b5d61b8Smrg output : '@PLAINNAME@.yy.c', 1161b5d61b8Smrg arguments : ['-i', '-o', '@OUTPUT@', '@INPUT@'] 1171b5d61b8Smrg) 1181b5d61b8Smrg 1191b5d61b8Smrglfiles = lgen.process('winprefslex.l') 1201b5d61b8Smrgsrcs_windows += lfiles 1211b5d61b8Smrg 1221b5d61b8Smrgpgen = generator( 1231b5d61b8Smrg bison, 1241b5d61b8Smrg output : ['@BASENAME@.c', '@BASENAME@.h'], 1251b5d61b8Smrg arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] 1261b5d61b8Smrg) 1271b5d61b8Smrg 1281b5d61b8Smrgpfiles = pgen.process('winprefsyacc.y') 1291b5d61b8Smrgsrcs_windows += pfiles 1301b5d61b8Smrg 1311b5d61b8Smrgxwin_dep = [ 1321b5d61b8Smrg common_dep, 1331b5d61b8Smrg dependency('x11-xcb'), 1341b5d61b8Smrg dependency('xcb-aux'), 1351b5d61b8Smrg dependency('xcb-image'), 1361b5d61b8Smrg dependency('xcb-ewmh'), 1371b5d61b8Smrg dependency('xcb-icccm'), 1381b5d61b8Smrg] 1391b5d61b8Smrg 1401b5d61b8Smrgexecutable( 1411b5d61b8Smrg server_name, 1421b5d61b8Smrg srcs_windows, 1431b5d61b8Smrg include_directories: [inc, top_srcdir_inc], 1441b5d61b8Smrg dependencies: xwin_dep, 1451b5d61b8Smrg link_with: [ 1461b5d61b8Smrg xwin_windowsdri, 1471b5d61b8Smrg xwin_glx, 1481b5d61b8Smrg xwin_clipboard, 1491b5d61b8Smrg libxserver_fb, 1501b5d61b8Smrg libxserver, 1511b5d61b8Smrg libxserver_glx, 1521b5d61b8Smrg libglxvnd, 1531b5d61b8Smrg libxserver_xkb_stubs, 1541b5d61b8Smrg libxserver_miext_shadow, 1551b5d61b8Smrg libxserver_pseudoramix, 1561b5d61b8Smrg libxserver_xi_stubs, 1571b5d61b8Smrg ], 1581b5d61b8Smrg link_args: ['-Wl,--disable-stdcall-fixup', '-Wl,--export-all-symbols'] + xwin_sys_libs, 1591b5d61b8Smrg c_args: xwin_c_args, 1601b5d61b8Smrg gui_app: true, 1611b5d61b8Smrg install: true, 1621b5d61b8Smrg) 1631b5d61b8Smrg 1641b5d61b8Smrginstall_data( 1651b5d61b8Smrg 'system.XWinrc', 1661b5d61b8Smrg install_dir: join_paths(get_option('sysconfdir'), 'X11') 1671b5d61b8Smrg) 1681b5d61b8Smrg 1691b5d61b8Smrgxwin_man = configure_file( 1701b5d61b8Smrg input: 'man/XWin.man', 1711b5d61b8Smrg output: 'XWin.1', 1721b5d61b8Smrg configuration: manpage_config, 1731b5d61b8Smrg) 1741b5d61b8Smrginstall_man(xwin_man) 1751b5d61b8Smrg 1761b5d61b8Smrgxwinrc_man = configure_file( 1771b5d61b8Smrg input: 'man/XWinrc.man', 1781b5d61b8Smrg output: 'XWinrc.5', 1791b5d61b8Smrg configuration: manpage_config, 1801b5d61b8Smrg) 1811b5d61b8Smrginstall_man(xwinrc_man) 182