//	#define _MSL_DEBUG

	#define _MSL_USING_GCC_C
	#define _MSL_USING_NAMESPACE

//	#define _MSL_NO_EXCEPTIONS
//	#define _MSL_NO_BOOL
//	#define _MSL_NO_WCHART_LANG_SUPPORT

	#define _MSL_NO_WCHART_C_SUPPORT
	#define _MSL_LONGLONG 1
	#define _MSL_LITTLE_ENDIAN 1
	#define _MSL_CANT_THROW
	#define _MSL_NO_TEMPLATE_FRIENDS

	#define _MSL_THREADSAFE 1

	#if _MSL_THREADSAFE
		// Recompile the C++ lib when flipping this switch
		#ifndef _MSL_SINGLE_THREAD
			#ifndef _MSL_USE_PTHREADS
				#define _MSL_USE_PTHREADS
			#endif
		#endif  // _MSL_SINGLE_THREAD
	#endif  // _MSL_THREADSAFE

	#define _MSL_HAS_GETTIMEOFDAY

	// _MSL_SHARED_PTR_HAS_MUTEX
	// When defined, std::tr1::shared_ptr has an internal mutex per shared count
	// that will protect the count in a multi-threaded program.  This is not
	// turned on by default even when in multi-threaded mode because it may be
	// more effcient to protect the shared_ptr at a higher level, or not at all
	// if it is not used across threads.  Recompile the C++ lib when flipping this
	// switch.
//	#define _MSL_SHARED_PTR_HAS_MUTEX

	// _MSL_MINIMUM_NAMED_LOCALE when defined, turns off all of the named locale
	// stuff except for "C" and "" (which will be the same as "C")
//	#define _MSL_MINIMUM_NAMED_LOCALE

	// _MSL_NO_LOCALE will create a C++ lib which does not have locale capability
	// This will reduce the size of the lib for those apps not wishing to take
	// advantage of this part of the C++ lib.  Code savings can be on the order of
	// 50 to 80 Kb.  This switch should also be set when building the C++ lib as a
	// shared lib.
	// Recompile the C++ lib when flipping this switch
//	#define _MSL_NO_LOCALE

	// _MSL_EXTENDED_PRECISION_OUTP allows the output of floating point output to
	// be printed with precision greater than DECIMAL_DIG.  With this option, an
	// exact binary to decimal conversion can be performed (by bumping precision
	// high enough).  The cost is about 5-6Kb in code size.
	// Recompile the C++ lib when flipping this switch
//	#define _MSL_EXTENDED_PRECISION_OUTP

	// _Inhibit_Container_Optimization, if uncommented will disable pointer
	// specializations in the containers.  This may make debugging easier.
	// Recompile the C++ lib when flipping this switch
	#define _Inhibit_Container_Optimization

	// _MSL_NO_VECTOR_BOOL, if uncommented will disable the standard vector<bool>
	// partial specialization.  You can still instantiate vector<bool>, but it will
	// not have the space optimization of one bool per bit.  No need to recompile
	// the C++ lib when flipping this switch, but do remake any precompiled headers
	// you might be using.
//	#define _MSL_NO_VECTOR_BOOL

	// _Inhibit_Optimize_RB_bit is a space optimization that compacts the red/black
	// flag with the parent pointer in each node.  By uncommenting this
	// define, the optimization is turned off, and the red/black flag will
	// be stored as an enum in each node.
//	#define _Inhibit_Optimize_RB_bit

//	#define _MSL_ARRAY_AUTO_PTR

	// _MSL_USE_AUTO_PTR_96 will disable the standard auto_ptr and enable the
	// version of auto_ptr that appeared in the Dec. '96 CD2.
//	#define _MSL_USE_AUTO_PTR_96

	// _MSL_EXTENDED_BINDERS adds defaulted template parameters to binder1st
	// and binder2nd.  This allows client code to alter the type of the value
	// that is stored.  This is especially useful when you want the binder to
	// store the value by const reference instead of by value to save on an
	// expensive copy construction.  This also allows for the use of polymorphic
	// operators by specifying reference types for the operator.
//	#define _MSL_EXTENDED_BINDERS

	// _MSL_RAW_ITERATORS if defined will cause string and vector to use pointers
	// for their iterators, else nested classes are used.  The nested classes behave
	// a little better with respect to Koenig lookup.
//	#define _MSL_RAW_ITERATORS

//	#define _MSL_NO_TEMPLATE_FRIENDS
//	#define _MSL_NO_THROW_SPECS
//	#define _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
//	#define _MSL_MUST_INLINE_MEMBER_TEMPLATE

//	#define _MSL_NO_IO
//	#define _MSL_NO_FILE_IO
//	#define _MSL_NO_CONSOLE_IO
//	#define _MSL_POSIX_STREAM
//	#define _MSL_CFILE_STREAM
//	#define _MSL_WIDE_FILENAME

	// Define _MSL_LL_FILE_SUPPORT to 0 to insist that streamoff be defined as a long
	// Define _MSL_LL_FILE_SUPPORT to 1 to insist that streamoff be defined as a long long
	// Leave _MSL_LL_FILE_SUPPORT undefined to let the library decide what it will be.  The
	// library will make streamoff a long long if long long support is enabled.
//	#define _MSL_LL_FILE_SUPPORT 0
//	#define _MSL_LL_FILE_SUPPORT 1

//	#define _MSL_NO_FLOATING_POINT
