Blitz logo

Blitz Support :

From: Toby Walsh (twalsh_at_[hidden])
Date: 2004-05-10 03:39:48


Hi all,

I've got a favour to ask. I'm trying to port a project across to Windows
and I'm using the Visual C++ Toolkit (the VC++ 7.1 free download). Problem
is, it's a command line compiler and it only has support for Makefiles. So,
I can compile all the compiler tests no problem. I also generated a
config.h with bzconfig (attached below). But I can't compile the Blitz++
sources because there's no Visual C++ friendly Makefile. It should be easy
to do for people with the Visual C++ IDE. There's an option that allows
creation of Makefiles from a project. It's a matter of checking a box IIRC.
Then you could add that to your distribution along with the other Visual
C++.NET files.

One more thing - I don't know how this affects the build process - bzconfig
detects no IEEE math library. AFAIK, Visual C++ has it built in. So,
instead of -lm for Unix flavours to compile, you don't need to specify a
library at the command line. If someone provides a Makefile I'll try
changing the HAVE_IEEE_MATH flag to see if it changes compilation
success/failure.

#ifndef BZ_CONFIG_H
#define BZ_CONFIG_H

#define BZ_COMPILER_NAME "cl"
#define BZ_COMPILER_OPTIONS "/GR /EHsc /G7 /O2 /arch:SSE2"
#define BZ_OS_NAME "CYGWIN_NT-5.1 1.3.22(0.78/3/2)"
#define BZ_BZCONFIG_DATE "Mon May 10 15:57:06 WAST 2004"
#define BZ_PLATFORM "i686-pc-cygwin"

#define BZ_NAMESPACES
#define BZ_EXCEPTIONS
#define BZ_RTTI
#define BZ_MEMBER_CONSTANTS
#define BZ_OLD_FOR_SCOPING
#define BZ_EXPLICIT
#define BZ_MUTABLE
#define BZ_TYPENAME
#undef BZ_NCEG_RESTRICT
#undef BZ_NCEG_RESTRICT_EGCS
#define BZ_BOOL
#define BZ_CONST_CAST
#define BZ_STATIC_CAST
#define BZ_REINTERPRET_CAST
#define BZ_DYNAMIC_CAST
#define BZ_TEMPLATES
#define BZ_PARTIAL_SPECIALIZATION
#define BZ_PARTIAL_ORDERING
#define BZ_DEFAULT_TEMPLATE_PARAMETERS
#define BZ_MEMBER_TEMPLATES
#define BZ_MEMBER_TEMPLATES_OUTSIDE_CLASS
#define BZ_FULL_SPECIALIZATION_SYNTAX
#define BZ_FUNCTION_NONTYPE_PARAMETERS
#define BZ_TEMPLATE_QUALIFIED_BASE_CLASS
#define BZ_TEMPLATE_QUALIFIED_RETURN_TYPE
#define BZ_EXPLICIT_TEMPLATE_FUNCTION_QUALIFICATION
#define BZ_TEMPLATES_AS_TEMPLATE_ARGUMENTS
#define BZ_TEMPLATE_KEYWORD_QUALIFIER
#define BZ_TEMPLATE_SCOPED_ARGUMENT_MATCHING
#define BZ_TYPE_PROMOTION
#define BZ_USE_NUMTRAIT
#define BZ_ENUM_COMPUTATIONS
#define BZ_ENUM_COMPUTATIONS_WITH_CAST
#define BZ_HAVE_COMPLEX
#define BZ_HAVE_NUMERIC_LIMITS
#define BZ_HAVE_CLIMITS
#define BZ_HAVE_VALARRAY
#define BZ_HAVE_COMPLEX_MATH
#undef BZ_HAVE_IEEE_MATH
#undef BZ_HAVE_SYSTEM_V_MATH
#define BZ_MATH_FN_IN_NAMESPACE_STD
#define BZ_COMPLEX_MATH_IN_NAMESPACE_STD
#define BZ_HAVE_STD
#define BZ_HAVE_STL
#undef BZ_HAVE_RUSAGE

#endif // BZ_CONFIG_H

Thanks in advance,
Toby