mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-23 01:44:43 +08:00
b4eadf324c
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
253 lines
4.0 KiB
Bash
Executable File
253 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
WINE_DIR=$1
|
|
|
|
if test -z $WINE_DIR; then
|
|
echo "Usage: wine-import.sh wine_dir"
|
|
exit 1
|
|
fi
|
|
|
|
import_header() {
|
|
dstfile=$2/$1
|
|
srcfile=$WINE_DIR/include/$1
|
|
rm -f $dstfile
|
|
unicode_fix=
|
|
if test -n "$(grep WINELIB_NAME_AW\\\|DECL_WINELIB_TYPE_AW $srcfile)"; then
|
|
unicode_fix="yes"
|
|
echo '#include <_mingw_unicode.h>' >>$dstfile
|
|
fi
|
|
if test -n "$(grep -w INTERFACE $srcfile)"; then
|
|
echo '#undef INTERFACE' >>$dstfile
|
|
fi
|
|
cat $srcfile >>$dstfile
|
|
if test -n "$(grep WINELIB_NAME_AW\\\|DECL_WINELIB_TYPE_AW $srcfile)"; then
|
|
sed -i 's/\bWINELIB_NAME_AW\b/__MINGW_NAME_AW/g' $dstfile
|
|
sed -i 's/\bDECL_WINELIB_TYPE_AW\b/__MINGW_TYPEDEF_AW/g' $dstfile
|
|
fi
|
|
sed -i 's/\bBOOL /WINBOOL /g' $dstfile
|
|
sed -i 's/\bBOOL\b/WINBOOL/g' $dstfile
|
|
sed -i 's/DECLSPEC_HIDDEN//g' $dstfile
|
|
sed -i 's/\b__WINE_ALLOC_SIZE([0-9]) //g' $dstfile
|
|
}
|
|
|
|
import_idl() {
|
|
dstfile=$2/$1
|
|
srcfile=$WINE_DIR/include/$1
|
|
cp $srcfile $dstfile
|
|
|
|
# HACK:
|
|
sed -i 's/cpp_quote\(.*\)\bBOOL\b/cpp_quote\1WINBOOL/' $dstfile
|
|
sed -i 's/cpp_quote\(.*\)\bBOOL\b/cpp_quote\1WINBOOL/' $dstfile
|
|
sed -i 's/cpp_quote\(.*\)\bBOOL\b/cpp_quote\1WINBOOL/' $dstfile
|
|
}
|
|
|
|
# headers
|
|
# Reverted: propkeydef.h, rpcsal.h
|
|
for f in \
|
|
amaudio.h \
|
|
audevcod.h \
|
|
corerror.h \
|
|
d2dbasetypes.h \
|
|
d3d10_1shader.h \
|
|
d3d10misc.h \
|
|
d3d11shader.h \
|
|
d3d8caps.h \
|
|
d3d8.h \
|
|
d3d8types.h \
|
|
d3d9caps.h \
|
|
d3d9.h \
|
|
d3d9types.h \
|
|
d3dcaps.h \
|
|
d3dcompiler.h \
|
|
d3d.h \
|
|
d3dhal.h \
|
|
d3drmdef.h \
|
|
d3drm.h \
|
|
d3drmobj.h \
|
|
d3dtypes.h \
|
|
d3dvec.inl \
|
|
d3dx9anim.h \
|
|
d3dx9core.h \
|
|
d3dx9effect.h \
|
|
d3dx9.h \
|
|
d3dx9math.h \
|
|
d3dx9math.inl \
|
|
d3dx9mesh.h \
|
|
d3dx9shader.h \
|
|
d3dx9shape.h \
|
|
d3dx9tex.h \
|
|
d3dx9xof.h \
|
|
devpkey.h \
|
|
dls1.h \
|
|
dls2.h \
|
|
dmerror.h \
|
|
dmo.h \
|
|
dmoreg.h \
|
|
dmort.h \
|
|
dmplugin.h \
|
|
dmusbuff.h \
|
|
dmusicc.h \
|
|
dmusicf.h \
|
|
dmusici.h \
|
|
dmusics.h \
|
|
dpaddr.h \
|
|
dplay8.h \
|
|
dplay.h \
|
|
dplobby8.h \
|
|
dplobby.h \
|
|
dpnathlp.h \
|
|
dsconf.h \
|
|
dshow.h \
|
|
dvdmedia.h \
|
|
dxdiag.h \
|
|
dxerr8.h \
|
|
dxerr9.h \
|
|
dxfile.h \
|
|
dxva.h \
|
|
errors.h \
|
|
evcode.h \
|
|
exdispid.h \
|
|
fontsub.h \
|
|
mediaerr.h \
|
|
mscat.h \
|
|
msxml2did.h \
|
|
msxml6did.h \
|
|
propkey.h \
|
|
propvarutil.h \
|
|
t2embapi.h \
|
|
uiautomationcoreapi.h \
|
|
uiautomation.h \
|
|
vfwmsgs.h \
|
|
webservices.h \
|
|
winhttp.h \
|
|
winineti.h \
|
|
wmpids.h \
|
|
x3daudio.h \
|
|
xapofx.h \
|
|
xinput.h; do
|
|
import_header $f include
|
|
done
|
|
|
|
# IDLs
|
|
for f in \
|
|
amstream \
|
|
amvideo \
|
|
asyncinfo \
|
|
austream \
|
|
bits \
|
|
bits1_5 \
|
|
bits2_0 \
|
|
bits2_5 \
|
|
bits3_0 \
|
|
bits5_0 \
|
|
ctfutb \
|
|
ctxtcall \
|
|
d3d10 \
|
|
d3d10_1 \
|
|
d3d10effect \
|
|
d3d10sdklayers \
|
|
d3d10shader \
|
|
d3d11 \
|
|
d3d11on12 \
|
|
d3d11_1 \
|
|
d3d11_2 \
|
|
d3d11_3 \
|
|
d3d11_4 \
|
|
d3d11sdklayers \
|
|
d3d12 \
|
|
d3d12sdklayers \
|
|
d3d12shader \
|
|
d3d12video \
|
|
d3dcommon \
|
|
dcommon \
|
|
ddstream \
|
|
devicetopology \
|
|
directmanipulation \
|
|
downloadmgr \
|
|
drmexternals \
|
|
dvdif \
|
|
dwrite \
|
|
dwrite_1 \
|
|
dwrite_2 \
|
|
dwrite_3 \
|
|
dxgi \
|
|
dxgi1_2 \
|
|
dxgi1_3 \
|
|
dxgi1_4 \
|
|
dxgi1_5 \
|
|
dxgi1_6 \
|
|
dxgicommon \
|
|
dxgidebug \
|
|
dxgiformat \
|
|
dxgitype \
|
|
dxva2api \
|
|
dyngraph \
|
|
endpointvolume \
|
|
eventtoken \
|
|
evr9 \
|
|
exdisp \
|
|
fusion \
|
|
icftypes \
|
|
ivectorchangedeventargs \
|
|
mediaobj \
|
|
mfmediaengine \
|
|
mfreadwrite \
|
|
mftransform \
|
|
mmdeviceapi \
|
|
mmstream \
|
|
mscoree \
|
|
msctf \
|
|
msxml \
|
|
msxml2 \
|
|
msxml6 \
|
|
mulres \
|
|
netfw \
|
|
netlistmgr \
|
|
objectarray \
|
|
optary \
|
|
proofofpossessioncookieinfo \
|
|
qedit \
|
|
relogger \
|
|
rtworkq \
|
|
spatialaudioclient \
|
|
taskschd \
|
|
textstor \
|
|
thumbcache \
|
|
uiautomationclient \
|
|
uiautomationcore \
|
|
urlhist \
|
|
vmr9 \
|
|
weakreference \
|
|
wincodec \
|
|
wincodecsdk \
|
|
windowscontracts \
|
|
wmdrmsdk \
|
|
wmp \
|
|
wmprealestate \
|
|
wmpservices \
|
|
wmsbuffer \
|
|
wmsdkidl \
|
|
wmsecure \
|
|
wpcapi \
|
|
wuapi \
|
|
xamlom \
|
|
xapo \
|
|
xaudio2 \
|
|
xaudio2fx \
|
|
xmldom \
|
|
xmldso \
|
|
xmllite; do
|
|
import_idl $f.idl include
|
|
done
|
|
|
|
# Import all winrt IDLs
|
|
for f in $WINE_DIR/include/windows.*.idl; do
|
|
import_idl $(basename $f) include
|
|
done
|
|
|
|
echo Import complete. You need to update headers generated from IDL files now:
|
|
echo '$ ./configure --with-widl --host=i686-w64-mingw32 && make && make distclean'
|
|
|