From f06879087e872786f56084f504f3296ee79a0ee5 Mon Sep 17 00:00:00 2001 From: Jesús Corrius Date: Fri, 15 Oct 2010 01:36:09 +0200 Subject: Enable Microsoft Visual C++ 10 compiler in the build system --- configure.in | 21 +++++++++++++++------ oowintool | 22 +++++++++++++++++++--- scp2/source/ooo/ure.scp | 2 +- set_soenv.in | 4 ++++ 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/configure.in b/configure.in index 1ce2cf68cf35..89562460da81 100644 --- a/configure.in +++ b/configure.in @@ -1848,13 +1848,13 @@ if test "$_os" = "WINNT"; then AC_MSG_RESULT([done]) dnl =========================================================== - dnl Check for mspdb71.dll/mspdb80.dll + dnl Check for mspdb71.dll/mspdb80.dll/mspdb100.dll dnl =========================================================== - dnl .NET 2003/5/8 Compiler + dnl .NET 2003/5/8/10 Compiler if test -n "$with_mspdb_path";then with_mspdb_path=`cygpath -u "$with_mspdb_path"` fi - if test -e "$with_mspdb_path/mspdb71.dll" -o -e "$with_mspdb_path/mspdb80.dll"; then + if test -e "$with_mspdb_path/mspdb71.dll" -o -e "$with_mspdb_path/mspdb80.dll" -o -e "$with_mspdb_path/mspdb100.dll"; then MSPDB_PATH="$with_mspdb_path" fi dnl .NET 2003 case @@ -1869,16 +1869,21 @@ if test "$_os" = "WINNT"; then if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then MSPDB_PATH="$with_cl_home/bin" fi + dnl .NET 2010 case + if test -z "$MSPDB_PATH" -a -e "$with_cl_home/../Common7/IDE/mspdb100.dll"; then + MSPDB_PATH="$with_cl_home/../Common7/IDE" + fi if test -z "$MSPDB_PATH";then dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty AC_PATH_PROG(MSPDB_PATH, mspdb80.dll) AC_PATH_PROG(MSPDB_PATH, mspdb71.dll) + AC_PATH_PROG(MSPDB_PATH, mspdb100.dll) MSPDB_PATH=`dirname "$MSPDB_PATH"` fi if test -z "$MSPDB_PATH"; then - AC_MSG_ERROR([You need a mspdb71.dll/mspdb80.dll, make sure it's in the path or use --with-mspdb-path]) + AC_MSG_ERROR([You need a mspdb71.dll/mspdb80.dll/mspdb100.dll, make sure it's in the path or use --with-mspdb-path]) fi MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -u "$MSPDB_PATH"` @@ -1911,7 +1916,11 @@ dnl The following find microsoft, matches nn.nn.nnnn then pulls numbers out } }"` AC_MSG_RESULT([found Compiler version $CCNUMVER.]) - if test "$CCNUMVER" -ge "001500000000"; then + if test "$CCNUMVER" -ge "001600000000"; then + COMEX=13 + MSVSVER=2010 + AC_MSG_RESULT([found .NET 2010 / VS 10.0.]) + elif test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 AC_MSG_RESULT([found .NET 2008 / VS 9.0.]) @@ -1924,7 +1933,7 @@ dnl The following find microsoft, matches nn.nn.nnnn then pulls numbers out MSVSVER=2003 AC_MSG_RESULT([found .NET 2003.]) else - AC_MSG_ERROR([Compiler too old. Use Microsoft C/C++ .NET 2003/2005 compiler.]) + AC_MSG_ERROR([Compiler too old. Use Microsoft C/C++ .NET 2003/2005/2008/2010 compiler.]) fi else AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.]) diff --git a/oowintool b/oowintool index c02fc42661c5..890114a70994 100755 --- a/oowintool +++ b/oowintool @@ -198,9 +198,25 @@ my %msvc_express_2008 = ( 'dll_suffix' => '90' ); +my %msvs_2010 = ( + 'ver' => '10.0', + 'key' => 'Microsoft/VisualStudio/10.0/Setup/VS/ProductDir', + 'instmsi_path' => '?', + 'dll_path' => 'VC/redist/x86/Microsoft.VC100.CRT', + 'dll_suffix' => '100' +); + +my %msvc_2010 = ( + 'ver' => '10.0', + 'key' => 'Microsoft/VisualStudio/10.0/Setup/VC/ProductDir', + 'instmsi_path' => '?', + 'dll_path' => 'redist/x86/Microsoft.VC100.CRT', + 'dll_suffix' => '100' +); + sub find_msvs() { - my @ms_versions = ( \%msvs_2008, \%msvs_express_2008, \%msvs_2005, \%msvs_express_2005, \%msvs_net_2003_ea, \%msvs_net_2003 ); + my @ms_versions = ( \%msvs_2008, \%msvs_express_2008, \%msvs_2005, \%msvs_express_2005,\%msvs_net_2003_ea, \%msvs_net_2003, \%msvs_2010 ); for $ver (@ms_versions) { @@ -215,7 +231,7 @@ sub find_msvs() sub find_msvc() { - my @ms_versions = ( \%msvc_2008, \%msvc_express_2008, \%msvc_2005, \%msvc_express_2005, \%msvc_net_2003 ); + my @ms_versions = ( \%msvc_2008, \%msvc_express_2008, \%msvc_2005, \%msvc_express_2005, \%msvc_net_2003, \%msvc_2010 ); for $ver (@ms_versions) { @@ -316,7 +332,7 @@ sub msvc_copy_dlls($) $dest . $ver->{'dll_suffix'}); copy_dll ($srcdir, "msvcr" . $ver->{'dll_suffix'} . ".dll", $dest . $ver->{'dll_suffix'}); - if ($ver->{'dll_suffix'} >= 90) { + if ($ver->{'dll_suffix'} == 90) { copy_dll ($srcdir, "msvcm" . $ver->{'dll_suffix'} . ".dll", $dest . $ver->{'dll_suffix'}); copy_dll ($srcdir, "Microsoft.VC90.CRT.manifest", $dest . $ver->{'dll_suffix'}); diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp index 131562c6a102..f0f294a4edfd 100755 --- a/scp2/source/ooo/ure.scp +++ b/scp2/source/ooo/ure.scp @@ -988,7 +988,7 @@ File gid_File_Dl_Stlport Name = SCP2_URE_DL_NORMAL("stlport_sunpro"); #endif #endif -#elif defined WNT && (defined(M1310) || defined(M1400) || defined(M1500) ) +#elif defined WNT && (defined(M1310) || defined(M1400) || defined(M1500) || defined (M1600) ) #if defined _STLP_DEBUG Name = SCP2_URE_DL_NORMAL("stlport_vc71_stldebug45"); #else diff --git a/set_soenv.in b/set_soenv.in index 06316658227b..d45b8599b64a 100644 --- a/set_soenv.in +++ b/set_soenv.in @@ -685,6 +685,10 @@ elsif ( $platform =~ m/cygwin/ ) $CVER = "M1400"; } elsif ( "@COMEX@" eq "12" ) { $CVER = "M1500"; + } elsif ( "@COMEX@" eq "13" ) { + $CVER = "M1600"; + $ATL_LIB = $COMPATH.$ds."atlmfc".$ds."lib"; + $ATL_INCLUDE = $COMPATH.$ds."atlmfc".$ds."include"; } else { # Unsupported die "Unsupported value for COMEX variable.\n"; } -- cgit