Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • wine/wine
  • rbernon/wine
  • stefan/wine
  • FireBurn/wine
  • alesliehughes/wine
  • zhiyi/wine
  • huw/wine
  • jsikorski/wine
  • hmc/wine
  • dadangnh/wine
  • epo/wine
  • dlesho/wine
  • DarkShadow44/wine
  • iamahuman/wine
  • jacek/wine
  • mstorsjo/wine
  • gofman/wine
  • alexhenrie/wine
  • giomasce/wine
  • tclem/wine
  • besentv/wine
  • dlehman25/wine
  • aeikum/wine
  • cdavis5e/wine
  • sbaars/wine
  • baskanov/wine
  • pperdigao/wine
  • DavidHusicka/wine
  • DadSchoorse/wine
  • gverm/wine
  • bshanks/wine
  • gonzoMD/wine
  • Mystral/wine
  • tmatthies/wine
  • zlice/wine
  • AndreRH/wine
  • madewokherd/wine
  • zfigura/wine
  • fgouget/wine
  • nsivov/wine
  • ElementalWarrior/wine
  • piotr/wine
  • timozuccarello/wine
  • DavidCurtiss/wine
  • cmcadams/wine
  • davidebeatrici/wine
  • hans/wine
  • insn/wine
  • danrm/wine
  • jklemann/wine
  • saedo/wine
  • sgwaki/wine
  • puetzk/wine
  • bernhardu/wine
  • ReDress/wine
  • jlucfarias/wine
  • sloper42/wine
  • ivyl/wine
  • zhui/wine
  • julliard/wine
  • ClearlyClaire/wine
  • Alexander-Wilms/wine
  • rndtrash/wine
  • redmcg/wine
  • jkfloris/wine
  • maljaf/wine
  • Tuupertunut/wine
  • bsjeon/wine
  • tati/wine
  • whydoubt/wine
  • doitsujin/wine
  • shaunren/wine
  • szanni/wine
  • tobi.goergens/wine-cabinet-patch
  • winspool/wine
  • olivierfrdierick/wine
  • linkmauve/wine
  • jin-king1/wine
  • yeyeshun/wine
  • sulix/wine
  • bgc/wine
  • fanwenjie/wine
  • IncubusRK/wine
  • js6pak/wine
  • AurimasF/wine
  • etaash.mathamsetty/wine
  • hverbeet/wine
  • Fox2Code/wine
  • jhol/wine
  • jrueger/wine
  • afrantzis/wine
  • lauri.kentta/wine
  • ehoover/wine
  • cdenton/wine
  • jkloetzke/wine
  • baryluk/wine
  • restet/wine-personal
  • orudge/wine
  • Gcenx/wine
  • mstefani/wine
  • hibbsncc1701/wine
  • jchw/wine
  • moceap/wine
  • Skryptonyte/wine
  • marzent/wine
  • msmeissn/wine
  • learn-more/wine
  • logos128/wine
  • xe/wine
  • florian-kuebler/wine
  • eason329/wine
  • gang65/wine
  • binarymaster/wine
  • nbosio1001/wine
  • sh.owais95/wine
  • yaoyuan.0553/wine
  • AnthonyLaurienti/wine
  • mivanchev/wine
  • Hi-Angel/wine
  • vt/wine
  • wyrquill/wine
  • waynus/wine
  • wuliande/wine
  • yao.yuan.wn/wine
  • K1K1/wine
  • lukehutch1027/wine
  • etang-cw/wine
  • Josueblanco/wine
  • jplotz/wine
  • j20001970/wine
  • jsm174/wine
  • aricstewart/wine
  • uncoveryoureyestheresnosun/wine
  • VitorRamos/wine
  • 0e4ef622/wine
  • tj4048750/wine
  • xantares/wine
  • maxfigura/wine
  • sanane/wine
  • juniorjr9345/wine
  • lucaspereira1234/wine
  • gerald/wine
  • lepemiguel32/wine
  • caibb2018/wine
  • CNB_Kevin/wine
  • thc13/wine
  • jaihysc/wine
  • youngsecurity/wine
  • chendeqiang1024/wine
  • rhendric/wine
  • databoose/wine
  • memory-thrasher/wine
  • salman.tajik22/wine
  • CowFroggers/wine
  • kbdharun/wine
  • dreamer/wine
  • babyjoey711/wine
  • ripxorip/wine
  • PSzczepanski1996/wine
  • steveshe006/wine
  • joshua/wine
  • cmccarthy/wine
  • tomjansen/wine
  • sonyps5201314/wine
  • katelynnking4281/wine
  • dhary686/wine
  • mathematician/wine
  • rhabacker/wine
  • steveschnepp/wine
  • nekotekina/wine
  • Aaron1011/wine
  • catsout/wine
  • kasper93/wine
  • beef331/wine
  • ESD/wine
  • sarosib/wine
  • ghurmcardash/wine
  • AMZN-hgoffin/wine
  • gtmikw/wine
  • Keming/wine
  • dpjh747-gl/wine
  • tzluo/wine
  • rfz/wine
  • illia.a.polishchuk/wine
  • new_kleth/wine
  • serkan-maker/wine
  • w-flo/wine
  • mikayahlevi/wine
  • nulleve/wine
  • pgruebele/wine
  • athiele/wine
  • paparaha4/wine
  • novenary/wine
  • Plavil/wine
  • longjunyu/wine
  • chrisli/wine
  • samkottler/wine
  • danielzgtg/wine
  • twcassel/wine
  • guo/wine
  • didier31/wine
  • Zhaoyi/wine
  • twhitehead/wine
  • svyatpro/wine
  • infyquest/wine-iq-devel
  • sebres/wine
  • endrift/wine
  • zhengbl/wine
  • joelikeyan/wine
  • IsaacMarovitz/wine
  • LouiseTheGoldenGoddess/wine
  • SergeGautherie/wine
  • Klittiklatsch/wine
  • ldhacker/wine
  • dk1006498/wine
  • ishitatsuyuki/wine
  • h3c/wine
  • wincenty.bandyta41/wine
  • ayhankus482/wine
  • q4a/wine
  • mjgarton/wine
  • agusev/wine
  • vovams/wine
  • shardulsb08/wine
  • lylythechosenone/wine
  • artemist/wine
  • dropbear/wine
  • Cherser-s/wine
  • smayr/wine
  • loveptong/wine
  • chendeqiang/wine
  • gaber139/wine
  • shytzedaka/wine
  • ghkmufc/wine
  • TornadoCookie/wine
  • klownwolfman/wine
  • bylaws/wine
  • vitorhnn/wine
  • mide1337/wine
  • mewinkler/wine
  • firelzrd/wine
  • Samsuper/wine
  • kkartaltepe/wine
  • petravion/wine
  • Maaka00524/jacob-wine
  • petrathekat/wine
  • dj/wine
  • liam-middlebrook/wine
  • padolkarlucky/wine
  • maarten/wine
  • yhd986/wine
  • linkmecry/wine
  • tehrantoday/wine
  • xuxin12345/wine
  • dmjc/wine
  • sedwards/wine
  • hanslehnert/wine
  • 3ts75/wine
  • EkaterinePapava/wine
  • lav/wine
  • lygstate/wine
  • mxkrsv/wine
  • xutaxkamay/wine
  • cbialorucki/wine
  • yshui/wine
  • baikaishiuc/wine
  • HuwCampbell/wine
  • llde/wine
  • rockdrilla/wine
  • aidanhs/wine
  • SwimmingTiger/wine
  • fvalasiad/wine
  • zsoltiv/wine
  • mailnew4ster/wine
  • ake.rehnman/wine
  • IDocin/wine
  • dmitry/wine
  • Cthuflu/wine
  • corngood/wine
  • whindsaks/wine
  • telans/wine
  • DmitrySokolov/wine
  • Pospelove/wine
  • ellingtonsantos/wine
  • roro/wine
  • wurenny/wine
  • KokoseiJ/wine
  • amurzeau/wine
  • spazzymoto/wine
  • searchingin/wine
  • marler8997/wine
  • Alcaro/wine
  • aunali1/wine
  • snaccslocc420/wine
  • ajkhoury/wine
  • qsniyg/wine
  • Matheus-TestUser1/wine
  • adamrehn/wine
  • brobston/wine
  • aalyaev/wine
  • thongthai/wine
  • j.bayer1988/wine
  • skitt/wine
  • benben/wine
  • ahmouse15/wine
  • achurch/wine
  • mfaqiri2/wine
  • yseo/wine
  • kingjinni/wine
  • userid0x0/wine
  • titan/wine
  • Komoszek/wine
  • GamzeeRakoon/wine
  • joanluc/wine
  • Alan/wine
  • meshine/wine
  • EBADF/wine
  • vibhavp/wine
  • quininer/wine
  • pawelulita/wine
  • muek2211/wine
  • chenhaoyang/wine
  • nishiyama/wine
  • silviuxgaming/wine
  • nell/wine
  • 29jm/wine
  • arilou/wine
  • Mini-Gaunt/wine
  • DodoGTA/wine
  • davispuh/wine
  • mzent/wine
  • arakmar/wine
  • number201724/wine
  • yhd986/wine-up
  • rpisl/wine
  • zp1/wine-zp-cs-464
  • h0tc0d3/wine
  • Snowiiii/wine
  • gabrielb/wine
  • PureBulb/wine
  • OO/wine
  • Clara/wine
  • Saancreed/wine
  • enolp/wine
  • arthunix/wine
  • halfline/wine
  • carlo-bramini/wine
  • jfmu/wine
  • russelltg/wine
  • ntay/wine
  • YellowOnion/wine
  • niversesu/wine
  • gilvbp/wine
  • tingling0072/wine
  • DandD1517/wine
  • rastos/add-GetAnycastIpAddressTable
  • gnif/wine
  • gibsonpil/wine
  • antenabr2/wine
  • kvashis/wine
  • CKolle/wine
  • kubni/wine
  • ten0s/wine
  • Yvonne8873/wine
  • kurikaesu/wine
  • minggr/wine
  • JohnSebastienNadeau/wine
  • karshnicholas/wine
  • SamB/wine
  • apgrc/wine
  • Samiklom/wine
  • llyyr/wine
  • nberner/wine
  • katharinechui/wine
  • kirill.zhumarin/wine
  • vaxerski/wine
  • infiniteloop/wine
  • K0bin/wine
  • arethusa/wine
  • mrdeathjr28/wine
  • dank_meme/wine
  • dh/wine
  • tuomasjjrasanen/wine
  • mmcdonnell/wine
  • mxnny00/wine-manjaro-arch-compatibility
  • Joan/wine
  • g.mo.alcauter/wine
  • zhenbo_li/wine
  • tsmx/wine
  • xaqumin/wine
  • peterjc123/wine
  • ruslangaripov/wine
  • blyss/wine
  • xanathar/wine
  • michael.bond/wine
  • Quix0r/wine
  • sinisa.susnjar/wine
  • Rapid/wine
  • theli.ua/wine
  • shaun.din/wine
  • zhaohongxin/wine
  • dylan.eskew/wine
  • humbertoperezs991/wine
  • vaevi/wine
  • Riesi/wine
  • francisdb/wine
  • 1480c1/wine
  • trcrsired/wine
  • npatt/wine
  • muhammmadalli/wine9.0
  • Czahrien/wine
  • nilsen.jonas/wine
  • underdogest/wine
  • djordjem/wine
  • frubin/wine
  • LucasChollet/wine
  • lipengfei-loongson/wine
  • JacobCzekalla/wine-fork-jacob
  • omar_elantil/wine
  • lumarel/wine
  • principeagustin/wine
  • gotzl/wine
  • OneTester250376/wine
  • austin987/wine
  • unknown62627/wine
  • navi/wine
  • somedevfox/wine
  • notaz/wine
  • fcasas/wine
  • Asteroz/wine
  • MariusSchiffer/wine
  • kevinrmartinez/wine-devel
  • St1gven/wine
  • maarten256/wine
  • rcstarr87/wine
  • tinozzo123/wine
  • GermanAizek/wine
  • spencerwallace/wine
  • schloegl/wine
  • giuppococco/wine
  • shayan7878/wine
  • N080DY12/wine
  • ralf.habacker/wine
  • oh-ok/wine
  • johnporter/wine
  • Low-power/wine
  • thelande/wine
  • riyu12383/wine
  • kubapet/wine
  • Ivan_83/wine
  • SmithGoll/wine
  • gmesmer/wine
  • akarisu.de/wine
  • jwffrey9046/wine
  • anders/wine
  • markbhasawut/wine
  • dy-tea/wine
  • Benjamin_Loison/wine
  • frmdstryr/wine
  • zzam/wine
  • haydenhestad/wine
  • Deppy04/wine
  • osbre/wine
  • CharlottePabst/wine
  • SunlitTango/wine
  • ritalat/wine
  • AlexeyLushnikov/wine
  • mickdermack/wine
  • s1UMBa/wine
  • huangqinjin/wine
  • caseyr297/wine
  • d1saster/wine
  • ayufdh222/wine
  • janstrakowski/wine
  • petur/wine
  • matheus.venturini/wine-fix-ohm-sign
  • rayrapetyan/wine
  • xiaotong/wine
  • ovarley1/wine
  • dos1/wine
  • BZZZZ/wine
  • joesoroka/wine
  • toadking/wine
  • JoshuaBrest/wine
  • elias/wine
  • michele.dionisio/wine
  • garlett/wine-send-arp
  • eugenemcardle/wine
  • hugwijst/wine
  • whrvt/wine
  • loisgomez/wine
  • ramleejo/wine
  • self/wine
  • fr33z00/wine
  • JoeS209/wine
  • JacKeTUs/wine
  • nak.ak2015/wine
  • morgwai/wine
  • funfunctor/wine
  • donnyjoe/wine
  • sitter/wine
  • atticf/wine
  • xipster/wine
  • sebastian/wine
  • AlexanderWillner/wine
  • yaoyongjie/wine
  • wayne/wine
  • AMark/wine
  • zamaudio/wine
  • TomaszPakula/wine
  • Freakness109/wine
  • amorozov/wine
  • HP/wine
  • danlm/wine
  • rariema/wine
  • Biswa96/wine
  • rlippmann/wine
  • yangkun/wine
  • greyghoster/wine
  • toxieainc/wine
