git: 5aa9792e666d - main - emulators/wine8: New port, cloning emulators/wine

From: Gerald Pfeifer <gerald_at_FreeBSD.org>
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 ***