From: Amitha P. <pe...@cs...> - 2002-08-23 18:33:26
|
On Fri, Aug 23, 2002 at 09:24:03AM +0200, Peter Vanroose wrote: > > We are thinking of re-designing the vcl configuration files (the > > vcl/vcl_config*.h files) so that either they are automatically > > configured from the .in files (as is done for Unix systems) > > ... > > This change is straight-forward for the CMake build system, but I > > don't know how it will affect the IUE-type makefiles, and other > > private build systems. > > If all this is done through a configure script, it will not be particular > for a certain build system, so in that case I don't see a problem. > Could you describe the proposed new setup in some more detail? It's not much different from the current setup. Right now, the Unix hosts generate the compiler dependent headers with a configure script, while VC60 details are manually specified in vcl/config.win32-vc60. Instead, we suggest that config.win32-vc60 be renamed to config-win32, with two new subdirectories, vc60 and vc70 vcl +- config.win32 +- vc60 +- vc70 Currently, we have in UseVXL.cmake IF(WIN32) IF(NOT CYGWIN) INCLUDE_DIRECTORIES(${allvxl_SOURCE_DIR}/vcl/config.win32-VC60) ENDIF(NOT CYGWIN) ENDIF(WIN32) The "INCLUDE" line would change to INCLUDE_DIRECTORIES(${allvxl_SOURCE_DIR}/vcl/config.win32) In config.win32, we would have files like vcl/config.win32/vcl_compiler_config.h: #if _MSC_VER >= 1300 # include "vc70/vcl_compiler_config.h" #else # include "vc60/vcl_compiler_config.h" #endif The files in vcl/config.win32/vc{6,7}0/vcl_compiler_config.h would then contain the actual, manually maintained configuration for each compiler. An alternative is to have the configurations for both VC60 and VC70 in a single file. We've found that the two compilers only differ in a few options. For those options, we could have a check. For example, suppose VC70 supports partial specialization (it does not). Then, we could have #if VC70 # define VCL_CAN_DO_PARTIAL_SPECIALIZATION 1 #else # define VCL_CAN_DO_PARTIAL_SPECIALIZATION 0 #endif Unguarded settings would then apply to both compilers. Ideally, there would be some way to determine these settings automatically. I don't think there is any equivalent of configure scripts for VC++. Comments? Amitha. |