Revision d9840e25 configure
b/configure | ||
---|---|---|
232 | 232 |
glx="" |
233 | 233 |
zlib="yes" |
234 | 234 |
guest_agent="" |
235 |
guest_agent_with_vss="no" |
|
236 |
vss_win32_sdk="" |
|
237 |
win_sdk="no" |
|
235 | 238 |
want_tools="yes" |
236 | 239 |
libiscsi="" |
237 | 240 |
coroutine="" |
... | ... | |
927 | 930 |
;; |
928 | 931 |
--disable-guest-agent) guest_agent="no" |
929 | 932 |
;; |
933 |
--with-vss-sdk) vss_win32_sdk="" |
|
934 |
;; |
|
935 |
--with-vss-sdk=*) vss_win32_sdk="$optarg" |
|
936 |
;; |
|
937 |
--without-vss-sdk) vss_win32_sdk="no" |
|
938 |
;; |
|
939 |
--with-win-sdk) win_sdk="" |
|
940 |
;; |
|
941 |
--with-win-sdk=*) win_sdk="$optarg" |
|
942 |
;; |
|
943 |
--without-win-sdk) win_sdk="no" |
|
944 |
;; |
|
930 | 945 |
--enable-tools) want_tools="yes" |
931 | 946 |
;; |
932 | 947 |
--disable-tools) want_tools="no" |
... | ... | |
1168 | 1183 |
echo " --enable-usb-redir enable usb network redirection support" |
1169 | 1184 |
echo " --disable-guest-agent disable building of the QEMU Guest Agent" |
1170 | 1185 |
echo " --enable-guest-agent enable building of the QEMU Guest Agent" |
1186 |
echo " --with-vss-sdk=SDK-path enable Windows VSS support in QEMU Guest Agent" |
|
1187 |
echo " --with-win-sdk=SDK-path path to Windows Platform SDK (to build VSS .tlb)" |
|
1171 | 1188 |
echo " --disable-seccomp disable seccomp support" |
1172 | 1189 |
echo " --enable-seccomp enables seccomp support" |
1173 | 1190 |
echo " --with-coroutine=BACKEND coroutine backend. Supported options:" |
... | ... | |
3132 | 3149 |
fi |
3133 | 3150 |
|
3134 | 3151 |
########################################## |
3152 |
# check if we have VSS SDK headers for win |
|
3153 |
|
|
3154 |
if test "$mingw32" = "yes" -a "$guest_agent" != "no" -a "$vss_win32_sdk" != "no" ; then |
|
3155 |
case "$vss_win32_sdk" in |
|
3156 |
"") vss_win32_include="-I$source_path" ;; |
|
3157 |
*\ *) # The SDK is installed in "Program Files" by default, but we cannot |
|
3158 |
# handle path with spaces. So we symlink the headers into ".sdk/vss". |
|
3159 |
vss_win32_include="-I$source_path/.sdk/vss" |
|
3160 |
symlink "$vss_win32_sdk/inc" "$source_path/.sdk/vss/inc" |
|
3161 |
;; |
|
3162 |
*) vss_win32_include="-I$vss_win32_sdk" |
|
3163 |
esac |
|
3164 |
cat > $TMPC << EOF |
|
3165 |
#define __MIDL_user_allocate_free_DEFINED__ |
|
3166 |
#include <inc/win2003/vss.h> |
|
3167 |
int main(void) { return VSS_CTX_BACKUP; } |
|
3168 |
EOF |
|
3169 |
if compile_prog "$vss_win32_include" "" ; then |
|
3170 |
guest_agent_with_vss="yes" |
|
3171 |
QEMU_CFLAGS="$QEMU_CFLAGS $vss_win32_include" |
|
3172 |
libs_qga="-lole32 -loleaut32 -lshlwapi -luuid -lstdc++ -Wl,--enable-stdcall-fixup $libs_qga" |
|
3173 |
else |
|
3174 |
if test "$vss_win32_sdk" != "" ; then |
|
3175 |
echo "ERROR: Please download and install Microsoft VSS SDK:" |
|
3176 |
echo "ERROR: http://www.microsoft.com/en-us/download/details.aspx?id=23490" |
|
3177 |
echo "ERROR: On POSIX-systems, you can extract the SDK headers by:" |
|
3178 |
echo "ERROR: scripts/extract-vsssdk-headers setup.exe" |
|
3179 |
echo "ERROR: The headers are extracted in the directory \`inc'." |
|
3180 |
feature_not_found "VSS support" |
|
3181 |
fi |
|
3182 |
guest_agent_with_vss="no" |
|
3183 |
fi |
|
3184 |
fi |
|
3185 |
|
|
3186 |
########################################## |
|
3187 |
# lookup Windows platform SDK (if not specified) |
|
3188 |
# The SDK is needed only to build .tlb (type library) file of guest agent |
|
3189 |
# VSS provider from the source. It is usually unnecessary because the |
|
3190 |
# pre-compiled .tlb file is included. |
|
3191 |
|
|
3192 |
if test "$mingw32" = "yes" -a "$guest_agent" != "no" -a "$guest_agent_with_vss" = "yes" ; then |
|
3193 |
if test -z "$win_sdk"; then |
|
3194 |
programfiles="$PROGRAMFILES" |
|
3195 |
test -n "$PROGRAMW6432" && programfiles="$PROGRAMW6432" |
|
3196 |
if test -n "$programfiles"; then |
|
3197 |
win_sdk=$(ls -d "$programfiles/Microsoft SDKs/Windows/v"* | tail -1) 2>/dev/null |
|
3198 |
else |
|
3199 |
feature_not_found "Windows SDK" |
|
3200 |
fi |
|
3201 |
elif test "$win_sdk" = "no"; then |
|
3202 |
win_sdk="" |
|
3203 |
fi |
|
3204 |
fi |
|
3205 |
|
|
3206 |
########################################## |
|
3135 | 3207 |
|
3136 | 3208 |
########################################## |
3137 | 3209 |
# check if we have fdatasync |
... | ... | |
3568 | 3640 |
echo "ELF interp prefix $interp_prefix" |
3569 | 3641 |
else |
3570 | 3642 |
echo "local state directory queried at runtime" |
3643 |
echo "Windows SDK $win_sdk" |
|
3571 | 3644 |
fi |
3572 | 3645 |
echo "Source path $source_path" |
3573 | 3646 |
echo "C compiler $cc" |
... | ... | |
3654 | 3727 |
echo "GLX support $glx" |
3655 | 3728 |
echo "libiscsi support $libiscsi" |
3656 | 3729 |
echo "build guest agent $guest_agent" |
3730 |
echo "QGA VSS support $guest_agent_with_vss" |
|
3657 | 3731 |
echo "seccomp support $seccomp" |
3658 | 3732 |
echo "coroutine backend $coroutine" |
3659 | 3733 |
echo "GlusterFS support $glusterfs" |
... | ... | |
3728 | 3802 |
version_micro=0 |
3729 | 3803 |
echo "CONFIG_FILEVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak |
3730 | 3804 |
echo "CONFIG_PRODUCTVERSION=$version_major,$version_minor,$version_subminor,$version_micro" >> $config_host_mak |
3805 |
if test "$guest_agent_with_vss" = "yes" ; then |
|
3806 |
echo "CONFIG_QGA_VSS=y" >> $config_host_mak |
|
3807 |
echo "WIN_SDK=\"$win_sdk\"" >> $config_host_mak |
|
3808 |
fi |
|
3731 | 3809 |
else |
3732 | 3810 |
echo "CONFIG_POSIX=y" >> $config_host_mak |
3733 | 3811 |
fi |
Also available in: Unified diff