As for me, I counted current compilers.inc code not-optimal too so I redesigned
it. Haven't tested it with .Net or Linux (these targets use quite different
approach) but Windows versions seem working OK.
Here's my version:
// Compiler defines not specific to a particlular platform.
// BDS 2010 (BDS 7.0)
{$ifdef VER210}
{$define COMPILER_13}
{$define COMPILER_13_UP}
{$endif}
// BDS 2009 (BDS 6.0)
{$ifdef VER200}
{$define COMPILER_12}
{$define COMPILER_12_UP}
{$endif}
// BDS 2007 (BDS 5.0)
{$ifdef VER190}
{$define COMPILER_11}
{$define COMPILER_11_UP}
{$endif}
// BDS 2006 (BDS 4.0)
{$ifdef VER180}
{$define COMPILER_10}
{$define COMPILER_10_UP}
{$endif}
// DELPHI 9
{$ifdef VER170}
{$define COMPILER_9}
{$define COMPILER_9_UP}
{$endif}
// DELPHI 8
{$ifdef VER160}
{$define COMPILER_8}
{$define COMPILER_8_UP}
{$endif}
// DELPHI 7
{$ifdef VER150}
{$define COMPILER_7}
{$define COMPILER_7_UP}
{$endif}
// DELPHI/CPPB 6
{$ifdef VER140}
{$define COMPILER_6}
{$define COMPILER_6_UP}
{$endif}
// DELPHI/CPPB 5
{$ifdef VER130}
{$define COMPILER_5}
{$define COMPILER_5_UP}
{$endif}
// CPPB 4
{$ifdef VER125}
{$define COMPILER_4}
{$define COMPILER_4_UP}
{$endif}
// DELPHI 4
{$ifdef VER120}
{$define COMPILER_4}
{$define COMPILER_4_UP}
{$endif}
// CPPB 3
{$ifdef VER110}
{$define COMPILER_3}
{$define COMPILER_3_UP}
{$endif}
// DELPHI 3
{$ifdef VER100}
{$define COMPILER_3}
{$define COMPILER_3_UP}
{$endif}
// CPPB 1
{$ifdef VER93}
{$define COMPILER_2} // C++ Builder v1 compiler is really v2
{$define COMPILER_2_UP}
{$endif}
// DELPHI 2
{$ifdef VER90}
{$define COMPILER_2}
{$define COMPILER_2_UP}
{$endif}
// DELPHI 1
{$ifdef VER80}
{$define COMPILER_1}
{$define COMPILER_1_UP}
{$endif}
{$else (not Windows)}
// Linux is the target
{$define QT_CLX}
// KYLIX 1/2
{$ifdef VER140}
{$define COMPILER_6}
{$define COMPILER_6_UP}
{$endif}
// KYLIX 3
{$ifdef VER150}
{$define COMPILER_7}
{$define COMPILER_7_UP}
{$endif}
{$endif Win32}
//
{$ifdef COMPILER_13_UP}
{$define COMPILER_12_UP}
{$endif}
{$ifdef COMPILER_12_UP}
{$define COMPILER_11_UP}
{$endif}
{$ifdef COMPILER_11_UP}
{$define COMPILER_10_UP}
{$endif}
{$ifdef COMPILER_10_UP}
{$define COMPILER_9_UP}
{$endif}
{$ifdef COMPILER_9_UP}
{$define COMPILER_8_UP}
{$endif}
{$ifdef COMPILER_8_UP}
{$define COMPILER_7_UP}
{$endif}
{$ifdef COMPILER_7_UP}
{$define COMPILER_6_UP}
{$endif}
{$ifdef COMPILER_6_UP}
{$define COMPILER_5_UP}
{$endif}
{$ifdef COMPILER_5_UP}
{$define COMPILER_4_UP}
{$endif}
{$ifdef COMPILER_4_UP}
{$define COMPILER_3_UP}
{$endif}
{$ifdef COMPILER_3_UP}
{$define COMPILER_2_UP}
{$endif}
{$ifdef COMPILER_2_UP}
{$define COMPILER_1_UP}
{$endif}
So when a new compiler is released all we need to add is just 4+3=7 lines of
copy-pasted code. Maybe this way would be more optimal than current one?
--
Anton
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be