git: 5aa9792e666d - main - emulators/wine8: New port, cloning emulators/wine
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 03 Mar 2024 14:00:45 UTC
The branch main has been updated by gerald:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5aa9792e666ded773547cbe481c75a87de10fdee
commit 5aa9792e666ded773547cbe481c75a87de10fdee
Author: Gerald Pfeifer <gerald@FreeBSD.org>
AuthorDate: 2024-03-03 13:58:35 +0000
Commit: Gerald Pfeifer <gerald@FreeBSD.org>
CommitDate: 2024-03-03 14:00:33 +0000
emulators/wine8: New port, cloning emulators/wine
Wine 9 has been released some weeks ago and it's time to upgrade the
main emulators/wine port. However, there may be some regressions (in
particular around WoW64), so create emulators/wine8 as a clone of the
state before the version upgrade as a fallback. [1]
Since it is rarely, if ever, used, in particular in this context,
remove the MONO option.
Discussed with: Lexi Winter <lexi@le-fay.org> [1]
---
emulators/Makefile | 1 +
emulators/wine8/Makefile | 163 ++
emulators/wine8/distinfo | 3 +
emulators/wine8/files/patch-configure | 12 +
.../wine8/files/patch-dlls_ntdll_unix_loader.c | 24 +
emulators/wine8/files/pkg-message.in | 13 +
emulators/wine8/files/pkg32.sh | 20 +
emulators/wine8/files/wine-wow64.sh | 59 +
emulators/wine8/files/wine.sh | 17 +
emulators/wine8/pkg-descr | 15 +
emulators/wine8/pkg-plist | 2611 ++++++++++++++++++++
11 files changed, 2938 insertions(+)
diff --git a/emulators/Makefile b/emulators/Makefile
index 4f9221a66099..64d7b630bc9e 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -172,6 +172,7 @@
SUBDIR += wine-mono
SUBDIR += wine-mono-devel
SUBDIR += wine-proton
+ SUBDIR += wine8
SUBDIR += winetricks
SUBDIR += x16-emulator
SUBDIR += x16-rom
diff --git a/emulators/wine8/Makefile b/emulators/wine8/Makefile
new file mode 100644
index 000000000000..2a595af82679
--- /dev/null
+++ b/emulators/wine8/Makefile
@@ -0,0 +1,163 @@
+PORTNAME= wine
+DISTVERSION= 8.0.2
+CATEGORIES= emulators
+MASTER_SITES= https://dl.winehq.org/wine/source/8.0/
+PKGNAMESUFFIX= 8
+
+MAINTAINER= gerald@FreeBSD.org
+COMMENT= Microsoft Windows compatibility environment
+WWW= https://www.winehq.org
+
+LICENSE= LGPL21 LGPL3
+LICENSE_COMB= dual
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= amd64 i386
+
+BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex llvm${_LLVM_VERSION}>=0:devel/llvm${_LLVM_VERSION}
+
+USES= bison cpe desktop-file-utils gmake localbase \
+ pkgconfig sdl shebangfix tar:xz
+USE_GCC= yes
+USE_SDL= sdl2
+
+CPE_VENDOR= winehq
+
+CONFLICTS_INSTALL= wine-devel
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--verbose \
+ --disable-kerberos \
+ --disable-tests \
+ --without-capi \
+ --without-coreaudio \
+ --without-dbus \
+ --without-gettext --without-gettextpo \
+ --without-gphoto \
+ --without-gssapi \
+ --without-gstreamer \
+ --without-inotify \
+ --without-krb5 \
+ --with-mingw CROSSCC="clang" CROSSCFLAGS="-isystem ${FILESDIR}/clang" \
+ --without-netapi \
+ --without-opencl \
+ --without-osmesa \
+ --with-pcap \
+ --with-pthread \
+ --without-pulse \
+ --without-sane \
+ --with-sdl \
+ --without-udev \
+ --without-unwind \
+ --without-usb
+CONFIGURE_ENV= CPPBIN="${CPP}" FLEX="${LOCALBASE}/bin/flex"
+WINELIBDIR= ${PREFIX}/lib
+.if !defined(USE_LDCONFIG32)
+USE_LDCONFIG= ${WINELIBDIR} ${WINELIBDIR}/wine
+.endif
+SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \
+ tools/winedump/function_grep.pl
+
+BINARY_ALIAS+= clang=${LOCALBASE}/bin/clang${_LLVM_VERSION} \
+ lld-link=${LOCALBASE}/bin/lld-link${_LLVM_VERSION}
+
+SUB_FILES= pkg-message
+
+PORTDATA= wine.inf
+
+OPTIONS_DEFINE= CUPS DOCS DOSBOX GNUTLS V4L WINEMAKER X11 GECKO
+OPTIONS_DEFAULT=ALSA GNUTLS X11
+OPTIONS_RADIO= AUDIO
+OPTIONS_RADIO_AUDIO= ALSA OSS
+OPTIONS_SUB= yes
+
+DOSBOX_DESC= Use DOSBox to run MS-DOS programs
+WINEMAKER_DESC= Fully support winemaker (requires Perl)
+GECKO_DESC= Bundle Gecko MSI package for Wine
+
+PORTSCOUT= limit:^8\.0
+
+ALSA_CONFIGURE_WITH= alsa
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_RUN_DEPENDS= alsa-plugins>0:audio/alsa-plugins
+
+CUPS_CONFIGURE_WITH= cups
+CUPS_LIB_DEPENDS= libcups.so:print/cups
+
+DOSBOX_RUN_DEPENDS= dosbox:emulators/dosbox
+
+GECKO_RUN_DEPENDS= wine-gecko>0:emulators/wine-gecko
+
+GNUTLS_CONFIGURE_WITH= gnutls
+GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
+
+OSS_CONFIGURE_WITH= oss
+
+V4L_CONFIGURE_WITH= v4l2
+V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
+V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
+
+WINEMAKER_RUN_DEPENDS= p5-XML-LibXML>0:textproc/p5-XML-LibXML
+
+X11_CONFIGURE_WITH= x fontconfig freetype opengl xinerama xinput2 xrandr xrender
+X11_USES= gl xorg
+X11_USE= GL=glu XORG=x11,xext,xcomposite,xcursor,xi,xinerama,xrandr,xrender
+X11_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libvulkan.so:graphics/vulkan-loader
+
+.include <bsd.port.pre.mk>
+
+.if (${LLVM_DEFAULT} == 10 || ${LLVM_DEFAULT} == 11)
+_LLVM_VERSION= 15
+.else
+_LLVM_VERSION= ${LLVM_DEFAULT}
+.endif
+
+.if ${ARCH} == amd64
+# Wine is composed of three parts:
+# - wine (aka this port on FreeBSD/i386) is the 32-bit component
+# and runs 32-bit programs.
+# - wine64 (aka this part of this port on FreeBSD/amd64) is the
+# 64-bit component and runs 64-bit programs.
+# - wow64 (aka this port built on FreeBSD/i386) is a part of the
+# 64-bit component [wine64] that runs 32-bit programs on FreeBSD/amd64.
+
+# --libdir is required since Wine defaults to "${PREFIX}/lib64" on amd64.
+CONFIGURE_ARGS+= --enable-win64 --libdir=${PREFIX}/lib
+PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64"
+
+# Wine assumes a WoW64 package is available, which is not the case on
+# FreeBSD yet.
+post-patch:
+ ${REINPLACE_CMD} '/Exec/s|wine|wine64|g' ${WRKSRC}/loader/wine.desktop
+
+.else
+PLIST_SUB+= WINE32="" WINE64="@comment " WINEARCH="i386"
+.endif
+
+pre-build:
+ cd ${WRKSRC} && ${MAKE_CMD} depend
+
+post-install:
+.if ${ARCH} == i386
+ ${MV} ${STAGEDIR}${PREFIX}/bin/wineserver ${STAGEDIR}${PREFIX}/bin/wineserver32
+ ${MV} ${STAGEDIR}${PREFIX}/bin/wine ${STAGEDIR}${PREFIX}/bin/wine.bin
+ -${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/bin/wine.bin
+ ${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/bin/wine
+.else
+ ${MV} ${STAGEDIR}${PREFIX}/bin/wine64 ${STAGEDIR}${PREFIX}/bin/wine64.bin
+ -${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/bin/wine64.bin
+ ${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/bin/wine64
+ ${INSTALL_SCRIPT} ${FILESDIR}/wine-wow64.sh ${STAGEDIR}${PREFIX}/bin/wine
+ ${INSTALL_SCRIPT} ${FILESDIR}/pkg32.sh ${STAGEDIR}${DATADIR}/pkg32.sh
+.endif
+
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for i in README ANNOUNCE AUTHORS
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/programs/winedbg/README ${STAGEDIR}${DOCSDIR}/README.winedbg
+ ${INSTALL_DATA} ${WRKSRC}/tools/winedump/README ${STAGEDIR}${DOCSDIR}/README.winedump
+
+.include <bsd.port.post.mk>
diff --git a/emulators/wine8/distinfo b/emulators/wine8/distinfo
new file mode 100644
index 000000000000..528f5ad6c9ce
--- /dev/null
+++ b/emulators/wine8/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1691940152
+SHA256 (wine-8.0.2.tar.xz) = 6ec8fb6f2c72d576cb11f52b2f8d59af64404802154651d122b98466d91dc847
+SIZE (wine-8.0.2.tar.xz) = 29060452
diff --git a/emulators/wine8/files/patch-configure b/emulators/wine8/files/patch-configure
new file mode 100644
index 000000000000..ece5103ce34a
--- /dev/null
+++ b/emulators/wine8/files/patch-configure
@@ -0,0 +1,12 @@
+--- UTC
+--- configure.orig 2023-02-02 21:17:09.000000000 +0000
++++ configure 2023-05-01 21:19:03.739461000 +0000
+@@ -10696,7 +10696,7 @@
+ fi
+ llvm_extra_cflags="-target $llvm_target -fuse-ld=lld"
+ case $llvm_target in
+- *windows) llvm_cflags="-Wl,-subsystem:console -Wl,-WX" ;;
++ *windows) llvm_cflags="-Wl,-subsystem:console" ;;
+ esac
+ { as_ac_var=`printf "%s\n" "ac_cv_${wine_arch}_cflags_$llvm_extra_cflags $llvm_cflags" | $as_tr_sh`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $llvm_extra_cflags $llvm_cflags" >&5
diff --git a/emulators/wine8/files/patch-dlls_ntdll_unix_loader.c b/emulators/wine8/files/patch-dlls_ntdll_unix_loader.c
new file mode 100644
index 000000000000..c290524821a4
--- /dev/null
+++ b/emulators/wine8/files/patch-dlls_ntdll_unix_loader.c
@@ -0,0 +1,24 @@
+--- dlls/ntdll/unix/loader.c.orig 2023-07-19 15:29:22 UTC
++++ dlls/ntdll/unix/loader.c
+@@ -694,6 +694,21 @@ static NTSTATUS loader_exec( char **argv, WORD machine
+ {
+ if (machine != current_machine)
+ {
++ char* wineserver_path = getenv("WINESERVER");
++ if (wineserver_path != NULL && wineserver_path[0] == '/') {
++ char* s = remove_tail(wineserver_path, "server");
++ if (s != NULL) {
++ if (machine == IMAGE_FILE_MACHINE_AMD64) {
++ argv[1] = malloc(strlen(s) + 3);
++ strcpy(argv[1], s);
++ strcat(argv[1], "64");
++ } else {
++ argv[1] = s;
++ }
++ preloader_exec(argv);
++ }
++ }
++
+ if (machine == IMAGE_FILE_MACHINE_AMD64) /* try the 64-bit loader */
+ {
+ size_t len = strlen(wineloader);
diff --git a/emulators/wine8/files/pkg-message.in b/emulators/wine8/files/pkg-message.in
new file mode 100644
index 000000000000..a8632c68958b
--- /dev/null
+++ b/emulators/wine8/files/pkg-message.in
@@ -0,0 +1,13 @@
+[
+{ type: install
+ message: <<EOM
+Some ZFS tuning guides recommend setting KVA_PAGES=512 in your kernel
+configuration. This is incompatible with Wine. The maximum possible
+is KVA_PAGES=500, which should still be enough for ZFS.
+
+The port also installs some of Wine's documentation which describes
+additional programs that are not in the manual pages under
+ %%PREFIX%%/share/doc/wine
+EOM
+}
+]
diff --git a/emulators/wine8/files/pkg32.sh b/emulators/wine8/files/pkg32.sh
new file mode 100644
index 000000000000..d75422997e12
--- /dev/null
+++ b/emulators/wine8/files/pkg32.sh
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+
+if [ "$(id -u)" = 0 ]
+then
+ echo "Don't run this script as root!"
+ exit 1
+fi
+
+I386_ROOT="${WINE_i386_ROOT:-$HOME/.i386-wine-pkg}"
+
+if [ ! -d "$I386_ROOT/usr/share/keys/pkg" ]
+then
+ mkdir -p "$I386_ROOT/usr/share/keys"
+ ln -s /usr/share/keys/pkg "$I386_ROOT/usr/share/keys/pkg"
+fi
+
+ABI=$(pkg config ABI | sed s/amd64/i386/)
+# Show what we're going to do, then do it.
+echo pkg -o ABI="$ABI" -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
+exec pkg -o ABI="$ABI" -o INSTALL_AS_USER=true -o RUN_SCRIPTS=false --rootdir "$I386_ROOT" "$@"
diff --git a/emulators/wine8/files/wine-wow64.sh b/emulators/wine8/files/wine-wow64.sh
new file mode 100644
index 000000000000..8957e5f3c923
--- /dev/null
+++ b/emulators/wine8/files/wine-wow64.sh
@@ -0,0 +1,59 @@
+#!/bin/sh -e
+
+TARGET="$(realpath "$0")"
+PREFIX="${TARGET%/*/*}"
+LOCALBASE="${PREFIX}"
+
+I386_ROOT="${WINE_i386_ROOT:-$HOME/.i386-wine-pkg}"
+
+if [ ! -f "$I386_ROOT/$PREFIX/bin/wine" ]
+then
+ printf "%s doesn't exist!\n\n" "$I386_ROOT/$PREFIX/bin/wine"
+ printf "Try installing 32-bit Wine with\n\t%s\n" "$PREFIX/share/wine/pkg32.sh install wine8 mesa-dri"
+ ABI=$(pkg config ABI | sed s/amd64/i386/)
+ FREEBSD_VERSION_MAJOR=`uname -r | sed "s/\..*//"`
+ cat <<- HERE
+
+ If using Poudriere, please make sure your repo is setup to use ${ABI}
+ and create symlinks for
+ FreeBSD:$FREEBSD_VERSION_MAJOR:amd64 and
+ FreeBSD:$FREEBSD_VERSION_MAJOR:i386
+ to the relevant output directories. See pkg.conf(5) for more info.
+HERE
+ exit 1
+fi
+
+WINE32_VERSION=$(env -u WINELOADERNOEXEC "$I386_ROOT/$PREFIX/bin/wine" --version)
+WINE64_VERSION=$(env -u WINELOADERNOEXEC "${TARGET}64" --version)
+if [ "$WINE32_VERSION" != "$WINE64_VERSION" ]
+then
+ printf "wine [%s] and wine64 [%s] versions do not match!\n\n" "$WINE32_VERSION" "$WINE64_VERSION"
+ printf "Try updating 32-bit wine with\n\t%s\n" "$PREFIX/share/wine/pkg32.sh upgrade"
+ exit 1
+fi
+
+export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH:+$LIBGL_DRIVERS_PATH:}$LOCALBASE/lib/dri-devel:$LOCALBASE/lib32/dri-devel:$I386_ROOT/$LOCALBASE/lib/dri-devel:$LOCALBASE/lib/dri:$LOCALBASE/lib32/dri:$I386_ROOT/$LOCALBASE/lib/dri"
+export LD_32_LIBRARY_PATH="${LD_32_LIBRARY_PATH:+$LD_32_LIBRARY_PATH:}$I386_ROOT/$PREFIX/lib/wine:$LOCALBASE/lib32:$I386_ROOT/$LOCALBASE/lib"
+for d in "$I386_ROOT/$LOCALBASE"/llvm*/lib
+do
+ if [ -d "$d" ]
+ then
+ export LD_32_LIBRARY_PATH="$LD_32_LIBRARY_PATH:$d"
+ fi
+done
+export LD_32_LIBRARY_PATH_RPATH=y
+LD_32_LIBMAP_CONF=$(sed "s,$LOCALBASE,$I386_ROOT&,2" "$I386_ROOT/$LOCALBASE"/etc/libmap.d/*.conf 2>/dev/null || true)
+export LD_32_LIBMAP="
+libgcc_s.so.1 /usr/lib32/libgcc_s.so.1
+$LOCALBASE/lib/libvulkan_intel.so $I386_ROOT/$LOCALBASE/lib/libvulkan_intel.so
+$LOCALBASE/lib/libvulkan_radeon.so $I386_ROOT/$LOCALBASE/lib/libvulkan_radeon.so
+$LOCALBASE/lib/alsa-lib/libasound_module_pcm_oss.so $I386_ROOT/$LOCALBASE/lib/alsa-lib/libasound_module_pcm_oss.so
+$LD_32_LIBMAP_CONF
+$LD_32_LIBMAP"
+
+if [ -z "$WINE_NO_WOW64" ]
+then
+ export WINESERVER="${TARGET}server"
+fi
+
+exec "$I386_ROOT/$PREFIX/bin/wine" "$@"
diff --git a/emulators/wine8/files/wine.sh b/emulators/wine8/files/wine.sh
new file mode 100644
index 000000000000..ebd89e55ebdc
--- /dev/null
+++ b/emulators/wine8/files/wine.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+TARGET="$(realpath "$0")"
+
+if [ -z "$WINESERVER" ]; then
+ if [ -f "${TARGET%/*}/wineserver32" ]; then
+ export WINESERVER="${TARGET%/*}/wineserver32"
+ elif [ -f "${TARGET%/*}/wineserver" ]; then
+ export WINESERVER="${TARGET%/*}/wineserver"
+ fi
+fi
+
+# Workaround for https://bugs.winehq.org/show_bug.cgi?id=50257
+export LD_BIND_NOW=1
+export LD_32_BIND_NOW=1
+
+exec "${TARGET}.bin" "$@"
diff --git a/emulators/wine8/pkg-descr b/emulators/wine8/pkg-descr
new file mode 100644
index 000000000000..0723deaef3fd
--- /dev/null
+++ b/emulators/wine8/pkg-descr
@@ -0,0 +1,15 @@
+Wine is a Microsoft Windows compatibility layer (or program loader)
+capable of running Windows applications on i386 and compatible CPUs.
+Windows programs running in Wine act as native programs would, running
+without the performance or memory usage penalties of an emulator, with
+a similar look and feel to other applications on your desktop.
+
+Many applications already work, more or less, including versions of
+Microsoft Office and many games.
+
+If you receive a message of "Did you reconfigure your kernel with
+"options USER_LDT"?" add the line
+ machdep.max_ldt_segment="2048"
+to /boot/loader.conf and reboot.
+
+Gerald Pfeifer <gerald@FreeBSD.org>
diff --git a/emulators/wine8/pkg-plist b/emulators/wine8/pkg-plist
new file mode 100644
index 000000000000..8478ac9db0f5
--- /dev/null
+++ b/emulators/wine8/pkg-plist
@@ -0,0 +1,2611 @@
+bin/function_grep.pl
+bin/msidb
+bin/msiexec
+bin/notepad
+bin/regedit
+bin/regsvr32
+bin/widl
+bin/wine
+%%WINE32%%bin/wine.bin
+%%WINE64%%bin/wine64
+%%WINE64%%bin/wine64.bin
+bin/wineboot
+bin/winebuild
+bin/winecfg
+bin/wineconsole
+bin/winecpp
+bin/winedbg
+bin/winedump
+bin/winefile
+bin/wineg++
+bin/winegcc
+bin/winemaker
+bin/winemine
+bin/winepath
+%%WINE64%%bin/wineserver
+%%WINE32%%bin/wineserver32
+bin/wmc
+bin/wrc
+include/wine/debug.h
+include/wine/exception.h
+include/wine/iaccessible2.h
+include/wine/iaccessible2.idl
+include/wine/itss.h
+include/wine/itss.idl
+include/wine/mfinternal.h
+include/wine/mfinternal.idl
+include/wine/svcctl.h
+include/wine/svcctl.idl
+include/wine/msvcrt/assert.h
+include/wine/msvcrt/complex.h
+include/wine/msvcrt/conio.h
+include/wine/msvcrt/corecrt.h
+include/wine/msvcrt/corecrt_io.h
+include/wine/msvcrt/corecrt_malloc.h
+include/wine/msvcrt/corecrt_startup.h
+include/wine/msvcrt/corecrt_stdio_config.h
+include/wine/msvcrt/corecrt_wctype.h
+include/wine/msvcrt/corecrt_wdirect.h
+include/wine/msvcrt/corecrt_wio.h
+include/wine/msvcrt/corecrt_wprocess.h
+include/wine/msvcrt/corecrt_wstdio.h
+include/wine/msvcrt/corecrt_wstdlib.h
+include/wine/msvcrt/corecrt_wstring.h
+include/wine/msvcrt/corecrt_wtime.h
+include/wine/msvcrt/crtdbg.h
+include/wine/msvcrt/crtdefs.h
+include/wine/msvcrt/ctype.h
+include/wine/msvcrt/direct.h
+include/wine/msvcrt/dirent.h
+include/wine/msvcrt/dos.h
+include/wine/msvcrt/eh.h
+include/wine/msvcrt/errno.h
+include/wine/msvcrt/fcntl.h
+include/wine/msvcrt/fenv.h
+include/wine/msvcrt/float.h
+include/wine/msvcrt/fpieee.h
+include/wine/msvcrt/intrin.h
+include/wine/msvcrt/inttypes.h
+include/wine/msvcrt/io.h
+include/wine/msvcrt/limits.h
+include/wine/msvcrt/locale.h
+include/wine/msvcrt/malloc.h
+include/wine/msvcrt/math.h
+include/wine/msvcrt/mbctype.h
+include/wine/msvcrt/mbstring.h
+include/wine/msvcrt/memory.h
+include/wine/msvcrt/process.h
+include/wine/msvcrt/search.h
+include/wine/msvcrt/setjmp.h
+include/wine/msvcrt/share.h
+include/wine/msvcrt/signal.h
+include/wine/msvcrt/stdarg.h
+include/wine/msvcrt/stdbool.h
+include/wine/msvcrt/stddef.h
+include/wine/msvcrt/stdint.h
+include/wine/msvcrt/stdio.h
+include/wine/msvcrt/stdlib.h
+include/wine/msvcrt/string.h
+include/wine/msvcrt/sys/locking.h
+include/wine/msvcrt/sys/stat.h
+include/wine/msvcrt/sys/timeb.h
+include/wine/msvcrt/sys/types.h
+include/wine/msvcrt/sys/unistd.h
+include/wine/msvcrt/sys/utime.h
+include/wine/msvcrt/time.h
+include/wine/msvcrt/uchar.h
+include/wine/msvcrt/unistd.h
+include/wine/msvcrt/vadefs.h
+include/wine/msvcrt/wchar.h
+include/wine/msvcrt/wctype.h
+include/wine/windows/accctrl.h
+include/wine/windows/access.idl
+include/wine/windows/aclapi.h
+include/wine/windows/aclui.h
+include/wine/windows/activation.h
+include/wine/windows/activation.idl
+include/wine/windows/activaut.h
+include/wine/windows/activaut.idl
+include/wine/windows/activdbg.h
+include/wine/windows/activdbg.idl
+include/wine/windows/activscp.h
+include/wine/windows/activscp.idl
+include/wine/windows/adserr.h
+include/wine/windows/adshlp.h
+include/wine/windows/advpub.h
+include/wine/windows/af_irda.h
+include/wine/windows/amaudio.h
+include/wine/windows/amsi.h
+include/wine/windows/amsi.idl
+include/wine/windows/amstream.h
+include/wine/windows/amstream.idl
+include/wine/windows/amva.h
+include/wine/windows/amvideo.h
+include/wine/windows/amvideo.idl
+include/wine/windows/appcompatapi.h
+include/wine/windows/appmgmt.h
+include/wine/windows/appmodel.h
+include/wine/windows/asferr.h
+include/wine/windows/asptlb.h
+include/wine/windows/asptlb.idl
+include/wine/windows/asyncinfo.h
+include/wine/windows/asyncinfo.idl
+include/wine/windows/asynot.idl
+include/wine/windows/asysta.idl
+include/wine/windows/atlbase.h
+include/wine/windows/atlcom.h
+include/wine/windows/atliface.h
+include/wine/windows/atliface.idl
+include/wine/windows/atlthunk.h
+include/wine/windows/atlwin.h
+include/wine/windows/audevcod.h
+include/wine/windows/audioclient.h
+include/wine/windows/audioclient.idl
+include/wine/windows/audiopolicy.h
+include/wine/windows/audiopolicy.idl
+include/wine/windows/audiosessiontypes.h
+include/wine/windows/austream.h
+include/wine/windows/austream.idl
+include/wine/windows/authz.h
+include/wine/windows/aviriff.h
+include/wine/windows/avrt.h
+include/wine/windows/axcore.idl
+include/wine/windows/axextend.idl
+include/wine/windows/axextendenums.h
+include/wine/windows/basetsd.h
+include/wine/windows/basetyps.h
+include/wine/windows/bcrypt.h
+include/wine/windows/bdaiface.h
+include/wine/windows/bdaiface.idl
+include/wine/windows/bdaiface_enums.h
+include/wine/windows/bdatypes.h
+include/wine/windows/binres.idl
+include/wine/windows/bits.h
+include/wine/windows/bits.idl
+include/wine/windows/bits1_5.h
+include/wine/windows/bits1_5.idl
+include/wine/windows/bits2_0.h
+include/wine/windows/bits2_0.idl
+include/wine/windows/bits2_5.h
+include/wine/windows/bits2_5.idl
+include/wine/windows/bits3_0.h
+include/wine/windows/bits3_0.idl
+include/wine/windows/bits5_0.h
+include/wine/windows/bits5_0.idl
+include/wine/windows/bitsmsg.h
+include/wine/windows/bluetoothapis.h
+include/wine/windows/bthsdpdef.h
+include/wine/windows/cderr.h
+include/wine/windows/cdosys.h
+include/wine/windows/cdosys.idl
+include/wine/windows/cfg.h
+include/wine/windows/cfgmgr32.h
+include/wine/windows/cguid.h
+include/wine/windows/chprst.idl
+include/wine/windows/cierror.h
+include/wine/windows/clusapi.h
+include/wine/windows/cmdbas.idl
+include/wine/windows/cmdpre.idl
+include/wine/windows/cmdprp.idl
+include/wine/windows/cmdstrm.idl
+include/wine/windows/cmdtxt.idl
+include/wine/windows/cmdwpr.idl
+include/wine/windows/cmnquery.h
+include/wine/windows/cmnquery.idl
+include/wine/windows/codecapi.h
+include/wine/windows/colinf.idl
+include/wine/windows/colordlg.h
+include/wine/windows/colrst.idl
+include/wine/windows/combaseapi.h
+include/wine/windows/comcat.h
+include/wine/windows/comcat.idl
+include/wine/windows/commctrl.h
+include/wine/windows/commctrl.rh
+include/wine/windows/commdlg.h
+include/wine/windows/commoncontrols.h
+include/wine/windows/commoncontrols.idl
+include/wine/windows/compobj.h
+include/wine/windows/comsvcs.h
+include/wine/windows/comsvcs.idl
+include/wine/windows/concurrencysal.h
+include/wine/windows/consoleapi.h
+include/wine/windows/control.h
+include/wine/windows/control.idl
+include/wine/windows/cor.h
+include/wine/windows/cor.idl
+include/wine/windows/cordebug.h
+include/wine/windows/cordebug.idl
+include/wine/windows/corerror.h
+include/wine/windows/corhdr.h
+include/wine/windows/corsym.h
+include/wine/windows/corsym.idl
+include/wine/windows/cpl.h
+include/wine/windows/crtrow.idl
+include/wine/windows/cryptdlg.h
+include/wine/windows/cryptuiapi.h
+include/wine/windows/ctfutb.h
+include/wine/windows/ctfutb.idl
+include/wine/windows/ctxtcall.h
+include/wine/windows/ctxtcall.idl
+include/wine/windows/custcntl.h
+include/wine/windows/cvconst.h
+include/wine/windows/cvttyp.idl
+include/wine/windows/d2d1.h
+include/wine/windows/d2d1.idl
+include/wine/windows/d2d1_1.h
+include/wine/windows/d2d1_1.idl
+include/wine/windows/d2d1_2.h
+include/wine/windows/d2d1_2.idl
+include/wine/windows/d2d1_3.h
+include/wine/windows/d2d1_3.idl
+include/wine/windows/d2d1effectauthor.h
+include/wine/windows/d2d1effectauthor.idl
+include/wine/windows/d2d1effects.h
+include/wine/windows/d2d1effects.idl
+include/wine/windows/d2d1effects_1.h
+include/wine/windows/d2d1effects_1.idl
+include/wine/windows/d2d1effects_2.h
+include/wine/windows/d2d1effects_2.idl
+include/wine/windows/d2dbasetypes.h
+include/wine/windows/d2derr.h
+include/wine/windows/d3d.h
+include/wine/windows/d3d10.h
+include/wine/windows/d3d10.idl
+include/wine/windows/d3d10_1.h
+include/wine/windows/d3d10_1.idl
+include/wine/windows/d3d10_1shader.h
+include/wine/windows/d3d10effect.h
+include/wine/windows/d3d10misc.h
+include/wine/windows/d3d10sdklayers.h
+include/wine/windows/d3d10sdklayers.idl
+include/wine/windows/d3d10shader.h
+include/wine/windows/d3d11.h
+include/wine/windows/d3d11.idl
+include/wine/windows/d3d11_1.h
+include/wine/windows/d3d11_1.idl
+include/wine/windows/d3d11_2.h
+include/wine/windows/d3d11_2.idl
+include/wine/windows/d3d11_3.h
+include/wine/windows/d3d11_3.idl
+include/wine/windows/d3d11_4.h
+include/wine/windows/d3d11_4.idl
+include/wine/windows/d3d11on12.h
+include/wine/windows/d3d11on12.idl
+include/wine/windows/d3d11sdklayers.h
+include/wine/windows/d3d11sdklayers.idl
+include/wine/windows/d3d11shader.h
+include/wine/windows/d3d12.h
+include/wine/windows/d3d12.idl
+include/wine/windows/d3d12sdklayers.h
+include/wine/windows/d3d12sdklayers.idl
+include/wine/windows/d3d12shader.h
+include/wine/windows/d3d12shader.idl
+include/wine/windows/d3d8.h
+include/wine/windows/d3d8caps.h
+include/wine/windows/d3d8types.h
+include/wine/windows/d3d9.h
+include/wine/windows/d3d9caps.h
+include/wine/windows/d3d9types.h
+include/wine/windows/d3dcaps.h
+include/wine/windows/d3dcommon.h
+include/wine/windows/d3dcommon.idl
+include/wine/windows/d3dcompiler.h
+include/wine/windows/d3dhal.h
+include/wine/windows/d3dkmdt.h
+include/wine/windows/d3drm.h
+include/wine/windows/d3drmdef.h
+include/wine/windows/d3drmobj.h
+include/wine/windows/d3drmwin.h
+include/wine/windows/d3dtypes.h
+include/wine/windows/d3dukmdt.h
+include/wine/windows/d3dvec.inl
+include/wine/windows/d3dx10.h
+include/wine/windows/d3dx10async.h
+include/wine/windows/d3dx10core.h
+include/wine/windows/d3dx10math.h
+include/wine/windows/d3dx10mesh.h
+include/wine/windows/d3dx10tex.h
+include/wine/windows/d3dx11.h
+include/wine/windows/d3dx11async.h
+include/wine/windows/d3dx11core.h
+include/wine/windows/d3dx11core.idl
+include/wine/windows/d3dx11tex.h
+include/wine/windows/d3dx9.h
+include/wine/windows/d3dx9anim.h
+include/wine/windows/d3dx9core.h
+include/wine/windows/d3dx9effect.h
+include/wine/windows/d3dx9math.h
+include/wine/windows/d3dx9math.inl
+include/wine/windows/d3dx9mesh.h
+include/wine/windows/d3dx9shader.h
+include/wine/windows/d3dx9shape.h
+include/wine/windows/d3dx9tex.h
+include/wine/windows/d3dx9xof.h
+include/wine/windows/davclnt.h
+include/wine/windows/dbccmd.idl
+include/wine/windows/dbcses.idl
+include/wine/windows/dbdsad.idl
+include/wine/windows/dbgeng.h
+include/wine/windows/dbghelp.h
+include/wine/windows/dbinit.idl
+include/wine/windows/dbprop.idl
+include/wine/windows/dbs.idl
+include/wine/windows/dbt.h
+include/wine/windows/dciddi.h
+include/wine/windows/dciman.h
+include/wine/windows/dcommon.h
+include/wine/windows/dcommon.idl
+include/wine/windows/dde.h
+include/wine/windows/dde.rh
+include/wine/windows/ddeml.h
+include/wine/windows/ddraw.h
+include/wine/windows/ddrawgdi.h
+include/wine/windows/ddrawi.h
+include/wine/windows/ddstream.h
+include/wine/windows/ddstream.idl
+include/wine/windows/delayloadhandler.h
+include/wine/windows/devenum.idl
+include/wine/windows/devguid.h
+include/wine/windows/devicetopology.h
+include/wine/windows/devicetopology.idl
+include/wine/windows/devpkey.h
+include/wine/windows/devpropdef.h
+include/wine/windows/dhcpcsdk.h
+include/wine/windows/dhtmldid.h
+include/wine/windows/dhtmled.h
+include/wine/windows/dhtmled.idl
+include/wine/windows/difxapi.h
+include/wine/windows/digitalv.h
+include/wine/windows/dimm.h
+include/wine/windows/dimm.idl
+include/wine/windows/dinput.h
+include/wine/windows/dinputd.h
+include/wine/windows/directmanipulation.h
+include/wine/windows/directmanipulation.idl
+include/wine/windows/dispdib.h
+include/wine/windows/dispex.h
+include/wine/windows/dispex.idl
+include/wine/windows/dlgs.h
+include/wine/windows/dls1.h
+include/wine/windows/dls2.h
+include/wine/windows/dmdls.h
+include/wine/windows/dmerror.h
+include/wine/windows/dmksctrl.h
+include/wine/windows/dmo.h
+include/wine/windows/dmodshow.h
+include/wine/windows/dmodshow.idl
+include/wine/windows/dmoreg.h
+include/wine/windows/dmort.h
+include/wine/windows/dmplugin.h
+include/wine/windows/dmusbuff.h
+include/wine/windows/dmusicc.h
+include/wine/windows/dmusicf.h
+include/wine/windows/dmusici.h
+include/wine/windows/dmusics.h
+include/wine/windows/docobj.h
+include/wine/windows/docobj.idl
+include/wine/windows/docobjectservice.h
+include/wine/windows/docobjectservice.idl
+include/wine/windows/documenttarget.h
+include/wine/windows/documenttarget.idl
+include/wine/windows/downloadmgr.h
+include/wine/windows/downloadmgr.idl
+include/wine/windows/dpaddr.h
+include/wine/windows/dpfilter.h
+include/wine/windows/dplay.h
+include/wine/windows/dplay8.h
+include/wine/windows/dplobby.h
+include/wine/windows/dplobby8.h
+include/wine/windows/dpnathlp.h
+include/wine/windows/driverspecs.h
+include/wine/windows/drmexternals.h
+include/wine/windows/drmexternals.idl
+include/wine/windows/dsclient.h
+include/wine/windows/dsconf.h
+include/wine/windows/dsgetdc.h
+include/wine/windows/dshow.h
+include/wine/windows/dsound.h
+include/wine/windows/dsrole.h
+include/wine/windows/dvdif.h
+include/wine/windows/dvdif.idl
+include/wine/windows/dvdmedia.h
+include/wine/windows/dvoice.h
+include/wine/windows/dwmapi.h
+include/wine/windows/dwrite.h
+include/wine/windows/dwrite.idl
+include/wine/windows/dwrite_1.h
+include/wine/windows/dwrite_1.idl
+include/wine/windows/dwrite_2.h
+include/wine/windows/dwrite_2.idl
+include/wine/windows/dwrite_3.h
+include/wine/windows/dwrite_3.idl
+include/wine/windows/dxdiag.h
+include/wine/windows/dxerr8.h
+include/wine/windows/dxerr9.h
+include/wine/windows/dxfile.h
+include/wine/windows/dxgi.h
+include/wine/windows/dxgi.idl
+include/wine/windows/dxgi1_2.h
+include/wine/windows/dxgi1_2.idl
+include/wine/windows/dxgi1_3.h
+include/wine/windows/dxgi1_3.idl
+include/wine/windows/dxgi1_4.h
+include/wine/windows/dxgi1_4.idl
+include/wine/windows/dxgi1_5.h
+include/wine/windows/dxgi1_5.idl
+include/wine/windows/dxgi1_6.h
+include/wine/windows/dxgi1_6.idl
+include/wine/windows/dxgicommon.h
+include/wine/windows/dxgicommon.idl
+include/wine/windows/dxgidebug.h
+include/wine/windows/dxgidebug.idl
+include/wine/windows/dxgiformat.h
+include/wine/windows/dxgiformat.idl
+include/wine/windows/dxgitype.h
+include/wine/windows/dxgitype.idl
+include/wine/windows/dxva.h
+include/wine/windows/dxva2api.h
+include/wine/windows/dxva2api.idl
+include/wine/windows/dyngraph.idl
+include/wine/windows/endpointvolume.h
+include/wine/windows/endpointvolume.idl
+include/wine/windows/errorrep.h
+include/wine/windows/errors.h
+include/wine/windows/errrec.idl
+include/wine/windows/evcode.h
+include/wine/windows/eventtoken.h
+include/wine/windows/eventtoken.idl
+include/wine/windows/evntprov.h
+include/wine/windows/evntrace.h
+include/wine/windows/evr.h
+include/wine/windows/evr.idl
+include/wine/windows/evr9.h
+include/wine/windows/evr9.idl
+include/wine/windows/excpt.h
+include/wine/windows/exdisp.h
+include/wine/windows/exdisp.idl
+include/wine/windows/exdispid.h
+include/wine/windows/exposeenums2managed.h
+include/wine/windows/fci.h
+include/wine/windows/fdi.h
+include/wine/windows/featurestagingapi.h
+include/wine/windows/fileapi.h
+include/wine/windows/filter.h
+include/wine/windows/filter.idl
+include/wine/windows/fltdefs.h
+include/wine/windows/fontsub.h
+include/wine/windows/fusion.h
+include/wine/windows/fusion.idl
+include/wine/windows/gameux.h
+include/wine/windows/gameux.idl
+include/wine/windows/gamingtcui.h
+include/wine/windows/gdiplus.h
+include/wine/windows/gdipluscolor.h
+include/wine/windows/gdipluscolormatrix.h
+include/wine/windows/gdipluseffects.h
+include/wine/windows/gdiplusenums.h
+include/wine/windows/gdiplusflat.h
+include/wine/windows/gdiplusgpstubs.h
+include/wine/windows/gdiplusimaging.h
+include/wine/windows/gdiplusinit.h
+include/wine/windows/gdiplusmem.h
+include/wine/windows/gdiplusmetaheader.h
+include/wine/windows/gdipluspixelformats.h
+include/wine/windows/gdiplustypes.h
+include/wine/windows/getdts.idl
+include/wine/windows/guiddef.h
+include/wine/windows/hidusage.h
+include/wine/windows/highlevelmonitorconfigurationapi.h
+include/wine/windows/hlguids.h
+include/wine/windows/hlink.h
+include/wine/windows/hlink.idl
+include/wine/windows/hstring.h
+include/wine/windows/hstring.idl
+include/wine/windows/htiface.h
+include/wine/windows/htiface.idl
+include/wine/windows/htiframe.h
+include/wine/windows/htiframe.idl
+include/wine/windows/htmlhelp.h
+include/wine/windows/http.h
+include/wine/windows/httprequest.h
+include/wine/windows/httprequest.idl
+include/wine/windows/httprequestid.h
+include/wine/windows/i_cryptasn1tls.h
+include/wine/windows/iads.h
+include/wine/windows/iads.idl
+include/wine/windows/icftypes.h
+include/wine/windows/icftypes.idl
+include/wine/windows/icm.h
+include/wine/windows/icmpapi.h
+include/wine/windows/icodecapi.h
+include/wine/windows/icodecapi.idl
+include/wine/windows/idispids.h
+include/wine/windows/ieautomation.h
+include/wine/windows/ieautomation.idl
+include/wine/windows/iextag.h
+include/wine/windows/iextag.idl
+include/wine/windows/ifdef.h
+include/wine/windows/ifmib.h
+include/wine/windows/iimgctx.h
+include/wine/windows/iimgctx.idl
+include/wine/windows/imagehlp.h
+include/wine/windows/ime.h
+include/wine/windows/imm.h
+include/wine/windows/imnact.h
+include/wine/windows/imnact.idl
+include/wine/windows/imnxport.h
+include/wine/windows/imnxport.idl
+include/wine/windows/in6addr.h
+include/wine/windows/inaddr.h
+include/wine/windows/indexsrv.h
+include/wine/windows/indexsrv.idl
+include/wine/windows/initguid.h
+include/wine/windows/inputscope.h
+include/wine/windows/inputscope.idl
+include/wine/windows/inseng.h
+include/wine/windows/inseng.idl
+include/wine/windows/inspectable.h
+include/wine/windows/inspectable.idl
+include/wine/windows/interactioncontext.h
+include/wine/windows/intshcut.h
+include/wine/windows/ip2string.h
+include/wine/windows/ipexport.h
+include/wine/windows/iphlpapi.h
*** 2058 LINES SKIPPED ***