Kaydet (Commit) f0687908 authored tarafından Jesús Corrius's avatar Jesús Corrius Kaydeden (comit) Fridrich Štrba

Enable Microsoft Visual C++ 10 compiler in the build system

üst 5270167c
...@@ -1848,13 +1848,13 @@ if test "$_os" = "WINNT"; then ...@@ -1848,13 +1848,13 @@ if test "$_os" = "WINNT"; then
AC_MSG_RESULT([done]) AC_MSG_RESULT([done])
dnl =========================================================== dnl ===========================================================
dnl Check for mspdb71.dll/mspdb80.dll dnl Check for mspdb71.dll/mspdb80.dll/mspdb100.dll
dnl =========================================================== dnl ===========================================================
dnl .NET 2003/5/8 Compiler dnl .NET 2003/5/8/10 Compiler
if test -n "$with_mspdb_path";then if test -n "$with_mspdb_path";then
with_mspdb_path=`cygpath -u "$with_mspdb_path"` with_mspdb_path=`cygpath -u "$with_mspdb_path"`
fi 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" MSPDB_PATH="$with_mspdb_path"
fi fi
dnl .NET 2003 case dnl .NET 2003 case
...@@ -1869,16 +1869,21 @@ if test "$_os" = "WINNT"; then ...@@ -1869,16 +1869,21 @@ if test "$_os" = "WINNT"; then
if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then if test -z "$MSPDB_PATH" -a -e "$with_cl_home/bin/mspdb80.dll"; then
MSPDB_PATH="$with_cl_home/bin" MSPDB_PATH="$with_cl_home/bin"
fi 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 if test -z "$MSPDB_PATH";then
dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty dnl AC_PATH_PROG only checks if MSPDB_PATH is still empty
AC_PATH_PROG(MSPDB_PATH, mspdb80.dll) AC_PATH_PROG(MSPDB_PATH, mspdb80.dll)
AC_PATH_PROG(MSPDB_PATH, mspdb71.dll) AC_PATH_PROG(MSPDB_PATH, mspdb71.dll)
AC_PATH_PROG(MSPDB_PATH, mspdb100.dll)
MSPDB_PATH=`dirname "$MSPDB_PATH"` MSPDB_PATH=`dirname "$MSPDB_PATH"`
fi fi
if test -z "$MSPDB_PATH"; then 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 fi
MSPDB_PATH=`cygpath -d "$MSPDB_PATH"` MSPDB_PATH=`cygpath -d "$MSPDB_PATH"`
MSPDB_PATH=`cygpath -u "$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 ...@@ -1911,7 +1916,11 @@ dnl The following find microsoft, matches nn.nn.nnnn then pulls numbers out
} }
}"` }"`
AC_MSG_RESULT([found Compiler version $CCNUMVER.]) 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 COMEX=12
MSVSVER=2008 MSVSVER=2008
AC_MSG_RESULT([found .NET 2008 / VS 9.0.]) 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 ...@@ -1924,7 +1933,7 @@ dnl The following find microsoft, matches nn.nn.nnnn then pulls numbers out
MSVSVER=2003 MSVSVER=2003
AC_MSG_RESULT([found .NET 2003.]) AC_MSG_RESULT([found .NET 2003.])
else 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 fi
else else
AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.]) AC_MSG_ERROR([Microsoft C/C++ Compiler not found. Use --with-cl-home or set path to cl.exe.])
......
...@@ -198,9 +198,25 @@ my %msvc_express_2008 = ( ...@@ -198,9 +198,25 @@ my %msvc_express_2008 = (
'dll_suffix' => '90' '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() 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) for $ver (@ms_versions)
{ {
...@@ -215,7 +231,7 @@ sub find_msvs() ...@@ -215,7 +231,7 @@ sub find_msvs()
sub find_msvc() 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) for $ver (@ms_versions)
{ {
...@@ -316,7 +332,7 @@ sub msvc_copy_dlls($) ...@@ -316,7 +332,7 @@ sub msvc_copy_dlls($)
$dest . $ver->{'dll_suffix'}); $dest . $ver->{'dll_suffix'});
copy_dll ($srcdir, "msvcr" . $ver->{'dll_suffix'} . ".dll", copy_dll ($srcdir, "msvcr" . $ver->{'dll_suffix'} . ".dll",
$dest . $ver->{'dll_suffix'}); $dest . $ver->{'dll_suffix'});
if ($ver->{'dll_suffix'} >= 90) { if ($ver->{'dll_suffix'} == 90) {
copy_dll ($srcdir, "msvcm" . $ver->{'dll_suffix'} . ".dll", copy_dll ($srcdir, "msvcm" . $ver->{'dll_suffix'} . ".dll",
$dest . $ver->{'dll_suffix'}); $dest . $ver->{'dll_suffix'});
copy_dll ($srcdir, "Microsoft.VC90.CRT.manifest", $dest . $ver->{'dll_suffix'}); copy_dll ($srcdir, "Microsoft.VC90.CRT.manifest", $dest . $ver->{'dll_suffix'});
......
...@@ -988,7 +988,7 @@ File gid_File_Dl_Stlport ...@@ -988,7 +988,7 @@ File gid_File_Dl_Stlport
Name = SCP2_URE_DL_NORMAL("stlport_sunpro"); Name = SCP2_URE_DL_NORMAL("stlport_sunpro");
#endif #endif
#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 #if defined _STLP_DEBUG
Name = SCP2_URE_DL_NORMAL("stlport_vc71_stldebug45"); Name = SCP2_URE_DL_NORMAL("stlport_vc71_stldebug45");
#else #else
......
...@@ -685,6 +685,10 @@ elsif ( $platform =~ m/cygwin/ ) ...@@ -685,6 +685,10 @@ elsif ( $platform =~ m/cygwin/ )
$CVER = "M1400"; $CVER = "M1400";
} elsif ( "@COMEX@" eq "12" ) { } elsif ( "@COMEX@" eq "12" ) {
$CVER = "M1500"; $CVER = "M1500";
} elsif ( "@COMEX@" eq "13" ) {
$CVER = "M1600";
$ATL_LIB = $COMPATH.$ds."atlmfc".$ds."lib";
$ATL_INCLUDE = $COMPATH.$ds."atlmfc".$ds."include";
} else { # Unsupported } else { # Unsupported
die "Unsupported value for COMEX variable.\n"; die "Unsupported value for COMEX variable.\n";
} }
......
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