Blitz logo

Blitz Support :

From: Toby Walsh (twalsh_at_[hidden])
Date: 2004-06-07 21:19:50


Hi Julian,

Thanks for the reply. I ended up getting the full version of Visual C++.Net
2003 so no problem. But a Makefile may be something you could look into in
the future. You were right in assuming it uses nmake.exe. My old version of
Visual C++ 6.0 had the Makefile export option IIRC, but you were right
again in thinking it's been dropped in the new version. Just FYI, the
Visual C++ toolkit is the command line compiler part of VC++.Net which
Microsoft released a free version of recently. It's the full optimizing
compiler but comes without the IDE or any of the Microsoft SDK or .Net
framework. I think that all libraries etc can probably be downloaded from
MSDN for free also - you just miss out on the IDE.

Toby

At 07:12 PM 6/7/2004 -0700, Julian C. Cummings wrote:
>Hi Toby,
>
>Sorry for the lengthy delay in replying to your question. I'm not so
>familiar with the VC++ toolkit that you describe. Does it use the Microsoft
>nmake.exe program or does it use a bona-fide Unix make utility? I think
>there are some subtle differences in the syntax accepted by nmake and make.
>I vaguely recall what you mentioned about checking off a box to tell a VC++
>project to dump out a Makefile suitable for nmake.exe to run. But I think
>this feature may have been discontinued in the move to VS.NET. At least, I
>don't see this feature in the VS.NET IDE that I have. They do have a
>"Makefile project", but all this is is a VS.NET project that will run an
>nmake command for you. It does not create the Makefile for you.
>
>In any case, I have an idea of what the Makefile for the blitz library would
>look like. The default target is lib/blitz.lib, which depends on
>Release/globals.obj and is created using the lib.exe command. In turn,
>Release/globals.obj depends on src/globals.cpp and is created using the
>cl.exe command along with all your compiler options. I'm sorry that I don't
>have a simple way to generate the nmake Makefile for you, but I think it's
>fairly simple to write it manually.
>
>As for the IEEE math library issue, I think it is OK to leave this as
>undefined in the config.h file. Please see the blitz/config-VS.NET2003.h
>file for an example of config.h contents that have been known to work with
>the MS VC++ compiler in the past.
>
>Regards, Julian C.
>
>
> > -----Original Message-----
> > From: blitz-support-bounces_at_[hidden]
> > [mailto:blitz-support-bounces_at_[hidden]] On Behalf Of Toby Walsh
> > Sent: Monday, May 10, 2004 1:40 AM
> > To: blitz-support_at_[hidden]
> > Subject: [Blitz-support] Visual C++ Toolkit Makefile?
> >
> >
> > 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
> >
> >
> > _______________________________________________
> > Blitz-support mailing list
> > Blitz-support_at_[hidden]
> > http://www.oonumerics.org/mailman/listinfo.cgi/blitz-support
> >