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 27ed6184dfSmrgxwin_glx = [] 28ed6184dfSmrgxwin_windowsdri = [] 291b5d61b8Smrgif build_glx 301b5d61b8Smrg if build_windowsdri 311b5d61b8Smrg xwin_c_args += '-DXWIN_WINDOWS_DRI' 321b5d61b8Smrg subdir('dri') 331b5d61b8Smrg endif 341b5d61b8Smrg xwin_c_args += '-DXWIN_GLX_WINDOWS' 351b5d61b8Smrg xwin_sys_libs += '-lopengl32' 361b5d61b8Smrg subdir('glx') 371b5d61b8Smrgendif 381b5d61b8Smrg 391b5d61b8Smrgsrcs_windows += [ 401b5d61b8Smrg 'winmultiwindowshape.c', 411b5d61b8Smrg 'winmultiwindowwindow.c', 421b5d61b8Smrg 'winmultiwindowwm.c', 431b5d61b8Smrg 'winmultiwindowwndproc.c', 441b5d61b8Smrg 'propertystore.h', 451b5d61b8Smrg 'winSetAppUserModelID.c', 461b5d61b8Smrg] 47ed6184dfSmrgxwin_sys_libs += ['-lshlwapi', '-lole32', '-ldwmapi'] 481b5d61b8Smrg 491b5d61b8Smrgsrcs_windows += [ 501b5d61b8Smrg 'winrandr.c', 511b5d61b8Smrg] 521b5d61b8Smrg 531b5d61b8Smrgsrcs_windows += [ 541b5d61b8Smrg 'InitInput.c', 551b5d61b8Smrg 'InitOutput.c', 561b5d61b8Smrg 'winallpriv.c', 571b5d61b8Smrg 'winauth.c', 581b5d61b8Smrg 'winblock.c', 591b5d61b8Smrg 'wincmap.c', 601b5d61b8Smrg 'winconfig.c', 611b5d61b8Smrg 'wincreatewnd.c', 621b5d61b8Smrg 'wincursor.c', 631b5d61b8Smrg 'windialogs.c', 641b5d61b8Smrg 'winengine.c', 651b5d61b8Smrg 'winerror.c', 661b5d61b8Smrg 'winglobals.c', 671b5d61b8Smrg 'winkeybd.c', 681b5d61b8Smrg 'winkeyhook.c', 691b5d61b8Smrg 'winmisc.c', 701b5d61b8Smrg 'winmonitors.c', 711b5d61b8Smrg 'winmouse.c', 721b5d61b8Smrg 'winmsg.c', 731b5d61b8Smrg 'winmsgwindow.c', 741b5d61b8Smrg 'winmultiwindowclass.c', 751b5d61b8Smrg 'winmultiwindowicons.c', 761b5d61b8Smrg 'winos.c', 771b5d61b8Smrg 'winprefs.c', 781b5d61b8Smrg 'winprocarg.c', 791b5d61b8Smrg 'winscrinit.c', 801b5d61b8Smrg 'winshadddnl.c', 811b5d61b8Smrg 'winshadgdi.c', 821b5d61b8Smrg 'wintaskbar.c', 831b5d61b8Smrg 'wintrayicon.c', 841b5d61b8Smrg 'winvalargs.c', 851b5d61b8Smrg 'winwakeup.c', 861b5d61b8Smrg 'winwindow.c', 871b5d61b8Smrg 'winwndproc.c', 881b5d61b8Smrg 'ddraw.h', 891b5d61b8Smrg 'winconfig.h', 901b5d61b8Smrg 'win.h', 911b5d61b8Smrg 'winglobals.h', 921b5d61b8Smrg 'winkeybd.h', 931b5d61b8Smrg 'winkeynames.h', 941b5d61b8Smrg 'winlayouts.h', 951b5d61b8Smrg 'winmessages.h', 961b5d61b8Smrg 'winmonitors.h', 971b5d61b8Smrg 'winmsg.h', 981b5d61b8Smrg 'winms.h', 991b5d61b8Smrg 'winmultiwindowclass.h', 1001b5d61b8Smrg 'winmultiwindowicons.h', 1011b5d61b8Smrg 'winprefs.h', 1021b5d61b8Smrg 'winresource.h', 1031b5d61b8Smrg 'winwindow.h', 1041b5d61b8Smrg 'windisplay.c', 1051b5d61b8Smrg 'windisplay.h', 1061b5d61b8Smrg '../../mi/miinitext.c', 107ed6184dfSmrg '../../mi/miinitext.h', 1081b5d61b8Smrg] 1091b5d61b8Smrg 1101b5d61b8Smrgrsrc = windows.compile_resources('XWin.rc', include_directories: include_directories('../../include/')) 1111b5d61b8Smrgsrcs_windows += rsrc 1121b5d61b8Smrg 1131b5d61b8Smrgflex = find_program('flex') 1141b5d61b8Smrgbison = find_program('bison') 1151b5d61b8Smrg 1161b5d61b8Smrglgen = generator( 1171b5d61b8Smrg flex, 1181b5d61b8Smrg output : '@PLAINNAME@.yy.c', 1191b5d61b8Smrg arguments : ['-i', '-o', '@OUTPUT@', '@INPUT@'] 1201b5d61b8Smrg) 1211b5d61b8Smrg 1221b5d61b8Smrglfiles = lgen.process('winprefslex.l') 1231b5d61b8Smrgsrcs_windows += lfiles 1241b5d61b8Smrg 1251b5d61b8Smrgpgen = generator( 1261b5d61b8Smrg bison, 1271b5d61b8Smrg output : ['@BASENAME@.c', '@BASENAME@.h'], 1281b5d61b8Smrg arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] 1291b5d61b8Smrg) 1301b5d61b8Smrg 1311b5d61b8Smrgpfiles = pgen.process('winprefsyacc.y') 1321b5d61b8Smrgsrcs_windows += pfiles 1331b5d61b8Smrg 1341b5d61b8Smrgxwin_dep = [ 1351b5d61b8Smrg common_dep, 1361b5d61b8Smrg dependency('xcb-aux'), 1371b5d61b8Smrg dependency('xcb-image'), 1381b5d61b8Smrg dependency('xcb-ewmh'), 1391b5d61b8Smrg dependency('xcb-icccm'), 140ed6184dfSmrg dependency('xcb-composite'), 1411b5d61b8Smrg] 1421b5d61b8Smrg 1431b5d61b8Smrgexecutable( 1441b5d61b8Smrg server_name, 1451b5d61b8Smrg srcs_windows, 146ed6184dfSmrg include_directories: [inc, top_dir_inc], 1471b5d61b8Smrg dependencies: xwin_dep, 1481b5d61b8Smrg link_with: [ 1491b5d61b8Smrg xwin_windowsdri, 1501b5d61b8Smrg xwin_glx, 1511b5d61b8Smrg xwin_clipboard, 1521b5d61b8Smrg libxserver_fb, 1531b5d61b8Smrg libxserver, 1541b5d61b8Smrg libxserver_glx, 1551b5d61b8Smrg libglxvnd, 1561b5d61b8Smrg libxserver_xkb_stubs, 1571b5d61b8Smrg libxserver_miext_shadow, 1581b5d61b8Smrg libxserver_pseudoramix, 1591b5d61b8Smrg libxserver_xi_stubs, 1601b5d61b8Smrg ], 1611b5d61b8Smrg link_args: ['-Wl,--disable-stdcall-fixup', '-Wl,--export-all-symbols'] + xwin_sys_libs, 1621b5d61b8Smrg c_args: xwin_c_args, 1631b5d61b8Smrg gui_app: true, 1641b5d61b8Smrg install: true, 1651b5d61b8Smrg) 1661b5d61b8Smrg 1671b5d61b8Smrginstall_data( 1681b5d61b8Smrg 'system.XWinrc', 1691b5d61b8Smrg install_dir: join_paths(get_option('sysconfdir'), 'X11') 1701b5d61b8Smrg) 1711b5d61b8Smrg 1721b5d61b8Smrgxwin_man = configure_file( 1731b5d61b8Smrg input: 'man/XWin.man', 1741b5d61b8Smrg output: 'XWin.1', 1751b5d61b8Smrg configuration: manpage_config, 1761b5d61b8Smrg) 1771b5d61b8Smrginstall_man(xwin_man) 1781b5d61b8Smrg 1791b5d61b8Smrgxwinrc_man = configure_file( 1801b5d61b8Smrg input: 'man/XWinrc.man', 1811b5d61b8Smrg output: 'XWinrc.5', 1821b5d61b8Smrg configuration: manpage_config, 1831b5d61b8Smrg) 1841b5d61b8Smrginstall_man(xwinrc_man) 185