520 results
Show changes
Commits on Source (172929)
Make.rules
Makefile
config.cache
config.log
config.status
libwine.so.1.0
wine
wine.sym
root = true
# Defaults
[*]
indent_style = space
indent_size = 4
tab_width = 8
charset = utf-8
insert_final_newline = true
max_line_length = 100
[Makefile*]
indent_style = tab
indent_size = 8
[attr]generated gitlab-generated linguist-generated=true
# generated by autotools
configure generated
include/config.h.in generated
# generated by dlls/dsound/make_fir
dlls/dsound/fir.h generated
# generated by dlls/opencl/make_opencl
dlls/opencl/opencl.spec generated
dlls/opencl/opencl_types.h generated
dlls/opencl/pe_thunks.c generated
dlls/opencl/unix_thunks.c generated
dlls/opencl/unixlib.h generated
# generated by dlls/opengl32/make_opengl
dlls/opengl32/opengl32.spec generated
dlls/opengl32/thunks.c generated
dlls/opengl32/unix_thunks.c generated
dlls/opengl32/unixlib.h generated
include/wine/wgl.h generated
# generated by dlls/winevulkan/make_vulkan
dlls/vulkan-1/vulkan-1.spec generated
dlls/winevulkan/loader_thunks.c generated
dlls/winevulkan/loader_thunks.h generated
dlls/winevulkan/vulkan_thunks.c generated
dlls/winevulkan/vulkan_thunks.h generated
dlls/winevulkan/winevulkan.json generated
dlls/winevulkan/winevulkan.spec generated
include/wine/vulkan.h generated
# generated by tools/make_requests
include/wine/server_protocol.h generated
server/request_handlers.h generated
server/request_trace.h generated
# generated by tools/make_specfiles
dlls/ntdll/ntsyscalls.h generated
dlls/win32u/win32syscalls.h generated
# generated by tools/make_unicode
dlls/dwrite/bracket.c generated
dlls/dwrite/direction.c generated
dlls/dwrite/linebreak.c generated
dlls/dwrite/mirror.c generated
dlls/dwrite/scripts.c generated
dlls/dwrite/scripts.h generated
dlls/dwrite/shapers/arabic_table.c generated
dlls/gdi32/uniscribe/bracket.c generated
dlls/gdi32/uniscribe/direction.c generated
dlls/gdi32/uniscribe/indicsyllable.c generated
dlls/gdi32/uniscribe/linebreak.c generated
dlls/gdi32/uniscribe/mirror.c generated
dlls/gdi32/uniscribe/shaping.c generated
dlls/kernelbase/kernelbase.rgs generated
dlls/tzres/tzres.rc generated
dlls/win32u/vertical.c generated
dlls/wineps.drv/direction.c generated
dlls/wineps.drv/vertical.c generated
nls/*.nls generated
# main Gitlab CI script
stages:
- image
- build
- test
- deploy
include:
- local: "/tools/gitlab/image.yml"
- local: "/tools/gitlab/build.yml"
- local: "/tools/gitlab/test.yml"
- local: "/tools/gitlab/release.yml"
Adam Sacarny <magicbox@bestweb.net>
Albert den Haan <albertd@corel.ca>
Alexander Nicolaysen Sørnes <alex@thehandofagony.com>
Alexander Nicolaysen Sørnes <alexsornes@gmail.com>
Alexandru Balut <alexandru.balut@gmail.com>
Américo José Melo <mmodem00@gmail.com>
András Kovács <andras@csevego.net>
Andreas Rosenberg <andreas.rosenberg@apis.de>
Andrew Johnston <johnstonam@logica.com>
Antonio Codazzi <f_sophia@libero.it>
Bang Jun-Young <junyoung@mogua.com>
Bernhard Rosenkränzer <bero@lindev.ch>
Bernhard Übelacker <bernhardu@mailbox.org>
Byeong-Sik Jeon <bsjeon@hanmail.net>
Carlos Lozano <clozano@andago.com>
Caron Wills <caron@codeweavers.com>
Charles Davis <cdavis@codeweavers.com>
Charles Davis <cdavis5x@gmail.com>
Christopher Gautier <krys@via.ecp.fr>
David A. Cuthbert <dacut@ece.cmu.edu>
David Heidelberg <david@ixit.cz>
Dennis Björklund <db@zigo.dhs.org>
Dennis Björklund <dennisb@cs.chalmers.se>
Dimitrie O. Paun <dimi@bigfoot.com>
Dimitrie O. Paun <dimi@lattica.com>
EA Durbin <eadurbin@freebsd.org>
Eduardo García <eduardo.garcia@gmx.com>
Elizabeth Figura <z.figura12@gmail.com>
Elizabeth Figura <zfigura@codeweavers.com>
Erich Hoover <erich.e.hoover@gmail.com>
Erich Hoover <erich.e.hoover@wine-staging.com>
Erwin Wolff <erwinwolffnl@microformatica.com>
Esme Povirk <vincent@codeweavers.com>
Evgeny Putin <evcalipt@etersoft.ru>
Fan WenJie <fanwj@mail.ustc.edu.cn>
Fatih Aşıcı <fasici@linux-sevenler.org>
Fernando Martins <fernando@cmartins.nl>
François Gouget <fgouget@codeweavers.com>
François Gouget <fgouget@free.fr>
François Gouget <fgouget@multimania.com>
François Gouget <fgouget@psn.net>
Gerhard W. Gruber <sparhawk@gmx.at>
Gerold Jens Wucherpfennig <gjwucherpfennig@gmx.net>
Ge van Geldorp <ggeldorp@vmware.com>
Gregory M. Turner <gmturner007@ameritech.net>
Gustavo Noronha Silva <kov@debian.org>
Guy Albertelli <galberte@neo.lrun.com>
Guy Albertelli <guy@codeweavers.com>
György 'Nog' Jeney <nog@sdf.lonestar.org>
Henri Verbeet <hverbeet@gmail.com>
Hermès Bélusca-Maïto <hermes.belusca@sfr.fr>
Hervé Chanal <chanal_herve@yahoo.fr>
Hirofumi Katayama <katayama.hirofumi.mz@gmail.com>
Hiroshi Tanabe <hirokun_dayomon@infoseek.to>
Huw D. M. Davies <daviesh@abacus.physics.ox.ac.uk>
Huw D. M. Davies <daviesh@huw-davies-computer.local>
Huw D. M. Davies <h.davies1@physics.ox.ac.uk>
Huw D. M. Davies <h.davies@codeweavers.com>
Huw D. M. Davies <hdavies@codeweavers.com>
Huw D. M. Davies <hdavies@codeweavwers.com>
Huw D. M. Davies <huw@codewavers.com>
Huw D. M. Davies <huw@codeweavers>
Huw D. M. Davies <huw@codeweavers.com>
Hwang YunSong (황윤성) <hys545@dreamwiz.com>
Ivan de Saedeleer <Ivands@sympatico.ca>
Ivan Leo Puoti <ivanleo@gmail.com>
Ivan Leo Puoti <puoti@inwind.it>
Ivan Sinitsin <ivan@etersoft.ru>
J A Gow <J.A.Gow@furrybubble.co.uk>
Jan Djarv <Jan.Djarv@mbox200.swipnet.se>
Jason Edmeades <jason@edmeades.me.uk>
Jean Labrousse <jlabrous@altern.org>
Jeff Latimer <jeffl@defcen.gov.au>
Jérôme Gardou <jerome.gardou@gmail.com>
John Klehm <cjohn@klehm.net>
John R. Sheets <jsheets@codeweavers.com>
Jörg Höhle <Joerg-Cyril.Hoehle@t-systems.com>
Jörg Mayer <jmayer@loplof.de>
Jörg Mayer <jmayer@telesun2.telemation.de>
Jose Marcos López Caravaca <jose.lopez@upcnet.upc.es>
Joshua Thielen <thielen@netprince.net>
Józef Kucia <joseph.kucia@gmail.com>
Julio César Gázquez <jgazquez@dld.net>
Kevin Puetz <PuetzKevinA@JohnDeere.com>
Kirill K. Smirnov <Kirill.K.Smirnov@star.math.spbu.ru>
Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Kolbjørn Fredheim <hightower@tregt.net>
Lawson Whitney <lawson_whitney@juno.com>
Lionel Debroux <Lionel_Debroux@pc-debroux>
Louis Lenders <xerox_xerox2000@yahoo.co.uk>
Lucas Fialho Zawacki <lfzawacki@gmail.com>
Luis Carlos Busquets Pérez <luis.busquets@ilidium.com>
Luis Carlos Busquets Pérez <luiscar2001@yahoo.es>
Mariusz Pluciński <vshader@gmail.com>
Mark G. Adams <mark@transgaming.com>
Markus Gömmel <m.goemmel@compulab.de>
Martin Storsjö <martin@martin.st>
Matej Špindler <matej.spindler@gmail.com>
Matej Špindler <spindler.matej@gmail.com>
Matthew Finnicum <mattfinn@gmail.com>
Maxime Bellengé <maxime.bellenge@gmail.com>
Max TenEyck Woodbury <max@mtew.isa-geek.net>
Michael McCormack <mike@codeweavers.com>
Michael McCormack <mike_mccormack@looksmart.com.au>
Michael McCormack <mike_mccormack@start.com.au>
Michael McCormack <mikem@codeweavers.com>
Michael Müller <michael@fds-team.de>
Michael Veksler <mveksler@techunix.technion.ac.il>
Michael Wetherell <mike.wetherell@ntlworld.com>
Mikołaj Zalewski <mikolajz@google.com>
Mounir Idrassi <mounir.idrassi@idrix.fr>
Nathan Gallaher <ngallaher@deepthought.org>
Nathan Zorich <wfilardo@fuse.net>
Niclas Karlsson <nkarlsso@ra.abo.fi>
Nicolas Brouard <nicolas.brouard@libertysurf.fr>
Norman Stevens <norman@arcady.u-net.com>
Oldřich Jedlička <oldium.pro@seznam.cz>
Ove Kåven <ovehk@ping.uio.no>
Ove Kåven <ovek@arcticnet.no>
Ove Kåven <ovek@transgaming.com>
Panagiotis Christeas <p_christ@hol.gr>
Peter Ganten <peter@ganten.org>
Piotr Pawłow <pp@siedziba.pl>
Qingdoa Daoo <qingdao33122@yahoo.com>
Ragnvald Maartmann-Moe IV <despair@adelphia.net>
Reece H. Dunn <msclrhd@gmail.com>
Reece H. Dunn <msclrhd@googlemail.com>
Robert 'Admiral' Coeyman <admiral@corner.net>
Robert Riggs <rriggs@tesser.com>
Robert Shearman <rob@codeweavers.com>
Robert Shearman <robertshearman@gmail.com>
Roman Pišl <rpisl@seznam.cz>
Sato Kazuyuki <kazus@sunfish.suginami.tokyo.jp>
Sergei Ivanov <sergei@corel.ca>
Sergei Ivanov <sergei@corel.com>
Sergey Turchanov <plumber@print.vlad.ru>
Sergey Turchanov <turchanov@otvprim.ru>
Sergey Turchanov <turchanov@usa.net>
Stefan Dösinger <stefan@codeweavers.com>
Stephan Beuze <fbiggun@hotmail.com>
Stéphane Bacri <stephanebacri@gmail.com>
Stéphane Loeuillet <leroutier@gmail.com>
Stephen Langasek <vorlon@dodds.net>
Sunil Mohan Adapa <sunilmohan@fsf.org.in>
Sylvain St-Germain <sylvain@macadamian.com>
Sylvain St-Germain <sylvain@macadamian.com.epfl.ch>
Thomas Spear <speeddymon@gmail.com>
Thomas Weidenmüller <info@w3seek.de>
Thomas Weidenmüller <thomas@reactsoft.com>
Thomas Weidenmüller <w3seek@reactos.com>
Thomas Weidenmüller <w3seek@reactos.org>
Thomas Weidenmüller <wine-patches@reactsoft.com>
Tomasz Jezierski <developers@tefnet.pl>
Victor Martinez Calvo <vmartinez@reactos.org>
Vikram Kumar <vik@zone81.com>
Vladimir Bespalov <vlad.botanic@gmail.com>
Wei Xie <xiewei@linuxdeepin.com>
William Poetra Yoga Hadisoesen <williampoetra@yahoo.com>
Won Kyu Park <wkpark@kldp.org>
Yuri Kozlov <yuriy.kozlov@gmail.com>
Zachary Brown <zac@zacbrown.org>
Zoltan Nagy <nagyzoli@drotposta.hu>
unidentified <9700584@cs.stadia.fi>
unidentified <develop@stueben.com>
unidentified <f.gockel@t-online.de>
unidentified <ghutchis@cisco.com>
unidentified <hamish_nospam@yahoo.com>
unidentified <jimregan@litsu.ie>
unidentified <jodaman@cegt201.bradley.edu>
unidentified <larstiq@larstiq.dyndns.org>
unidentified <ma@technoprint.ch>
unidentified <mirq@ziemniak.ustronie.pw.edu.pl>
unidentified <o112w8r02@sneakemail.com>
unidentified <orin@pinhead.cc>
unidentified <pofis@portugalmail.pt>
unidentified <smil@mechatronika.hu>
unidentified <therapy@endorphin.org>
unidentified <TTarrant@Etnoteam.It>
unidentified <wine@frotz.org>
unidentified <wine@gc2.kloepfer.org>
unidentified <wine.larry.engholm@xoxy.net>
unidentified <zombi82@hot.ee>
This is release 990923 of Wine, a free implementation of Windows on
Unix. This is still a developers only release. There are many bugs
and unimplemented features. Most applications still do not work
correctly.
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
forget to include a ChangeLog entry.
WHAT'S NEW with Wine-990923: (see ChangeLog for details)
- DIB optimizations.
- Multimedia and OLE DLLs reorganization.
- Many fixes in font mapping.
- Clipboard support improvements.
- Lots of bug fixes.
See the README file in the distribution for installation instructions.
Because of lags created by using mirror, this message may reach you before
the release is available at the ftp sites. The sources will be available
from the following locations:
ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/Wine-990923.tar.gz
ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/Wine-990923.tar.gz
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/Wine-990923.tar.gz
ftp://ftp.progsoc.uts.edu.au/pub/Wine/development/Wine-990923.tar.gz
It should also be available from any site that mirrors tsx-11 or sunsite.
You can also get the current source directly from the CVS tree. Check
http://www.winehq.com/dev.html for details.
If you submitted a patch, please check to make sure it has been
included in the new release.
If you want to get the new releases faster, you can subscribe to the
wine-patches mailing list by sending a mail containing 'subscribe
wine-patches your_address' to majordomo@tiger.informatik.hu-berlin.de.
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
--
Alexandre Julliard
julliard@lrc.epfl.ch
The Wine development release 10.4 is now available.
What's new in this release:
- Improvements to PDB support in DbgHelp.
- More Vulkan video decoder support in WineD3D.
- Accessibility support in the SysLink control.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.4 (total 28):
- #33770 Strong Bad's Episode 1 - Homestar Ruiner Demo crashes without d3dx9_27 (purist)
- #33943 Battle.net client dropdowns do not appear until you hover its options
- #42117 Multiple applications have windows with double caption/title bars (Chessmaster 9000, Steam when Windows >= Vista)
- #44795 Need for Speed: Shift demo main menu has messed up rendering (needs ID3DXEffect::SetRawValue implementation)
- #46012 Command & Conquer 3: Kane's Wrath (1.03) Invisible units and tiberium
- #46662 absolute value of unsigned type 'unsigned int' has no effect
- #47165 iTunes 12.9.4+ user interface is rendered black (only text visible)
- #47278 Multiple games and applications require TGA support in D3DXSaveSurfaceToFileInMemory (Europa Universalis 4 Golden Century, ShaderMap 4.x)
- #53103 ie8 doesn't start (race condition)
- #54066 SysLink control shouldn't delete the HFONT it didn't create
- #56106 Roon 2.0.23 crashes due to unable to find library: Windows.Storage.Streams.RandomAccessStreamReference
- #56108 Edit control should stop processing characters when left mouse button is down
- #56225 16-bit Myst deadlocks on start since Wine 3.2
- #57540 unrecognized charset 'SHIFT_JIS' when running Wine with LC_ALL=ja_JP.SJIS
- #57559 Chessbase 17 database table background and non-selected entries rendered in black
- #57717 Adobe Illustrator CS6 (16), Adobe Photoshop CS6 (13), likely all CS6 apps: Main menu bar item shortcut/accelerator key underlines positioning is wrong with built-in gdiplus
- #57746 BeckyInternetMail/VirtualListView: The ListView of the email list isn't redrawn while receiving email.
- #57800 Fullscreen OpenGL apps have unintended literal transparency
- #57826 Zenless Zone Zero fails to start after update to 10.1
- #57848 Wrong alignment of GUI elements in Enterprise Architect
- #57853 Error: makecab.exe not found
- #57874 wineloader no longer able to find ntdll.so
- #57889 Prntvpt (Print Ticket API): printing is cropped in landscape orientation
- #57896 winemenubuilder crash
- #57952 Q-Dir crashes on exit.
- #57962 Firefox 136.0.1 fails to start
- #57963 Firefox crashes on youtube: wine: Call to unimplemented function ucrtbase.dll.imaxdiv, aborting
- #57964 Firefox crashes: wine: Call to unimplemented function KERNEL32.dll.GetCurrentApplicationUserModelId, aborting
### Changes since 10.3:
```
Alex Henrie (3):
winecfg: Use wide character string literal for "Tahoma".
wuauserv: Use wide character string literal for "wuauserv".
fusion: Use wide character string literals.
Alexander Morozov (2):
ntoskrnl.exe/tests: Improve device properties test, avoid BSOD.
ntoskrnl.exe: Implement MmMapLockedPages.
Alexandre Julliard (33):
include: Add a number of missing TCHAR macros.
include: Use pragma pack push/pop.
ntdll: Update the main exe entry point when the module is relocated.
ntdll: Disallow AT_ROUND_TO_PAGE on 64-bit.
user32: Add some more stubs for ordinal functions that forward to win32u.
server: Consistently use size_t for page sizes.
server: Compute the size of the PE header that can be mapped.
ntdll: Only copy the PE section data to a separate block when necessary.
krnl386: Handle DOS ioctl with simulated real mode interrupt.
krnl386: Remove the CTX_SEG_OFF_TO_LIN macro.
ntdll: Pass an explicit mask to the ROUND_SIZE macro.
ntdll: Pass the base address to decommit_pages().
tools: Add is_pe_target() common helper function.
winegcc: Make the target options global variables.
winegcc: Move setting the compatibility defines to a separate helper function.
winegcc: Move the initial argument array out of the options structure.
winegcc: Move the remaining directory options out of the options structure.
winegcc: Remove option fields that already have a corresponding output file variable.
winegcc: Pass the files list explicitly to the various compilation functions.
winegcc: Pass the output name explicitly to the various compilation functions.
winegcc: Store the file processor type in a global variable.
winegcc: Store the various search path directories in global variables.
winegcc: Store the library search suffix in a global variable.
winegcc: Store the winebuild path in a global variable.
winegcc: Store the compiler arguments in global variables.
winegcc: Pass tool names directly to build_tool_name instead of using an enum.
winegcc: Store various string options as global variables.
winegcc: Store all the boolean options in global variables.
winegcc: Get rid of the options struct.
ntdll: Round all sizes to the section alignment for PE mappings.
ntdll: Always map files as writable and adjust permissions.
server: Fix limit check for adding a committed range.
ntdll: Force committed access on anonymous mappings.
Alexandros Frantzis (4):
winewayland: Implement wl_data_device initialization.
winewayland: Support wl_data_device for copies from win32 clipboard to native apps.
winewayland: Support wl_data_device for copies from native apps to win32 clipboard.
winewayland: Warn about missing clipboard functionality.
Anders Kjersem (2):
comctl32/listview: Never use null buffer with LVN_ENDLABELEDIT on a text change.
shcore: Implement OS_TABLETPC and OS_MEDIACENTER.
Attila Fidan (1):
win32u: Return 0 from NtUserGetKeyNameText if there is no translation.
Bartosz Kosiorek (6):
gdiplus: Fix widening of LineCapArrowAnchor.
gdiplus/tests: Improve test drawing accuracy of GdiAddPath*Curve functions.
gdiplus: Improve drawing accuracy of GdiAddPath*Curve functions.
gdiplus/tests: Add additional test for GdipAddPathArc.
gdiplus/tests: Add GdipFlattenPath tests with default flatness 0.25.
gdiplus: Fix GdipFlattenPath return path precision.
Bernhard Übelacker (4):
kernel32/tests: Flush pending APCs and close handles (ASan).
ieframe: Enter reallocation path one position earlier (ASan).
advapi32: Avoid buffer underrun in split_domain_account (ASan).
msxml6/tests: Make test pass with Windows 7.
Biswapriyo Nath (1):
include: Add mpeg2data.idl.
Brendan McGrath (3):
mfplat: Add mp3 resolver hint.
mf/tests: Test timestamps in H264 decoder.
mf/tests: Test timestamps in WMV decoder.
Brendan Shanks (5):
ntdll: Stop using chdir() in file_id_to_unix_file_name().
ntdll: Move the dir_queue into file_id_to_unix_file_name().
ntdll: Add a lock around the get_dir_case_sensitivity_attr() fs_cache.
ntdll: Use *at() functions in get_dir_case_sensitivity().
ntdll: Stop using chdir() in nt_to_unix_file_name().
Connor McAdams (8):
d3dx9/tests: Add tests for ID3DXEffect::SetRawValue().
d3dx9: Partially implement ID3DXEffect::SetRawValue().
d3dx9: Add support for setting 4x4 matrices in ID3DXEffect::SetRawValue().
d3dx9: Fixup return values for D3DXPT_BOOL parameters in ID3DXEffect::GetValue().
d3dx9: Add stubs for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9/tests: Add tests for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Implement D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Use D3DXSaveVolumeToFileInMemory() inside of D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (4):
prntvpt: PageImageableSize capabilities depend on page orientation.
wldap32: Also initialize idW.Flags field.
kerberos: Fix imported target name leak.
winex11.drv: Don't add MWM_DECOR_BORDER to windows without a caption.
Dylan Donnell (2):
ntdll: Return STATUS_ACCESS_VIOLATION from NtQueryInformationThread ThreadHideFromDebugger if *ret_len is not writable.
ntdll/tests: Add tests for ret_len on NtQueryInformationThread HideFromDebugger.
Elizabeth Figura (13):
wined3d: Avoid indexing a 2-element array by shader type.
wined3d: Invalidate bumpenv_constants in wined3d_stateblock_primary_dirtify_all_states().
wined3d: Bind video session memory.
d3d11: Implement GetDecoderBuffer() for metadata buffers.
d3d11: Implement GetDecoderBuffer() for bitstream buffers.
d3d11: Create a wined3d video decoder output view.
d3d11: Implement DecoderBeginFrame() and DecoderEndFrame().
advapi32: Move SystemFunction032 to cryptsp.
advapi32: Move lmhash functions to cryptsp.
advapi32: Merge crypt_lmhash.c into crypt_des.c.
advapi32: Move the remaining SystemFunction* functions to cryptsp.
advapi32: Move DES functions to cryptbase.
advapi32: Move the remaining SystemFunction* functions to cryptbase.
Ellington Santos (1):
wpcap: Implement pcap_set_immediate_mode.
Eric Pouech (28):
cmd: Fix regression in PAUSE test.
winedump: Use correct computation for first section out of a .DBG file.
winedump: Use correct field when dumping CodeView symbols.
winedump: Don't miss PDB_SYMBOL_RANGE* in PDB files.
winedump: Don't miss hash entries in PDB files.
winedump: Support more than 64K files in PDB DBI module source substream.
include: Remove flexible array member from PDB JG header.
winedump: Support dumping large PDB files (>4G).
dbghelp: Fix potential crash for old debug formats.
dbghelp: Support large PDB files (> 4G).
dbghelp: Store pointer to context instead of context.
dbghelp: Optimize vector allocation.
dbghelp: Simplify get_line_from_addr().
dbghelp: Support module lookup in SymEnumSourceFiles.
dbghelp: Factorize some code between type enumeration APIs.
dbghelp: Only store types with names in module.
dbghelp: Factorize function signature creation {dwarf}.
dbghelp: Introduce helper to match an ANSI string against a Unicode regex.
winedbg: Support more integral types in VARIANT for enum value.
dbghelp: Pass a VARIANT to add an enumeration entry.
dbghelp: Use VARIANT for storing enum values (pdb).
dbghelp: Store LEB128 encoded as 64bit entities (dwarf).
dbghelp: Introduce helper to fill in VARIANT (dwarf).
dbghelp: Fix debug information for C++ enumeration types (dwarf).
dbghelp: Add a couple of missing basic types for PDB.
dbghelp: Silence a couple of CodeView symbols.
dbghelp: Uniformize the two readers for PDB line information.
dbghelp: Only load line information when SYMOPT_LOAD_LINE is set.
Esme Povirk (10):
gdiplus: Reset X position before drawing hotkey underlines.
comctl32: Include only link items as IAccessible children.
comctl32: Implement get_accState for SysLink controls.
comctl32: Implement acc_getName for SysLink.
comctl32: Implement get_accDefaultAction for SysLink.
comctl32: Implement accLocation for SysLink.
comctl32: Implement get_accChildCount for SysLink.
comctl32: Implement accChild for SysLink.
comctl32: Implement IOleWindow for SysLink.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for datetime control.
Hans Leidekker (7):
odbc32: Pass through result length pointers when PE/Unix pointer sizes are equal.
wpcap: Check for failure from pcap_dump_open().
wpcap: Fix Unix call in pcap_dump_close().
wpcap: Remove unneeded trace.
wpcap: Pass the dumper handle to pcap_dump().
wpcap: Correct params structure in wow64_dump_open().
wpcap: Fall back to a buffer copy if 32-bit mmap support is not available.
Jacek Caban (3):
rpcrt4: Don't validate buffer in NDR marshaler.
kernelbase: Factor out get_process_image_file_name.
kernelbase: Use ProcessImageFileNameWin32 in GetModuleFileNameExW.
Joe Souza (1):
cmd: Allow any key to continue past DIR /P pauses.
Kun Yang (1):
msvcrt: Add MSVCRT__NOBUF flag check in _filbuf to avoid dead loop in application which sets the flag.
Louis Lenders (2):
magnification: Add stub for MagUninitialize.
kernelbase: Add stub for GetCurrentApplicationUserModelId.
Marc-Aurel Zent (7):
include: Fix RTL_PATH_TYPE names.
ntdll: Implement RtlGetFullPathName_UEx.
include: Add thread priority constants.
ntdll/tests: Add tests for process and thread priority.
server: Infer process priority class in set_thread_priority.
server: Clarify between effective thread priority and class/level.
server: Rename thread priority to base_priority.
Matteo Bruni (8):
d3dx9: Load the D3DAssemble() function pointer from the proper DLL.
d3dx9/tests: Fix expected asm test results on version >= 42.
d3dcompiler/tests: Clean up temporary file after the test.
d3dx9_42: Generate an import library.
d3dx9/tests: Add d3dx9_42 tests.
d3dcompiler: Fix a few version-dependent error returns in D3DReflect().
d3dcompiler/tests: Add d3dcompiler_42 tests.
d3dx9/tests: Skip some shader tests if we can't create a D3D object.
Mohamad Al-Jaf (17):
include: Add robuffer.idl.
wintypes: Add IBufferFactory stub.
include: Add Windows.System.Profile.SystemIdentification definition.
windows.system.profile.systemid: Add stub dll.
windows.system.profile.systemid: Add ISystemIdentificationStatics stub.
windows.system.profile.systemid/tests: Add ISystemIdentificationStatics::GetSystemIdForPublisher() tests.
windows.system.profile.systemid: Partially implement ISystemIdentificationStatics::GetSystemIdForPublisher().
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Source() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Source().
wintypes/tests: Add IBufferFactory::Create() tests.
wintypes: Implement IBufferFactory::Create().
wintypes: Implement IBuffer::get_Capacity().
wintypes: Implement IBuffer::put_Length().
wintypes: Implement IBuffer::get_Length().
wintypes: Add IBufferByteAccess stub.
wintypes/tests: Add IBufferByteAccess::Buffer() tests.
wintypes: Implement IBufferByteAccess::Buffer().
Nikolay Sivov (12):
d3dx9/effect: Remove explicit objects pointer from the parsing helpers.
d3dx9/effect: Remove misleading trace message.
comctl32/tests: Run LVM_GETORIGIN tests on v6.
comctl32/tests: Add a test for LVM_GETORIGIN returned coordinate.
comctl32/listview: Invert origin coordinate for LVM_GETORIGIN.
comctl32/listview: Handle WM_VSCROLL(SB_TOP).
d3dx9/tests: Enable tests for d3dx9_35.dll.
comctl32/tests: Add a LVN_ENDLABELEDIT test with empty text.
comctl32/tests: Add a test for LVM_FINDITEM with LVS_OWNERDATA.
comctl32/listview: Use correct LVN_ODFINDITEM notification.
user32/edit: Block key input when mouse input is captured.
comctl32/edit: Block key input when mouse input is captured.
Paul Gofman (9):
ntdll/tests: Test NtCreateUserProcess() with limited access rights.
ntdll: Do not fail NtCreateUserProcess() if requested access doesn't have PROCESS_CREATE_THREAD.
win32u: Prevent remote drawing to ULW layered window.
setupapi: Fix buffer size passed to SetupDiGetDeviceInstanceIdW() in get_device_id_list().
setupapi: Increase id buffer size in get_device_id_list().
ntdll: Properly set context control registers from the other thread on wow64.
ntdll/tests: Test first trap address when setting trap flag in various ways.
ntdll: Fix setting trap flag with CONTEXT_CONTROL and instrumentation callback on x64.
ntdll: Set CONTEXT_CONTROL frame restore flag in sigsys_handler().
Piotr Caban (3):
advapi32: Fix environment parameter handling in CreateProcessWithLogonW.
include: Add imaxdiv declaration.
msvcr120: Add imaxdiv implementation.
Robert Lippmann (1):
winedump: Fix grep warning.
Roman Pišl (2):
kernel32/tests: Test ReplaceFileW with forward slashes.
kernelbase: Handle correctly paths with forward slashes in ReplaceFileW.
Rémi Bernon (15):
win32u: Don't set foreground window if window is minimized.
opengl32: Generate pointer offsets in the extension registry.
opengl32: Generate ALL_(WGL|GL|GL_EXT)_FUNCS macros and prototypes.
opengl32: Get rid of opengl_funcs internal structures.
opengl32: Use ALL_GL(_EXT)_FUNCS to generate opengl_funcs table.
opengl32: Stop generating wine/wgl_driver.h.
hidclass: Rename BASE_DEVICE_EXTENSION to struct device.
hidclass: Use HID_DEVICE_EXTENSION as base for fdo and pdo.
hidclass: Use a dedicated struct phys_device for PDOs.
hidclass: Use a dedicated struct func_device for FDOs.
hidclass: Avoid leaking input packet from the device thread.
winexinput: Remove pending IRPs on IRP_MN_REMOVE_DEVICE.
hidclass: Dispatch IRP_MN_SURPRISE_REMOVAL to the minidrivers.
hidclass: Wait for the pending IRP after thread shutdown.
winex11: Use -1 as fullscreen monitor indices to clear the property.
Sebastian Lackner (1):
win32u: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Tim Clem (2):
imm32: Add a stub for CtfImmHideToolbarWnd.
win32u: Add a stub for NtUserIsChildWindowDpiMessageEnabled.
Vadim Kazakov (1):
ntdll: Print name for TOKEN_INFORMATION_CLASS.
Vibhav Pant (15):
winebth.sys: Remove the first 2 zero bytes after byte-swapping Bluetooth addresses.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_DISCOVERY.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_STOP_DISCOVERY.
bluetoothapis: Implement BluetoothFindFirstDevice and BluetoothFindDeviceClose.
bluetoothapis/tests: Add tests for BluetoothFindFirstDevice, BluetoothFindDeviceClose.
bluetoothapis: Implement BluetoothFindNextDevice.
bluetoothapis/tests: Add tests for BluetoothFindNextDevice.
bluetoothapis/tests: Use the correct file name while skipping tests when no radios are found.
bluetoothapis: Add a basic implementation for BluetoothGetDeviceInfo.
bluetoothapis/tests: Add tests for BluetoothGetDeviceInfo.
cfgmgr32: Add stub for CM_Unregister_Notification.
cfgmgr32/tests: Add basic tests for CM_(Un)Register_Notification.
dinput/tests: Add tests for CM_Register_Notification.
cfgmgr32: Implement CM_Register_Notification and CM_Unregister_Notification.
user32: Remove incorrect FIXME warning while registering for DBT_DEVTYP_HANDLE notifications.
Ziqing Hui (4):
winegstreamer: Assume stream type is always not NULL for media sink.
winegstreamer: Implement stream_sink_type_handler_GetMajorType.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeCount.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeByIndex.
```
This diff is collapsed.
For information on how to post a useful bug report, please
read documentation/bugreports.
This is intended to be a place where you should look first if
you want to contribute to Wine development. Add your e-mail
address to the corresponding entry if you are working on/have
done something for one of the problems. You are encouraged to
add new entries and, more importantly, remove those for the
bugs you fixed ;-)
------------------------------------------------------------
As of Jun 1998 -
General:
* TrueType, .FON rasterizer.
* Incomplete thread/process scheduling support in Win32 code.
* Threading for some operating systems still missing. (NetBSD? SCO? OS/2?)
* Very alpha printing code using win16 drivers.
* Very alpha internal PostScript driver. [h.davies1@physics.ox.ac.uk]
* Extremely alpha Win95 interface code (some apps, like Opera, choke on it).
* No OLE2 and OLE32 support (including OLE2 interfaces etc.).
(started work on pidl-handling, IShellFolders IEnumIdLists
and SH* functions juergen.schmied@metronet.de)
(Corel is working on it)
* No MS Video support. [just started, marcus@jet.franken.de]
* COMDLG32 support not complete yet [bertho@akhphd.au.dk]
* COMMCTRL/COMCTL32 support in progress [ekohl@abo.rhein-zeitung.de].
* No manual pages describing the various Windows calls.
- You can find information about most of the Win32 API calls
on the www.microsoft.com (go to 'search').
* A lot of the extensions to the GDI that were introduced with Win32 are
not supported at all or only in a very rudimentary way. (World transforms,
arc direction, GM_ADVANCED to name but a few)
Miscellaneous:
* Windows95 telnet.exe and NT 3.51 telnet.exe, and Borland Delphi
is known to go into recursion with infinite resizing, possibly
due to scroll bars.
* mIRC 'commands' menu stays on top and will not refresh.
* mIRC is unable to show 'Options' dialog.
* Tab switching in mIRC 'Setup' dialog stops erasing background
after a random number of repetitions.
* GDI memory leaks apparent in Free Agent 16-bit.
* nBytesWidth in CURSORICONINFO is bogus for some bpp
(doesn't reflect the fact that bits are packed and 16-bit aligned).
* Progman and AOL complain about being unable to convert bitmaps
(probably because of bytes width stuff).
* Netscape displays partially downloaded inline graphics with
wrong offsets.
* Text alignment problems in Word and Write (variable pitch fonts).
* Font mapper weights are rather crude.
* "Cursor XXXX has more than 1 bpp!"
* SGI window manager treats Wine windows as topmost.
* KDE window manager puts popup windows like menus below the main window.
* Write shows blank space instead of Paintbrush OLE1 object ( GetDIBits()? ).
* AllocCSToDSAlias() shouldn't alloc alias for the same segment multiple
times.
* Some programs expect that menu window handles stay the same all the time.
(chemdraw). This implies that the menu popupwindows are just hidden, not
destroyed in real Windows.
Where to look in source files:
* grep for FIXME in the source files.
This diff is collapsed.
This diff is collapsed.
This document should help new developers get started. Like all of Wine, it
is a work in progress.
SOURCE TREE STRUCTURE
=====================
The Wine source tree is loosely based on the original Windows modules.
Most of the source is concerned with implementing the Wine API, although
there are also various tools, documentation, sample Winelib code, and
code specific to the binary loader.
Wine API directories:
---------------------
KERNEL:
files/ - file I/O
loader/ - Win16-, Win32-binary loader
memory/ - memory management
msdos/ - DOS features and BIOS calls (interrupts)
scheduler/ - process and thread management
GDI:
graphics/ - graphics drivers
x11drv/ - X11 display driver
win16drv/ -> see below
ttydrv/ - tty display driver
psdrv/ - PostScript graphics driver
metafiledrv/ - metafile drivr
enhmetafiledrv/ - enhanced metafile driver
objects/ - logical objects
USER:
controls/ - built-in widgets
resources/ - built-in menu and message box resources
windows/ - window management
Other DLLs:
dlls/ - Other system DLLs implemented by Wine
advapi32/ - crypto, systeminfo, security, eventlogging
avifil32/ - COM object to play AVI files
comctl32/ - common controls
commdlg/ - common dialog boxes (both 16 & 32 bit)
imagehlp/ - PE (Portable Executable) Image Helper lib
msacm/ - audio compression manager (multimedia)
msacm32/ - audio compression manager (multimedia)
ntdll/ - NT implementation of kernel calls
psapi/ - process status API
rasapi32/ - remote access server API
shell32/ - COM object implementing shell views
tapi32/ - telephone API
ver/ - File Installation Library (16 bit)
version/ - File Installation Library (32 bit)
winaspi/ -
winspool/ - Printing & Print Spooler
wnaspi32/ -
Miscellaneous:
misc/ - shell, registry, winsock, etc.
multimedia/ - multimedia driver
ipc/ - SysV IPC based interprocess communication
win32/ - misc Win32 functions
ole/ - OLE code
nls/ - National Language Support
configuration files
Tools:
------
rc/ - old resource compiler
tools/ - relay code builder, new rc, bugreport
generator, wineconfigurator, etc.
documentation/ - some documentation
Binary loader specific directories:
-----------------------------------
debugger/ - built-in debugger
if1632/ - relay code
miscemu/ - hardware instruction emulation
graphics/win16drv/ - Win16 printer driver
server/ - the main, controlling thread of wine
tsx11/ - thread-safe X11 wrappers (auto generated)
Winelib specific directories:
-----------------------------
library/ - Required code for programs using Winelib
libtest/ - Small samples and tests
programs/ - Extended samples / system utilities
IMPLEMENTING NEW API CALLS
==========================
This is the simple version, and covers only Win32. Win16 is slightly uglier,
because of the Pascal heritage and the segmented memory model.
All of the Win32 APIs known to Wine are listed in [relay32/*.spec]. An
unimplemented call will look like (from gdi32.spec)
269 stub PolyBezierTo
To implement this call, you need to do the following four things.
1. Find the appropriate parameters for the call, and add a prototype to
the correct header file. In this case, that means [include/wingdi.h],
and it might look like
BOOL WINAPI PolyBezierTo(HDC, LPCVOID, DWORD);
If the function has both an ASCII and a Unicode version, you need to
define both and add a #define WINELIB_NAME_AW declaration. See below
for discussion of function naming conventions.
2. Modify the .spec file to tell Wine that the function has an
implementation, what the parameters look like and what Wine function
to use for the implementation. In Win32, things are simple--everything
is 32-bits. However, the relay code handles pointers and pointers to
strings slightly differently, so you should use 'str' and 'wstr' for
strings, 'ptr' for other pointer types, and 'long' for everything else.
269 stdcall PolyBezierTo(long ptr long) PolyBezierTo
The 'PolyBezierTo' at the end of the line is which Wine function to use
for the implementation.
3. Implement the function as a stub. Once you add the function to the .spec
file, you must add the function to the Wine source before it will link.
Add a function called 'PolyBezierTo' somewhere. Good things to put
into a stub:
o a correct prototype, including the WINAPI
o header comments, including full documentation for the function and
arguments (see documentation/README.documentation)
o A FIXME message and an appropriate return value are good things to
put in a stub.
/************************************************************
* PolyBezierTo (GDI32.269)
*
* Draw many Bezier curves
*
* RETURNS
* nonzero on success or zero on faillure
*
* BUGS
* Unimplemented
*/
BOOL WINAPI PolyBezierTo(HDC hdc, /* handle to device context */
LPCVOID p, /* ptr to array of Point structs */
DWORD count /* nr of points in array */
)
{
/* tell the user they've got a substandard implementation */
FIXME(gdi, ":(%x,%p,%d): stub\n", hdc, p, count);
/* some programs may be able to compensate,
* if they know what happened
*/
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE; /* error value */
}
4. Implement and test the rest of the function.
MEMORY AND SEGMENTS
===================
NE (Win16) executables consist of multiple segments. The Wine loader
loads each segment into a unique location in the Wine processes memory
and assigns a selector to that segment. Because of this, it's not
possible to exchange addresses freely between 16-bit and 32-bit code.
Addresses used by 16-bit code are segmented addresses (16:16), formed
by a 16-bit selector and a 16-bit offset. Those used by the Wine code
are regular 32-bit linear addresses.
There are four ways to obtain a segmented pointer:
- Use the SEGPTR_* macros in include/heap.h (recommended).
- Allocate a block of memory from the global heap and use
WIN16_GlobalLock to get its segmented address.
- Allocate a block of memory from a local heap, and build the
segmented address from the local heap selector (see the
USER_HEAP_* macros for an example of this).
- Declare the argument as 'segptr' instead of 'ptr' in the spec file
for a given API function.
Once you have a segmented pointer, it must be converted to a linear
pointer before you can use it from 32-bit code. This can be done with
the PTR_SEG_TO_LIN() and PTR_SEG_OFF_TO_LIN() macros. The linear
pointer can then be used freely with standard Unix functions like
memcpy() etc. without worrying about 64k boundaries. Note: there's no
easy way to convert back from a linear to a segmented address.
In most cases, you don't need to worry about segmented address, as the
conversion is made automatically by the callback code and the API
functions only see linear addresses. However, in some cases it is
necessary to manipulate segmented addresses; the most frequent cases
are:
- API functions that return a pointer
- lParam of Windows messages that point to a structure
- Pointers contained inside structures accessed by 16-bit code.
It is usually a good practice to used the type 'SEGPTR' for segmented
pointers, instead of something like 'LPSTR' or 'char *'. As SEGPTR is
defined as a DWORD, you'll get a compilation warning if you mistakenly
use it as a regular 32-bit pointer.
STRUCTURE PACKING
=================
Under Windows, data structures are tightly packed, i.e. there is no
padding between structure members. On the other hand, by default gcc
aligns structure members (e.g. WORDs are on a WORD boundary, etc.).
This means that a structure like
struct { BYTE x; WORD y; };
will take 3 bytes under Windows, but 4 with gcc, because gcc will add a
dummy byte between x and y. To have the correct layout for structures
used by Windows code, you need to embed the struct within two special
#include's which will take care of the packing for you:
#include "pshpack1.h"
struct {BYTE x; WORD y; };
#include "poppack1.h"
For alignment on a 2-byte boundary, there is a "pshpack2.h", etc.
The use of the WINE_PACKED attribute is obsolete. Please remove these
in favour of the above solution.
Using WINE_PACKED, you would declare the above structure like this:
struct { BYTE x; WORD y WINE_PACKED; };
You had to do this every time a structure member is not aligned
correctly under Windows (i.e. a WORD not on an even address, or a
DWORD on a address that was not a multiple of 4).
NAMING CONVENTIONS FOR API FUNCTIONS AND TYPES
==============================================
In order to support both Win16 and Win32 APIs within the same source
code, the following convention must be used in naming all API
functions and types. If the Windows API uses the name 'xxx', the Wine
code must use:
- 'xxx16' for the Win16 version,
- 'xxx' for the Win32 version when no ASCII/Unicode strings are
involved,
- 'xxxA' for the Win32 version with ASCII strings,
- 'xxxW' for the Win32 version with Unicode strings.
If the function has both ASCII and Unicode version, you should then
use the macros WINELIB_NAME_AW(xxx) or DECL_WINELIB_TYPE_AW(xxx)
(defined in include/windef.h) to define the correct 'xxx' function
or type for Winelib. When compiling Wine itself, 'xxx' is _not_
defined, meaning that code inside of Wine must always specify
explicitly the ASCII or Unicode version.
If 'xxx' is the same in Win16 and Win32, you can simply use the same
name as Windows, i.e. just 'xxx'. If 'xxx' is Win16 only, you could
use the name as is, but it's preferable to use 'xxx16' to make it
clear it is a Win16 function.
Examples:
typedef struct { /* Win32 ASCII data structure */ } WNDCLASSA;
typedef struct { /* Win32 Unicode data structure */ } WNDCLASSW;
typedef struct { /* Win16 data structure */ } WNDCLASS16;
DECL_WINELIB_TYPE_AW(WNDCLASS);
ATOM RegisterClass16( WNDCLASS16 * );
ATOM RegisterClassA( WNDCLASSA * );
ATOM RegisterClassW( WNDCLASSW * );
#define RegisterClass WINELIB_NAME_AW(RegisterClass)
The Winelib user can then say:
WNDCLASS wc = { ... };
RegisterClass( &wc );
and this will use the correct declaration depending on the definition
of the UNICODE symbol.
NAMING CONVENTIONS FOR NON-API FUNCTIONS AND TYPES
==================================================
Functions and data which are internal to your code (or at least shouldn't be
visible to any WineLib or Windows program) should be preceded by
an identifier to the module:
Examples:
ENUMPRINTERS_GetDWORDFromRegistryA() (in dlls/winspool/info.c)
IAVIFile_fnRelease() (in dlls/avifil32/avifile.c)
X11DRV_CreateDC() (in graphics/x11drv/init.c)
TIMER_Init() (implemented in windows/timer.c,
used in loader/main.c )
if you need prototypes for these, there are a few possibilities:
- within same source file only:
put the prototypes at the top of your file and mark them as prototypes.
- within the same module:
create a header file within the subdirectory where that module resides,
e.g. graphics/ddraw_private.h
- from a totally different module, or for use in winelib:
put your header file entry in /include/wine/
but be careful not to clutter this directory!
under no circumstances, you should add non-api calls to the standard
windoze include files. Unfortunately, this is often the case, e.g.
the above example of TIMER_Init is defined in include/message.h
API ENTRY POINTS
================
Because Win16 programs use a 16-bit stack and because they can only
call 16:16 addressed functions, all API entry points must be at low
address offsets and must have the arguments translated and moved to
Wines 32-bit stack. This task is handled by the code in the "if1632"
directory. To define a new API entry point handler you must place a
new entry in the appropriate API specification file. These files are
named *.spec. For example, the API specification file for the USER
DLL is contained in the file user.spec. These entries are processed
by the "build" program to create an assembly file containing the entry
point code for each API call. The format of the *.spec files is
documented in the file "tools/build-spec.txt".
DEBUG MESSAGES
==============
To display a message only during debugging, you normally write something
like this:
TRACE(win,"abc..."); or
FIXME(win,"abc..."); or
WARN(win,"abc..."); or
ERR(win,"abc...");
depending on the seriousness of the problem. (documentation/degug-msgs
explains when it is appropriate to use each of them)
These macros are defined in include/debug.h. The macro-definitions are
generated by the shell-script tools/make_debug. It scans the source
code for symbols of this forms and puts the necessary macro
definitions in include/debug.h and include/debugdefs.h. These macros
test whether the debugging "channel" associated with the first
argument of these macros (win in the above example) is enabled and
thus decide whether to actually display the text. In addition you can
change the types of displayed messages by supplying the "-debugmsg"
option to Wine. If your debugging code is more complex than just
printf, you can use the symbols TRACE_ON(xxx), WARN_ON(xxx),
ERR_ON(xxx) and FIXME_ON(xxx) as well. These are true when channel xxx
is enabled, either permanent or in the command line. Thus, you can
write:
if(TRACE_ON(win))DumpSomeStructure(&str);
Don't worry about the inefficiency of the test. If it is permanently
disabled (that is TRACE_ON(win) is 0 at compile time), the compiler will
eliminate the dead code.
You have to start tools/make_debug only if you introduced a new macro,
e.g. TRACE(win32).
For more info about debugging messages, read:
documentation/debug-msgs
MORE INFO
=========
1. There is a FREE online version of the MSDN library (including
documentation for the Win32 API) on http://www.microsoft.com/msdn/
2. http://www.sonic.net/~undoc/bookstore.html
3. In 1993 Dr. Dobbs Journal published a column called "Undocumented Corner".
4. You might want to check out BYTE from December 1983 as well :-)
@c This file is processed by GNU's TeXinfo
@c If you modify it or move it to another location, make sure that
@c TeXinfo works (type `make' in directory documentation).
Copyright (c) 1993-2025 the Wine project authors (see the file AUTHORS
for a complete list)
@c This is the Wine copyright.
@c The Wine warranty is part of the license agreement.
@c READ THE FILE `WARRANTY' CAREFULLY FOR A STATEMENT ON THE WINE WARRANTY.
Wine is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
You may without charge, royalty or other payment, copy and
distribute copies of this work and derivative works of this work
in source or binary form provided that: (1)
you appropriately publish on each copy an appropriate copyright
notice; (2) faithfully reproduce all prior copyright notices
included in the original work (you may also add your own
copyright notice); and (3) agree to indemnify and hold all prior
authors, copyright holders and licensors of the work harmless
from and against all damages arising from use of the work.
You may distribute sources of derivative works of the work
provided that (1) (a) all source files of the original work that
have been modified, (b) all source files of the derivative work
that contain any party of the original work, and (c) all source
files of the derivative work that are necessary to compile, link
and run the derivative work without unresolved external calls and
with the same functionality of the original work (``Necessary
Sources'') carry a prominent notice explaining the nature and date
of the modification and/or creation. You are encouraged to make
the Necessary Sources available under this license in order to
further the development and acceptance of the work.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
A copy of the GNU Lesser General Public License is included in the
Wine distribution in the file COPYING.LIB. If you did not receive this
copy, write to the Free Software Foundation, Inc., 51 Franklin St,
Fifth Floor, Boston, MA 02110-1301, USA.
Note: Wine is now distributed under the terms of the GNU Lesser
General Public License, as specified in the file LICENSE.
Older releases of Wine, up to release 20020228, were distributed under
the following license:
Copyright (c) 1993-2002 the Wine project authors (see the file AUTHORS
for a complete list)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
List of Wine subsection maintainers
When submitting patches to Wine, the guidelines at
<https://gitlab.winehq.org/wine/wine/-/wikis/Submitting-Patches>
should be followed. This file contains a list of maintainers for
subsections of Wine. If you have questions about your work in an area
of Wine, you may find a list of knowledgeable people here.
Many areas of Wine don't have a specific maintainer, although there may
be people with knowledge of those areas. If an area is not listed here
at all, you can use the git log to find developers working in that area
recently. Or, you can send a mail to wine-devel, but be aware that there
may simply be no one knowledgeable about that subject on the list.
This file uses a similar format to the Linux kernel MAINTAINERS file.
Descriptions of section entries used here:
M: Primary maintainer. FullName <address@domain>
P: Other knowledgeable person. FullName <address@domain>
F: Files and directories with wildcard patterns.
One pattern per line. Multiple F: lines acceptable.
A trailing / implies /*.
W: Link to additional information.
Maintainers List
-----------------------------------
ARM, ARM64
M: Alexandre Julliard <julliard@winehq.org>
P: André Zwing <nerv@dawncrow.de>
F: dlls/dbghelp/cpu_arm*
F: dlls/msvcrt/except_arm.c
F: dlls/ntdll/signal_arm*
F: programs/winedbg/be_arm*
Audio I/O
P: Huw Davies <huw@codeweavers.com>
F: dlls/dsound/
F: dlls/mmdevapi/
F: dlls/winealsa.drv/
F: dlls/winecoreaudio.drv/
F: dlls/wineoss.drv/
F: dlls/winepulse.drv/
F: dlls/winmm/
F: dlls/x3daudio*/
F: dlls/xapofx*/
F: dlls/xaudio*/
Bluetooth support
M: Vibhav Pant <vibhavp@gmail.com>
F: dlls/winebth.sys/
F: dlls/bluetoothapis/
Common Controls Library
P: Nikolay Sivov <nsivov@codeweavers.com>
P: Zhiyi Zhang <zzhang@codeweavers.com>
F: dlls/comctl32/
Common Item Dialog
P: Esme Povirk <esme@codeweavers.com>
F: dlls/comdlg32/itemdlg.c
F: dlls/comdlg32/tests/itemdlg.c
Direct2D
M: Nikolay Sivov <nsivov@codeweavers.com>
P: Henri Verbeet <hverbeet@codeweavers.com>
F: dlls/d2d*/
Direct3D
M: Elizabeth Figura <zfigura@codeweavers.com>
M: Jan Sikorski <jsikorski@codeweavers.com>
P: Henri Verbeet <hverbeet@codeweavers.com>
P: Stefan Dösinger <stefan@codeweavers.com>
P: Matteo Bruni <mbruni@codeweavers.com>
F: dlls/d3d10core/
F: dlls/d3d11/
F: dlls/d3d12/
F: dlls/d3d12core/
F: dlls/d3d8/
F: dlls/d3d9/
F: dlls/d3drm/
F: dlls/ddraw*/
F: dlls/dxgi/
F: dlls/wined3d/
Direct3D helper libraries
M: Matteo Bruni <mbruni@codeweavers.com>
P: Henri Verbeet <hverbeet@codeweavers.com>
P: Stefan Dösinger <stefan@codeweavers.com>
F: dlls/d3d10/
F: dlls/d3d10_1/
F: dlls/d3dcompiler*/
F: dlls/d3dx10*/
F: dlls/d3dx11*/
F: dlls/d3dx9*/
F: dlls/d3dxof/
DirectMusic
M: Michael Stefaniuc <mstefani@winehq.org>
F: dlls/dm*/
F: dlls/dswave/
DirectPlay
M: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
F: dlls/dplayx/
F: dlls/dpnet/
F: dlls/dpwsockx/
DirectShow
M: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/amstream/
F: dlls/devenum/
F: dlls/mciqtz32/
F: dlls/qasf/
F: dlls/qcap/
F: dlls/qdvd/
F: dlls/qedit/
F: dlls/quartz/
F: libs/strmbase/
DirectWrite
M: Nikolay Sivov <nsivov@codeweavers.com>
F: dlls/dwrite/
DotNet Runtime
M: Esme Povirk <esme@codeweavers.com>
F: dlls/mscoree/
GDI
M: Huw Davies <huw@codeweavers.com>
F: dlls/gdi32/
F: dlls/win32u/bitblt.c
F: dlls/win32u/bitmap.c
F: dlls/win32u/brush.c
F: dlls/win32u/clipping.c
F: dlls/win32u/dc.c
F: dlls/win32u/dib.c
F: dlls/win32u/dibdrv/
F: dlls/win32u/driver.c
F: dlls/win32u/emfdrv.c
F: dlls/win32u/font.c
F: dlls/win32u/freetype.c
F: dlls/win32u/gdiobj.c
F: dlls/win32u/mapping.c
F: dlls/win32u/opentype.c
F: dlls/win32u/painting.c
F: dlls/win32u/palette.c
F: dlls/win32u/path.c
F: dlls/win32u/pen.c
F: dlls/win32u/printdrv.c
F: dlls/win32u/region.c
GDIPlus
M: Esme Povirk <esme@codeweavers.com>
F: dlls/gdiplus/
GPhoto Driver
M: Marcus Meissner <marcus@jet.franken.de>
F: dlls/gphoto2.ds/
GStreamer multimedia backend
P: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/winegstreamer/
HID support
M: Rémi Bernon <rbernon@codeweavers.com>
P: Aric Stewart <aric@codeweavers.com>
F: dlls/hid/
F: dlls/hidclass.sys/
F: dlls/hidparse.sys/
F: dlls/mouhid.sys/
F: dlls/winehid.sys/
HTTP server
M: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/httpapi/
F: dlls/http.sys/
Input events
M: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/user32/input.c
F: dlls/win32u/input.c
F: dlls/win32u/rawinput.c
F: server/queue.c
Input methods
M: Rémi Bernon <rbernon@codeweavers.com>
P: Aric Stewart <aric@codeweavers.com>
F: dlls/imm32/
F: dlls/win32u/imm.c
F: dlls/winemac.drv/ime.c
F: dlls/winex11.drv/ime.c
JavaScript
M: Jacek Caban <jacek@codeweavers.com>
F: dlls/jscript/
Joystick input
M: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/dinput*/
F: dlls/joy.cpl/
F: dlls/windows.gaming.input/
F: dlls/winebus.sys/
F: dlls/winexinput.sys/
F: dlls/winmm/joystick.c
F: dlls/xinput*/
Microsoft C Runtime
M: Piotr Caban <piotr@codeweavers.com>
F: dlls/concrt140/
F: dlls/msvc*/
F: dlls/ucrtbase/
F: dlls/vcruntime140/
F: dlls/vcruntime140_1/
MSI installers
M: Hans Leidekker <hans@codeweavers.com>
P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/msi/
Netstat
M: André Zwing <nerv@dawncrow.de>
F: programs/netstat/
Network
P: Bruno Jesus <00cpxxx@gmail.com>
P: Erich E. Hoover <erich.e.hoover@wine-staging.com>
F: dlls/ws2_32/
Network Store Interface
M: Huw Davies <huw@codeweavers.com>
F: dlls/iphlpapi/
F: dlls/nsi/
F: dlls/nsiproxy.sys/
F: include/wine/nsi.h
OLE Embedding
M: Huw Davies <huw@codeweavers.com>
F: dlls/ole32/clipboard.c
F: dlls/ole32/datacache.c
F: dlls/ole32/defaulthandler.c
F: dlls/ole32/ole2.c
F: dlls/ole32/ole2impl.c
F: dlls/ole32/oleobj.c
OLE RPC
M: Huw Davies <huw@codeweavers.com>
F: dlls/combase/
F: dlls/ole32/compobj.c
F: dlls/ole32/marshal.c
F: dlls/ole32/usrmarshal.c
F: programs/dllhost/
OLE Storage
M: Esme Povirk <esme@codeweavers.com>
F: dlls/ole32/filelockbytes.c
F: dlls/ole32/memlockbytes.c
F: dlls/ole32/stg_stream.c
F: dlls/ole32/storage32.c
F: dlls/ole32/storage32.h
F: dlls/ole32/tests/storage32.c
OLE Typelibs
P: Huw Davies <huw@codeweavers.com>
F: dlls/oleaut32/typelib.c
Plug and Play
P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/newdev/
F: dlls/ntoskrnl.exe/pnp.c
F: dlls/setupapi/devinst.c
Postscript Driver
M: Huw Davies <huw@codeweavers.com>
F: dlls/wineps.drv/
Printing
M: Huw Davies <huw@codeweavers.com>
P: Detlef Riekenberg <wine.dev@web.de>
F: dlls/localspl/
F: dlls/spoolss/
F: dlls/winspool.drv/
Richedit
M: Huw Davies <huw@codeweavers.com>
F: dlls/riched20/
RPC Runtime
P: Huw Davies <huw@codeweavers.com>
P: Elizabeth Figura <zfigura@codeweavers.com>
F: dlls/rpcrt4/
Scripting runtime components
P: Nikolay Sivov <nsivov@codeweavers.com>
F: dlls/scrrun/
Theming
M: Zhiyi Zhang <zzhang@codeweavers.com>
F: dlls/light.msstyles/
F: dlls/uxtheme/
TWAIN
P: Esme Povirk <esme@codeweavers.com>
F: dlls/twain_32/
F: dlls/sane.ds/
F: dlls/gphoto2.ds/
Uniscribe
M: Aric Stewart <aric@codeweavers.com>
F: dlls/gdi32/uniscribe/
URL Moniker
M: Jacek Caban <jacek@codeweavers.com>
F: dlls/urlmon/
VBScript
M: Jacek Caban <jacek@codeweavers.com>
F: dlls/vbscript/
Web Services
M: Hans Leidekker <hans@codeweavers.com>
F: dlls/webservices/
WebBrowser control
M: Jacek Caban <jacek@codeweavers.com>
F: dlls/ieframe/
F: dlls/mshtml/
WIDL
P: Huw Davies <huw@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
P: Elizabeth Figura <zfigura@codeweavers.com>
F: tools/widl/
Windows Imaging Component
M: Esme Povirk <esme@codeweavers.com>
F: dlls/windowscodecs/
F: dlls/windowscodecsext/
F: dlls/wmphoto/
Windows Management Instrumentation
M: Hans Leidekker <hans@codeweavers.com>
F: dlls/wbemdisp/
F: dlls/wbemprox/
F: dlls/wmiutils/
Windows Media Format
M: Elizabeth Figura <zfigura@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/wmp/
F: dlls/wmvcore/
Windows Media Foundation
M: Nikolay Sivov <nsivov@codeweavers.com>
P: Rémi Bernon <rbernon@codeweavers.com>
F: dlls/evr/
F: dlls/mf/
F: dlls/mferror/
F: dlls/mfmediaengine/
F: dlls/mfplat/
F: dlls/mfplay/
F: dlls/mfreadwrite/
F: dlls/mfuuid/
F: dlls/rtworkq/
Wine debugger (GDB backend)
P: Rémi Bernon <rbernon@codeweavers.com>
F: programs/winedbg/gdbproxy.c
Wine server, IPC
M: Alexandre Julliard <julliard@winehq.org>
P: Erich E. Hoover <erich.e.hoover@wine-staging.com>
F: server/
Winemaker
M: André Zwing <nerv@dawncrow.de>
F: tools/winemaker/
WinHTTP
M: Hans Leidekker <hans@codeweavers.com>
F: dlls/winhttp/
WinINet
P: Jacek Caban <jacek@codeweavers.com>
F: dlls/wininet/
X11 Driver
M: Alexandre Julliard <julliard@winehq.org>
P: Rémi Bernon <rbernon@codeweavers.com>
P: Zhiyi Zhang <zzhang@codeweavers.com>
F: dlls/winex11.drv/
XML parsing
M: Nikolay Sivov <nsivov@codeweavers.com>
F: dlls/msxml*/
F: dlls/xmllite/
THE REST
M: Alexandre Julliard <julliard@winehq.org>
P: Alex Henrie <alexhenrie24@gmail.com>
P: Huw Davies <huw@codeweavers.com>
P: Jacek Caban <jacek@codeweavers.com>
P: Esme Povirk <esme@codeweavers.com>
P: Erich E. Hoover <erich.e.hoover@wine-staging.com>
F: *
F: */
Stable Branch
M: Michael Stefaniuc <mstefani@winehq.org>
W: https://gitlab.winehq.org/wine/wine/-/wikis/Stable-Rules
Staging Branch
M: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
P: Elizabeth Figura <zfigura@codeweavers.com>
P: Paul Gofman <gofmanp@gmail.com>
P: Erich E. Hoover <erich.e.hoover@wine-staging.com>
W: https://wine-staging.com/
# Global rules shared by all makefiles -*-Makefile-*-
#
# Each individual makefile should define the following variables:
# TOPSRCDIR : top-level source directory
# TOPOBJDIR : top-level object directory
# SRCDIR : source directory for this module
# MODULE : name of the module being built
# C_SRCS : C sources for the module (optional)
# ASM_SRCS : assembly sources (optional)
# GEN_ASM_SRCS : generated assembly sources (optional)
# RC_SRCS : resource source files (optional)
# SPEC_SRCS : interface definition files (optional)
# GLUE : C sources for which glue code needs to be generated (optional)
# EXTRA_SRCS : extra source files for make depend (optional)
# EXTRA_OBJS : extra object files (optional)
# WRCEXTRA : extra wrc flags (e.g. '-p _SysRes') (optional)
# First some useful definitions
SHELL = /bin/sh
CC = @CC@
CPP = @CPP@
CFLAGS = @CFLAGS@
OPTIONS = @OPTIONS@ -D_REENTRANT
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
XLIB = @X_PRE_LIBS@ @XLIB@ @X_EXTRA_LIBS@
WINELIB = $(WINESTUB) -L$(TOPOBJDIR) -lwine
LIBS = @LIBS@
YACC = @YACC@
LEX = @LEX@
LEXLIB = @LEXLIB@
RANLIB = @RANLIB@
LN_S = @LN_S@
DIVINCL = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include
ALLCFLAGS = $(CFLAGS) $(DEFS) $(OPTIONS) $(DIVINCL) $(X_CFLAGS)
LDCOMBINE = ld -r
LDSHARED = @LDSHARED@
AR = ar rc
RM = rm -f
MV = mv
MKDIR = mkdir -p
C2MAN = @C2MAN@
LDCONFIG = @LDCONFIG@
MANSPECS = -w $(TOPSRCDIR)/relay32/gdi32.spec \
-w $(TOPSRCDIR)/relay32/user32.spec \
-w $(TOPSRCDIR)/relay32/comctl32.spec \
-w $(TOPSRCDIR)/relay32/comdlg32.spec \
-w $(TOPSRCDIR)/relay32/kernel32.spec
LINT = @LINT@
LINTFLAGS = @LINTFLAGS@
ALLLINTFLAGS = $(LINTFLAGS) $(DEFS) $(OPTIONS) $(DIVINCL)
WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi_check/winapi_check
BUILD = $(TOPOBJDIR)/tools/build@PROGEXT@
MAKEDEP = $(TOPOBJDIR)/tools/makedep@PROGEXT@
WINERC = $(TOPOBJDIR)/rc/winerc@PROGEXT@
WRC = $(TOPOBJDIR)/tools/wrc/wrc@PROGEXT@
WRCFLAGS = -c
WINESTUB = $(TOPOBJDIR)/library/winestub.o
SUBMAKE = $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)'
@SET_MAKE@
# Installation infos
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
prog_manext = 1
conf_manext = 5
includedir = @includedir@/wine
OBJS = $(C_SRCS:.c=.o) $(GEN_ASM_SRCS:.s=.o) $(ASM_SRCS:.S=.o) $(RC_SRCS:.rc=.o) \
$(SPEC_SRCS:.spec=.spec.o) $(GLUE:.c=.glue.o) $(EXTRA_OBJS)
LINTS = $(C_SRCS:.c=.ln)
# Implicit rules
.SUFFIXES:
.SUFFIXES: .rc .res .spec .spec.c .spec.o .glue.c $(SUFFIXES)
.c.o:
$(CC) -c $(ALLCFLAGS) -o $*.o $<
.spec.c.spec.o:
$(CC) -c $(ALLCFLAGS) @GCC_NO_BUILTIN@ -o $*.spec.o $<
.s.o:
$(AS) -o $*.o $<
.S.o:
$(CC) -c -o $*.o $<
.rc.s:
$(WRC) $(WRCFLAGS) $(WRCEXTRA) $(DIVINCL) $<
.rc.h:
$(WRC) $(WRCFLAGS) $(WRCEXTRA) $(DIVINCL) -nh $<
.rc.res:
$(WRC) $(WRCFLAGS) $(WRCEXTRA) $(DIVINCL) -r $<
.res.s:
$(WRC) $(WRCFLAGS) $(WRCEXTRA) -b $<
.res.h:
$(WRC) $(WRCFLAGS) $(WRCEXTRA) -bnh $<
.spec.spec.c:
$(BUILD) @BUILDFLAGS@ -o $@ -spec $<
.c.glue.c:
$(BUILD) @BUILDFLAGS@ -o $@ -glue $<
.c.ln:
$(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
# Rule to rebuild the resource compiler
$(WINERC) check_winerc:
cd $(TOPOBJDIR)/rc; $(SUBMAKE) winerc@PROGEXT@
$(WRC) check_wrc:
cd $(TOPOBJDIR)/tools/wrc; $(SUBMAKE) wrc@PROGEXT@
# Rule to rebuild the 'makedep' program
$(MAKEDEP) check_makedep:
cd $(TOPOBJDIR)/tools; $(SUBMAKE) makedep@PROGEXT@
# Rule to rebuild the 'build' program
$(BUILD) checkbuild:
cd $(TOPOBJDIR)/tools; $(SUBMAKE) build@PROGEXT@
# Rule for main module
$(MODULE).o: $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(LDCOMBINE) $(OBJS) -o $(MODULE).o
# Rules for makefile
Makefile: Makefile.in $(TOPSRCDIR)/configure
@echo Makefile is older than $?, please rerun $(TOPSRCDIR)/configure
@exit 1
all: Makefile
# Rules for auto documentation
man: $(C_SRCS)
for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/man3w -S3w $(DIVINCL) -D__WINE__ $(MANSPECS) $$i; done
html: $(C_SRCS)
for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/html -Th -iwindows.h $(DIVINCL) -D__WINE__ $(MANSPECS) $$i; done
# Rule for linting
$(MODULE).ln : $(LINTS)
if test "$(LINTS)" ; \
then \
$(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
$(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
else \
$(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
fi
lint:: $(MODULE).ln
# Rules for Windows API checking
winapi_check::
$(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
# Misc. rules
$(SPEC_SRCS:.spec=.spec.c): $(BUILD) $(TOPSRCDIR)/include/builtin16.h $(TOPSRCDIR)/include/builtin32.h
$(GLUE:.c=.glue.c): $(BUILD) $(TOPSRCDIR)/include/builtin16.h $(TOPSRCDIR)/include/builtin32.h
depend:: $(MAKEDEP) $(C_SRCS) $(RC_SRCS) $(EXTRA_SRCS)
$(MAKEDEP) $(DIVINCL) -C$(SRCDIR) $(C_SRCS) $(RC_SRCS) $(EXTRA_SRCS)
clean::
$(RM) *.o *.ln \#*\# *~ *% .#* *.bak *.orig *.rej *.flc y.tab.c y.tab.h lex.yy.c core $(GEN_ASM_SRCS) $(RC_SRCS:.rc=.s) $(RC_SRCS:.rc=.h) $(SPEC_SRCS:.spec=.spec.c) $(GLUE:.c=.glue.c) $(PROGRAMS)
dummy:
# End of global rules
# This Makefile understands the following targets:
#
# all (default): build wine
# lib: build libwine
# clean: remove all intermediate files
# distclean: also remove all files created by configure
# install: install everything
# uninstall: uninstall everything
# depend: create the dependencies
# etags: create a TAGS file for Emacs.
# manpages: compile manpages for Wine API
#
# Main target to build
MAIN_TARGET = @MAIN_TARGET@
# Directories
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = .
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = none
TOOLSUBDIRS = \
tools \
tools/wrc
LIBSUBDIRS = \
controls \
console \
dlls/advapi32 \
dlls/avifil32 \
dlls/comctl32 \
dlls/commdlg \
dlls/crtdll \
dlls/dciman32 \
dlls/dplayx \
dlls/imagehlp \
dlls/imm32 \
dlls/lzexpand \
dlls/mpr \
dlls/msacm \
dlls/msacm32 \
dlls/msnet32 \
dlls/msvideo \
dlls/ntdll \
dlls/ole32 \
dlls/oleaut32 \
dlls/olecli \
dlls/oledlg \
dlls/olesvr \
dlls/psapi \
dlls/rasapi32 \
dlls/shell32 \
dlls/sound \
dlls/stress \
dlls/tapi32 \
dlls/ver \
dlls/version \
dlls/win32s \
dlls/win87em \
dlls/winaspi \
dlls/windebug \
dlls/winmm \
dlls/winmm/wineoss \
dlls/wing \
dlls/winspool \
dlls/wnaspi32 \
files \
graphics \
graphics/enhmetafiledrv \
graphics/metafiledrv \
graphics/psdrv \
graphics/ttydrv \
graphics/win16drv \
if1632 \
library \
loader \
loader/ne \
loader/dos \
memory \
misc \
msdos \
multimedia \
objects \
ole \
relay32 \
resources \
scheduler \
server \
win32 \
windows \
windows/ttydrv
X11SUBDIRS = \
graphics/x11drv \
tsx11 \
windows/x11drv
EMUSUBDIRS = \
debugger \
miscemu
PROGSUBDIRS = libtest programs
DOCSUBDIRS = documentation
INCSUBDIRS = include
# Sub-directories to run make into
BUILDSUBDIRS = \
$(TOOLSUBDIRS) \
$(LIBSUBDIRS) \
$(X11SUBDIRS) \
$(EMUSUBDIRS) \
$(PROGSUBDIRS) \
$(DOCSUBDIRS)
# Sub-directories to run make depend into
DEPENDSUBDIRS = $(LIBSUBDIRS) $(X11SUBDIRS) $(EMUSUBDIRS) $(DOCSUBDIRS)
# Sub-directories to run make install into
INSTALLSUBDIRS = $(DOCSUBDIRS) $(INCSUBDIRS)
# Sub-directories to run make lint into
LINTSUBDIRS = $(LIBSUBDIRS) $(X11SUBDIRS) $(EMUSUBDIRS) $(DOCSUBDIRS)
LIBOBJS = \
controls/controls.o \
console/console.o \
dlls/advapi32/advapi32.o \
dlls/avifil32/avifil32.o \
dlls/comctl32/comctl32.o \
dlls/commdlg/commdlg.o \
dlls/crtdll/crtdll.o \
dlls/dciman32/dciman32.o \
dlls/dplayx/dplayx.o \
dlls/imagehlp/imagehlp.o \
dlls/imm32/imm32.o \
dlls/lzexpand/lzexpand.o \
dlls/mpr/mpr.o \
dlls/msacm/msacm.o \
dlls/msacm32/msacm32.o \
dlls/msnet32/msnet32.o \
dlls/msvideo/msvideo.o \
dlls/ntdll/ntdll.o \
dlls/ole32/ole32.o \
dlls/oleaut32/oleaut32.o \
dlls/olecli/olecli.o \
dlls/oledlg/oledlg.o \
dlls/olesvr/olesvr.o \
dlls/psapi/psapi.o \
dlls/rasapi32/rasapi32.o \
dlls/shell32/shell32.o \
dlls/sound/sound.o \
dlls/stress/stress.o \
dlls/tapi32/tapi32.o \
dlls/ver/ver.o \
dlls/version/version.o \
dlls/win32s/win32s.o \
dlls/win87em/win87em.o \
dlls/winaspi/winaspi.o \
dlls/windebug/windebug.o \
dlls/winmm/wineoss/wineoss.o \
dlls/wing/wing.o \
dlls/winspool/winspool.o \
dlls/wnaspi32/wnaspi32.o \
files/files.o \
graphics/graphics.o \
graphics/enhmetafiledrv/enhmetafiledrv.o \
graphics/metafiledrv/metafiledrv.o \
graphics/psdrv/psdrv.o \
graphics/ttydrv/ttydrv.o \
graphics/win16drv/win16drv.o \
if1632/if1632.o \
loader/loader.o \
loader/ne/ne.o \
loader/dos/dos.o \
memory/memory.o \
misc/misc.o \
msdos/msdos.o \
multimedia/multimedia.o \
objects/objects.o \
ole/ole.o \
relay32/relay32.o \
resources/resources.o \
scheduler/scheduler.o \
server/server.o \
win32/win32.o \
windows/windows.o \
windows/ttydrv/ttydrv.o
X11OBJS = \
graphics/x11drv/x11drv.o \
tsx11/tsx11.o \
windows/x11drv/x11drv.o
EMUOBJS = \
debugger/debugger.o \
miscemu/miscemu.o
LIB_TARGET = @LIB_TARGET@
ALT_LINK = @ALT_LINK@
all: Makefile Make.rules $(MAIN_TARGET)
@echo "Wine build complete."
LIBLINTS = $(LIBOBJS:.o=.ln)
X11LINTS = $(X11OBJS:.o=.ln)
EMULINTS = $(EMUOBJS:.o=.ln)
lint:: llib-lwine.ln $(EMULINTS)
$(LINT) $(ALLLINTFLAGS) -L. -lwine $(EMULINTS)
WINAPI_CHECK_EXTRA_FLAGS = --global
@MAKE_RULES@
Make.rules: Make.rules.in configure
@echo $? is newer than 'Make.rules', please rerun ./configure!
@exit 1
install:: install_$(MAIN_TARGET)
uninstall:: uninstall_$(MAIN_TARGET)
emu: wine
lib: $(LIBSUBDIRS) $(X11SUBDIRS) $(LIB_TARGET)
wine wine.sym: $(LIB_TARGET) $(EMUOBJS) $(X11OBJS) $(LIBOBJS)
$(CC) -o wine $(EMUOBJS) $(ALT_LINK) $(LDOPTIONS) $(X_LIBS) $(XLIB) $(LIBS)
nm -n wine | grep -v _compiled >wine.sym
libwine.a: $(LIBOBJS) $(X11OBJS)
$(RM) $@
$(AR) $@ $(LIBOBJS) $(X11OBJS)
$(RANLIB) $@
llib-lwine.ln : $(LIBLINTS) $(X11LINTS)
$(LINT) $(ALLLINTFLAGS) -owine $(LIBLINTS) $(X11LINTS)
libwine.so.1.0: $(LIBOBJS) $(X11OBJS)
$(LDSHARED) -o$@ $(LIBOBJS) $(X11OBJS) $(LDOPTIONS)
ln -sf $@ libwine.so
install_emu: install_lib
[ -d $(bindir) ] || $(MKDIR) $(bindir)
$(INSTALL_PROGRAM) wine $(bindir)/wine
$(INSTALL_PROGRAM) loader/dos/dosmod $(bindir)/dosmod
uninstall_emu: uninstall_lib
$(RM) $(bindir)/wine $(bindir)/dosmod
install_lib: dummy
[ -d $(libdir) ] || $(MKDIR) $(libdir)
if [ -f wine.sym ]; then $(INSTALL_DATA) wine.sym $(libdir)/wine.sym; fi
if [ $(LIB_TARGET) ]; then \
$(INSTALL_DATA) $(LIB_TARGET) $(libdir); \
if [ $(LIB_TARGET) = libwine.so.1.0 ]; then $(LDCONFIG); fi \
fi
[ -d $(bindir) ] || $(MKDIR) $(bindir)
$(INSTALL_PROGRAM) windows/x11drv/wineclipsrv $(bindir)/wineclipsrv
uninstall_lib: dummy
cd $(libdir); $(RM) $(LIB_TARGET) libwine.a libwine.so wine.sym
$(X11OBJS) $(EMUOBJS) $(LIBOBJS): $(TOOLSUBDIRS) dummy
@cd `dirname $@`; $(SUBMAKE)
$(BUILDSUBDIRS): dummy
@cd $@; $(SUBMAKE)
$(LIBLINTS) $(X11LINTS) $(EMULINTS): dummy
@echo $@ | sed 's%\(.*\)\/[^\/]*%cd \1 \&\& make lint%' | sh
install_programs: dummy
@cd programs; $(SUBMAKE) install
uninstall_programs: dummy
@cd programs; $(SUBMAKE) uninstall
install::
for i in $(INSTALLSUBDIRS); do (cd $$i && $(MAKE) install) || exit 1; done
uninstall::
for i in $(INSTALLSUBDIRS); do (cd $$i && $(MAKE) uninstall) || exit 1; done
depend:: dummy
for i in $(DEPENDSUBDIRS); do (cd $$i && $(MAKE) depend) || exit 1; done
TAGS etags:
etags `find $(TOPSRCDIR) -name '*.[chS]' -print | grep -v dbgmain`
manpages:
-$(MKDIR) $(TOPOBJDIR)/documentation/man3w
for i in $(LIBSUBDIRS); do (cd $$i && $(MAKE) man); done
htmlpages:
-$(MKDIR) $(TOPOBJDIR)/documentation/html
for i in $(LIBSUBDIRS); do (cd $$i && $(MAKE) html); done
clean::
for i in $(BUILDSUBDIRS); do (cd $$i; $(MAKE) clean) || exit 1; done
for i in include include/bitmaps include/wine; do (cd $$i; $(RM) *.o \#*\# .#* *~ *% *.bak *.orig *.rej *.flc); done
$(RM) wine wine.sym libwine.a libwine.so.1.0 libwine.so TAGS .#*
distclean: clean
$(RM) config.* Make.rules include/config.h documentation/wine.man documentation/wine.conf.man
$(RM) `find . \( -name Makefile -o -size 0 \) -print`
# We depend on configure above for checks, so we better don't use this rule.
#configure: configure.in
# autoconf
include/config.h.in: configure.in include/acconfig.h
autoheader -l include
### Dependencies:
This diff is collapsed.
This diff is collapsed.
Wine version 10.4