Kaydet (Commit) f351c139 authored tarafından Christian Lohmaier's avatar Christian Lohmaier Kaydeden (comit) Fridrich Strba

allow to build for Windows XP when using Visual Studio 2012

VS 2012 Update 1 added the possibility to target Windows XP by using a
SDK that is based on the Windows 7 one.
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

This patch probably should not be integrated as is, as it disables a
test that fails in this configuration (CppunitTest_connectivity_ado)

Change-Id: I3ba8723882452950c40049ccdc95b04c60862cbf
Reviewed-on: https://gerrit.libreoffice.org/4966Reviewed-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
Tested-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
üst d739440d
......@@ -72,7 +72,7 @@
typedef IDirectDrawSurface surface_type;
#elif WIN8_SDK == 1 //Windows 8 SDK
#elif WIN8_SDK == 1 || defined(_USING_V110_SDK71_)
#include <d3d9.h>
......
......@@ -3250,7 +3250,7 @@ if test "$_os" = "WINNT"; then
;;
110)
COMEX=14
WINDOWS_SDK_ACCEPTABLE_VERSIONS="8.0"
WINDOWS_SDK_ACCEPTABLE_VERSIONS="8.0 7.1A"
;;
esac
......@@ -9234,6 +9234,13 @@ the Windows SDK are installed.])
elif echo $WINDOWS_SDK_HOME | grep "8.0" >/dev/null 2>/dev/null; then
WINDOWS_SDK_VERSION=80
AC_MSG_RESULT([found Windows SDK 8.0 ($WINDOWS_SDK_HOME)])
# compatibility warning if usind VS 2012 and not explicitly choosing the 80 SDK
if test "$VCVER" = "110" -a -z "$with_windows_sdk"; then
AC_MSG_WARN([If a build created with VS 2012 should run on Windows XP,])
AC_MSG_WARN([use --with-windows-sdk=7.1A (requires VS 2012 Update 1 or newer)])
add_warning "If a build created with VS 2012 should run on Windows XP,"
add_warning "use --with-windows-sdk=7.1A (requires VS 2012 Update 1 or newer)"
fi
else
AC_MSG_ERROR([Found legacy Windows Platform SDK ($WINDOWS_SDK_HOME)])
fi
......@@ -9258,6 +9265,9 @@ the Windows SDK are installed.])
if ! test -e "$WINDOWS_SDK_WILANGID" ; then
WINDOWS_SDK_WILANGID=$WINDOWS_SDK_HOME/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs
fi
if ! test -e "$WINDOWS_SDK_WILANGID" ; then
WINDOWS_SDK_WILANGID=$(cygpath -sm "C:/Program Files (x86)/Windows Kits/8.0/bin/$WINDOWS_SDK_ARCH/WiLangId.vbs")
fi
if ! test -e "$WINDOWS_SDK_WILANGID" ; then
AC_MSG_WARN([WiLangId.vbs not found - building translated packages will fail])
add_warning "WiLangId.vbs not found - building translated packages will fail"
......
......@@ -131,10 +131,21 @@ $(eval $(call gb_Module_add_check_targets,connectivity,\
endif
ifeq ($(OS),WNT)
# HACK: FIXME: TODO: only disabled to not make the build fail when targeting Win XP with VS 2012
#warn:legacy.osl:2120:7064:connectivity/source/commontools/dbmetadata.cxx:177: caught an exception!
#in function:const class rtl::OUString &__cdecl dbtools::`anonymous-namespace'::lcl_getConnectionStringSetting(const struct dbtools::DatabaseMetaData_Impl &,class boost::optional<class rtl::OUString> &,class rtl::OUString (__cdecl com::sun::star::sdbc::XDatabaseMetaData::* )(void))
#type: com.sun.star.sdbc.SQLException
#message: Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Pr�fen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet .
#context: class connectivity::ado::ODatabaseMetaData
#
#Assertion failed: this->is_initialized(), file C:\cygwin\home\buildslave\build\workdir\wntmsci14.pro\UnpackedTarball\boost\boost/optional/optional.hpp, line 638
ifneq ($(VCVER)_$(WINDOWS_SDK_VERSION),110_70)
$(eval $(call gb_Module_add_check_targets,connectivity,\
CppunitTest_connectivity_ado \
))
endif
endif
ifneq ($(filter QADEVOOO,$(BUILD_TYPE)),)
$(eval $(call gb_Module_add_subsequentcheck_targets,connectivity,\
......
......@@ -48,6 +48,7 @@ gb_COMPILERDEFS := \
-D_DLL \
-DCPPU_ENV=$(gb_CPPU_ENV) \
-DM1500 \
$(if $(findstring 110_70,$(VCVER)_$(WINDOWS_SDK_VERSION)),-D_USING_V110_SDK71_) \
ifeq ($(CPUNAME),INTEL)
gb_COMPILERDEFS += \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment