// 3.0.4 std ext/hash_map
// 3.1 __gnu_cxx ext/hash_map
// HP aCC6 std stdex/rw/hashm*ap.h
-//
+// MS VC++ stdext hash_map
#undef HAVE_GNU_EXT_HASH_MAP
#undef HAVE_STD_EXT_HASH_MAP
# define HASH_NAMESPACE std
# endif
+// Support Microsoft VC++.
+#elif defined(_MSC_VER)
+# include <hash_map>
+# ifndef HASH_NAMESPACE
+# define HASH_NAMESPACE stdext
+ using std::_Distance;
+# endif
+
// Give a warning if we couldn't find it, instead of (or in addition to)
// randomly doing something dumb.
#else
} // end HASH_NAMESPACE;
#endif
-using HASH_NAMESPACE::hash_map;
-using HASH_NAMESPACE::hash_multimap;
-using HASH_NAMESPACE::hash;
-
// Include vector because ext/hash_map includes stl_vector.h and leaves
// out specializations like stl_bvector.h, causing link conflicts.
#include <vector>
#endif
+using HASH_NAMESPACE::hash_map;
+using HASH_NAMESPACE::hash_multimap;
+using HASH_NAMESPACE::hash;
+
#include "llvm/ADT/HashExtras.h"
#endif
// 3.0.4 std ext/hash_set
// 3.1 __gnu_cxx ext/hash_set
// HP aCC6 std stdex/rw/hashset.h
-//
+// MS VC++ stdext hash_map
#undef HAVE_GNU_EXT_HASH_SET
#undef HAVE_STD_EXT_HASH_SET
# define HASH_NAMESPACE std
# endif
+// Support Microsoft VC++.
+#elif defined(_MSC_VER)
+# include <hash_set>
+# ifndef HASH_NAMESPACE
+# define HASH_NAMESPACE stdext
+# endif
+
// Give a warning if we couldn't find it, instead of (or in addition to)
// randomly doing something dumb.
#else
#endif
using HASH_NAMESPACE::hash_set;
-using HASH_NAMESPACE::hash;
// Include vector because ext/hash_set includes stl_vector.h and leaves
// out specializations like stl_bvector.h, causing link conflicts.
<Tool
Name="VCCustomBuildTool"
Description="Generating $(SolutionDir)llvm\Config\config.h"
- CommandLine="..\tools\sed <$(InputPath) >$(ProjectDir)..\llvm\Config\config.h "s/#undef PACKAGE_NAME/#define PACKAGE_NAME \"LLVM (win32 vc7.1)\"/;s/#undef PACKAGE_VERSION/#define PACKAGE_VERSION 1.4/;s/#undef HAVE_WINDOWS_H/#define HAVE_WINDOWS_H 1/;s/#undef HAVE_LIMITS_H/#define HAVE_LIMITS_H 1/;s/#undef HAVE_SYS_STAT_H/#define HAVE_SYS_STAT_H 1/;s/#undef HAVE_STDLIB_H/#define HAVE_STDLIB_H 1/;s/#undef HAVE_STDIO_H/#define HAVE_STDIO_H 1/;s/#undef HAVE_STRING_H/#define HAVE_STRING_H 1/;s/#undef SHLIBEXT/#define SHLIBEXT \".lib\"/;s/#undef error_t/#define error_t int/;s/#undef HAVE_ERRNO_H/#define HAVE_ERRNO_H 1/;s/#undef LTDL_DLOPEN_DEPLIBS/#define LTDL_DLOPEN_DEPLIBS 1/;s/#undef LTDL_OBJDIR/#define LTDL_OBJDIR \"_libs\"/;s/#undef LTDL_SHLIBPATH_VAR/#define LTDL_SHLIBPATH_VAR \"PATH\"/;s/#undef LTDL_SHLIB_EXT/#define LTDL_SHLIB_EXT \".dll\"/;s/#undef LTDL_SYSSEARCHPATH/#define LTDL_SYSSEARCHPATH \"\"/;s/#undef LLVM_ON_WIN32/#define LLVM_ON_WIN32 1/;"
-"
+ CommandLine="copy $(InputPath) $(ProjectDir)..\llvm\Config\config.h
+echo #define PACKAGE_NAME "LLVM (win32 vc7.1)" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define PACKAGE_VERSION 1.4 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_WINDOWS_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_LIMITS_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_SYS_STAT_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_STDLIB_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_STDIO_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_STRING_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define SHLIBEXT ".lib" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define error_t int >>$(ProjectDir)..\llvm\Config\config.h
+echo #define HAVE_ERRNO_H 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LTDL_DLOPEN_DEPLIBS 1 >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LTDL_OBJDIR "_libs" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LTDL_SHLIBPATH_VAR "PATH" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LTDL_SHLIB_EXT ".dll" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LTDL_SYSSEARCHPATH "" >>$(ProjectDir)..\llvm\Config\config.h
+echo #define LLVM_ON_WIN32 1 >>$(ProjectDir)..\llvm\Config\config.h"
Outputs="$(ProjectDir)..\llvm\Config\config.h"/>
</FileConfiguration>
</File>
<Tool
Name="VCCustomBuildTool"
Description="Generating $(SolutionDir)llvm\Support\DataTypes.h"
- CommandLine="..\tools\sed <$(InputPath) >$(ProjectDir)..\llvm\Support\DataTypes.h "s/#undef HAVE_SYS_TYPES_H/#define HAVE_SYS_TYPES_H 1/;s/#undef HAVE_INTTYPES_H/#define HAVE_INTTYPES_H 1/;s/#undef HAVE_STDINT_H/#define HAVE_STD_INT_H 1/"
-"
+ CommandLine="copy $(InputPath) $(ProjectDir)..\llvm\Support\DataTypes.h"
Outputs="$(ProjectDir)..\llvm\Support\DataTypes.h"/>
</FileConfiguration>
</File>
<Tool
Name="VCCustomBuildTool"
Description="Generating $(SolutionDir)llvm\ADT\hash_map"
- CommandLine="..\tools\sed <$(InputPath) >$(ProjectDir)..\llvm\ADT\hash_map "s/#undef HAVE_GLOBAL_HASH_MAP/#define HAVE_GLOBAL_HASH_MAP 1/;/using HASH_NAMESPACE\:\:hash;.*$/{D};s/define HASH_NAMESPACE std/define HASH_NAMESPACE stdext\nusing std::_Distance;/"
-"
+ CommandLine="copy $(InputPath) $(ProjectDir)..\llvm\ADT\hash_map"
Outputs="$(ProjectDir)..\llvm\ADT\hash_map"/>
</FileConfiguration>
</File>
<Tool
Name="VCCustomBuildTool"
Description="Generating $(SolutionDir)llvm\ADT\hash_set"
- CommandLine="..\tools\sed <$(InputPath) >$(ProjectDir)..\llvm\ADT\hash_set "s/#undef HAVE_GLOBAL_HASH_SET/#define HAVE_GLOBAL_HASH_SET 1/;/using HASH_NAMESPACE\:\:hash;.*$/{D};/#include.*HashExtras.*$/{D};s/define HASH_NAMESPACE std/define HASH_NAMESPACE stdext/"
-"
+ CommandLine="copy $(InputPath) $(ProjectDir)..\llvm\ADT\hash_set"
Outputs="$(ProjectDir)..\llvm\ADT\hash_set"/>
</FileConfiguration>
</File>
<Tool
Name="VCCustomBuildTool"
Description="Generating $(SolutionDir)llvm\ADT\iterator"
- CommandLine="..\tools\sed <$(InputPath) >$(ProjectDir)..\llvm\ADT\iterator "s/#undef HAVE_BI_ITERATOR/#define HAVE_BI_ITERATOR 0/;s/#undef HAVE_STD_ITERATOR/#define HAVE_STD_ITERATOR 1/;s/#undef HAVE_FWD_ITERATOR/#define HAVE_FWD_ITERATOR 0/"
-"
+ CommandLine="copy $(InputPath) $(ProjectDir)..\llvm\ADT\iterator"
Outputs="$(ProjectDir)..\llvm\ADT\iterator"/>
</FileConfiguration>
</File>