mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-30 21:34:21 +08:00
wine-import.sh: Added Wine import script.
This commit is contained in:
parent
537fbbf3e8
commit
2979a230c7
189
mingw-w64-headers/wine-import.sh
Executable file
189
mingw-w64-headers/wine-import.sh
Executable file
@ -0,0 +1,189 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
WINE_DIR=$1
|
||||
|
||||
if test -z $WINE_DIR; then
|
||||
echo "Usage: wine-impot.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
|
||||
}
|
||||
|
||||
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
|
||||
for f in \
|
||||
corerror.h \
|
||||
mscat.h \
|
||||
propkey.h \
|
||||
propkeydef.h \
|
||||
rpcsal.h \
|
||||
t2embapi.h \
|
||||
uiautomation.h \
|
||||
uiautomationcoreapi.h \
|
||||
winhttp.h \
|
||||
winineti.h; do
|
||||
import_header $f include
|
||||
done
|
||||
|
||||
# IDLs
|
||||
for f in \
|
||||
ctfutb \
|
||||
devicetopology \
|
||||
downloadmgr \
|
||||
drmexternals \
|
||||
endpointvolume \
|
||||
fusion \
|
||||
icftypes \
|
||||
mmdeviceapi \
|
||||
mscoree \
|
||||
msctf \
|
||||
netfw \
|
||||
objectarray \
|
||||
optary \
|
||||
taskschd \
|
||||
uiautomationclient \
|
||||
uiautomationcore \
|
||||
urlhist \
|
||||
wmdrmsdk \
|
||||
wmsbuffer \
|
||||
wmsdkidl \
|
||||
wpcapi \
|
||||
xmllite; do
|
||||
import_idl $f.idl include
|
||||
done
|
||||
|
||||
# DirectX headers
|
||||
for f in \
|
||||
amaudio.h \
|
||||
audevcod.h \
|
||||
d3d.h \
|
||||
d3d10_1shader.h \
|
||||
d3d10effect.h \
|
||||
d3d10misc.h \
|
||||
d3d10shader.h \
|
||||
d3d11shader.h \
|
||||
d3d8.h \
|
||||
d3d8caps.h \
|
||||
d3d8types.h \
|
||||
d3d9.h \
|
||||
d3d9caps.h \
|
||||
d3d9types.h \
|
||||
d3dcaps.h \
|
||||
d3dcompiler.h \
|
||||
d3dhal.h \
|
||||
d3drm.h \
|
||||
d3drmdef.h \
|
||||
d3drmobj.h \
|
||||
d3dtypes.h \
|
||||
d3dx9.h \
|
||||
d3dx9anim.h \
|
||||
d3dx9core.h \
|
||||
d3dx9effect.h \
|
||||
d3dx9math.h \
|
||||
d3dx9math.inl \
|
||||
d3dx9mesh.h \
|
||||
d3dx9shader.h \
|
||||
d3dx9shape.h \
|
||||
d3dx9tex.h \
|
||||
d3dx9xof.h \
|
||||
d3dvec.inl \
|
||||
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 \
|
||||
dplay.h \
|
||||
dplay8.h \
|
||||
dplobby.h \
|
||||
dplobby8.h \
|
||||
dpnathlp.h \
|
||||
dshow.h \
|
||||
dvdmedia.h \
|
||||
dxdiag.h \
|
||||
dxerr8.h \
|
||||
dxerr9.h \
|
||||
dxfile.h \
|
||||
errors.h \
|
||||
evcode.h \
|
||||
mediaerr.h \
|
||||
vfwmsgs.h \
|
||||
xinput.h; do
|
||||
import_header $f direct-x/include
|
||||
done
|
||||
|
||||
# DirectX IDLs
|
||||
for f in \
|
||||
amstream \
|
||||
amvideo \
|
||||
austream \
|
||||
d3d10 \
|
||||
d3d10_1 \
|
||||
d3d10sdklayers \
|
||||
d3d11 \
|
||||
d3d11_1 \
|
||||
d3d11_2 \
|
||||
d3d11_3 \
|
||||
d3d11_4 \
|
||||
d3d11sdklayers \
|
||||
d3dcommon \
|
||||
ddstream \
|
||||
dxgi \
|
||||
dxgi1_2 \
|
||||
dxgi1_3 \
|
||||
dxgi1_4 \
|
||||
dxgi1_5 \
|
||||
dxgi1_6 \
|
||||
mediaobj \
|
||||
dxgicommon \
|
||||
dxgiformat \
|
||||
dxgitype \
|
||||
mmstream \
|
||||
qedit; do
|
||||
import_idl $f.idl direct-x/include
|
||||
done
|
||||
|
||||
echo Import complete. You need to update headers generated from IDL files now:
|
||||
echo $ ./configure --with-widl --host=i686-w64-mingw32
|
||||
echo $ make
|
||||
echo $ make distclean
|
||||
|
Loading…
Reference in New Issue
Block a user