1windows = import('windows') 2 3windowsdri_dep = dependency('windowsdriproto', required: false) 4 5build_windowsdri = windowsdri_dep.found() 6 7xwin_sys_libs = [] 8xwin_sys_libs += '-ldxguid' 9 10if host_machine.system() == 'cygwin' 11 server_name = 'XWin' 12else 13 server_name = 'Xming' 14 xwin_sys_libs += ['-lpthread', '-lws2_32'] 15endif 16 17xwin_c_args = [] 18xwin_c_args += '-DHAVE_XWIN_CONFIG_H' 19xwin_c_args += '-Wno-bad-function-cast' 20 21srcs_windows = [ 22 'winclipboardinit.c', 23 'winclipboardwrappers.c', 24] 25subdir('winclipboard') 26 27if build_glx 28 if build_windowsdri 29 xwin_c_args += '-DXWIN_WINDOWS_DRI' 30 subdir('dri') 31 endif 32 xwin_c_args += '-DXWIN_GLX_WINDOWS' 33 xwin_sys_libs += '-lopengl32' 34 subdir('glx') 35endif 36 37srcs_windows += [ 38 'winmultiwindowshape.c', 39 'winmultiwindowwindow.c', 40 'winmultiwindowwm.c', 41 'winmultiwindowwndproc.c', 42 'propertystore.h', 43 'winSetAppUserModelID.c', 44] 45xwin_sys_libs += ['-lshlwapi', '-lole32'] 46 47srcs_windows += [ 48 'winrandr.c', 49] 50 51srcs_windows += [ 52 'InitInput.c', 53 'InitOutput.c', 54 'winallpriv.c', 55 'winauth.c', 56 'winblock.c', 57 'wincmap.c', 58 'winconfig.c', 59 'wincreatewnd.c', 60 'wincursor.c', 61 'windialogs.c', 62 'winengine.c', 63 'winerror.c', 64 'winglobals.c', 65 'winkeybd.c', 66 'winkeyhook.c', 67 'winmisc.c', 68 'winmonitors.c', 69 'winmouse.c', 70 'winmsg.c', 71 'winmsgwindow.c', 72 'winmultiwindowclass.c', 73 'winmultiwindowicons.c', 74 'winos.c', 75 'winprefs.c', 76 'winprocarg.c', 77 'winscrinit.c', 78 'winshadddnl.c', 79 'winshadgdi.c', 80 'wintaskbar.c', 81 'wintrayicon.c', 82 'winvalargs.c', 83 'winwakeup.c', 84 'winwindow.c', 85 'winwndproc.c', 86 'ddraw.h', 87 'winconfig.h', 88 'win.h', 89 'winglobals.h', 90 'winkeybd.h', 91 'winkeynames.h', 92 'winlayouts.h', 93 'winmessages.h', 94 'winmonitors.h', 95 'winmsg.h', 96 'winms.h', 97 'winmultiwindowclass.h', 98 'winmultiwindowicons.h', 99 'winprefs.h', 100 'winresource.h', 101 'winwindow.h', 102 'windisplay.c', 103 'windisplay.h', 104 '../../mi/miinitext.c', 105] 106 107rsrc = windows.compile_resources('XWin.rc', include_directories: include_directories('../../include/')) 108srcs_windows += rsrc 109 110flex = find_program('flex') 111bison = find_program('bison') 112 113lgen = generator( 114 flex, 115 output : '@PLAINNAME@.yy.c', 116 arguments : ['-i', '-o', '@OUTPUT@', '@INPUT@'] 117) 118 119lfiles = lgen.process('winprefslex.l') 120srcs_windows += lfiles 121 122pgen = generator( 123 bison, 124 output : ['@BASENAME@.c', '@BASENAME@.h'], 125 arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'] 126) 127 128pfiles = pgen.process('winprefsyacc.y') 129srcs_windows += pfiles 130 131xwin_dep = [ 132 common_dep, 133 dependency('x11-xcb'), 134 dependency('xcb-aux'), 135 dependency('xcb-image'), 136 dependency('xcb-ewmh'), 137 dependency('xcb-icccm'), 138] 139 140executable( 141 server_name, 142 srcs_windows, 143 include_directories: [inc, top_srcdir_inc], 144 dependencies: xwin_dep, 145 link_with: [ 146 xwin_windowsdri, 147 xwin_glx, 148 xwin_clipboard, 149 libxserver_fb, 150 libxserver, 151 libxserver_glx, 152 libglxvnd, 153 libxserver_xkb_stubs, 154 libxserver_miext_shadow, 155 libxserver_pseudoramix, 156 libxserver_xi_stubs, 157 ], 158 link_args: ['-Wl,--disable-stdcall-fixup', '-Wl,--export-all-symbols'] + xwin_sys_libs, 159 c_args: xwin_c_args, 160 gui_app: true, 161 install: true, 162) 163 164install_data( 165 'system.XWinrc', 166 install_dir: join_paths(get_option('sysconfdir'), 'X11') 167) 168 169xwin_man = configure_file( 170 input: 'man/XWin.man', 171 output: 'XWin.1', 172 configuration: manpage_config, 173) 174install_man(xwin_man) 175 176xwinrc_man = configure_file( 177 input: 'man/XWinrc.man', 178 output: 'XWinrc.5', 179 configuration: manpage_config, 180) 181install_man(xwinrc_man) 182