CodeTitans Libraries build flags explained

Across the sources of CodeTitans Libraries following build flags are used. Their purpose is to let some conditional code selection based mostly on the destination platform, while still keeping the public API consistent.

Build flags:
  • CODETITANS_LIB_CORE - defined when building Core@CodeTitans library; the main idea behind is to let change the namespace and visibility of some classes that are shared between Core and other libraries
  • DEBUG - defined, when debug builds are performed
  • DISABLE_INTERLOCKED - when defined, forces some classes to stop using Interlocked helper methods as some platforms might not support them (especially useful in Mono builds, when the library is used in conjunction with Xamarin AOT compiler and can be deployed on iOS, which doesn't support it)
  • NET_2_COMPATIBLE - defined to disable features, that were introduced into C# along in 3.0, 3.5 and 4.0 .NET Framework versions and won't be available in Mono and Windows Mobile (PocketPC) builds; it is related mostly to event dispatchers
  • NUNIT - defined for Mono unit-test projects to switch testing framework to nUnit (Visual Studio Test Framework is default one)
  • PocketPC - defined in Windows Mobile builds only
  • SILVERLIGHT - defined for desktop and Windows Phone builds for Silverlight
  • TRACE - defined, enables logging; if disabled, all calls to DebugLog class will be stripped off the resulting library
  • WINDOWS_PHONE - defined, when building Windows Phone library

Last edited May 26, 2012 at 6:29 PM by FeydRauth, version 2

Comments

No comments yet.