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.
|