diff options
author | Magnus Hagander | 2007-06-12 18:31:28 +0000 |
---|---|---|
committer | Magnus Hagander | 2007-06-12 18:31:28 +0000 |
commit | b1cb3737fb28cb1706fd19adc5077974a00658f1 (patch) | |
tree | 7db7235a4d1a3ecfee1f18cd708d262d1b052283 | |
parent | 1c320b3828a77d804b90556132792913b8acad4b (diff) |
ECPG requires a local include directory to override the project-wide ones.
Add ability to add "prefix include directories", and use it...
With this, ecpg regression tests now pass on MSVC builds.
-rw-r--r-- | src/tools/msvc/Mkvcbuild.pm | 1 | ||||
-rw-r--r-- | src/tools/msvc/Project.pm | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 4f1e88601c..4db38dcc34 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -148,6 +148,7 @@ sub mkvcbuild my $ecpg = $solution->AddProject('ecpg','exe','interfaces','src\interfaces\ecpg\preproc'); $ecpg->AddIncludeDir('src\interfaces\ecpg\include'); $ecpg->AddIncludeDir('src\interfaces\libpq'); + $ecpg->AddPrefixInclude('src\interfaces\ecpg\preproc'); $ecpg->AddFiles('src\interfaces\ecpg\preproc','pgc.l','preproc.y'); $ecpg->AddDefine('MAJOR_VERSION=4'); $ecpg->AddDefine('MINOR_VERSION=2'); diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm index 6771ca35fc..640b230a96 100644 --- a/src/tools/msvc/Project.pm +++ b/src/tools/msvc/Project.pm @@ -27,6 +27,7 @@ sub new libraries => [], suffixlib => [], includes => '', + prefixincludes => '', defines => ';', solution => $solution, disablewarnings => '4018;4244;4273;4102', @@ -128,6 +129,13 @@ sub AddIncludeDir $self->{includes} .= $inc; } +sub AddPrefixInclude +{ + my ($self, $inc) = @_; + + $self->{prefixincludes} = $inc . ';' . $self->{prefixincludes}; +} + sub AddDefine { my ($self, $def) = @_; @@ -467,7 +475,7 @@ sub WriteConfiguration <Configuration Name="$cfgname|Win32" OutputDirectory=".\\$cfgname\\$self->{name}" IntermediateDirectory=".\\$cfgname\\$self->{name}" ConfigurationType="$cfgtype" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2" WholeProgramOptimization="$p->{wholeopt}"> <Tool Name="VCCLCompilerTool" Optimization="$p->{opt}" - AdditionalIncludeDirectories="src/include;src/include/port/win32;src/include/port/win32_msvc;$self->{includes}" + AdditionalIncludeDirectories="$self->{prefixincludes}src/include;src/include/port/win32;src/include/port/win32_msvc;$self->{includes}" PreprocessorDefinitions="WIN32;_WINDOWS;__WINDOWS__;__WIN32__;EXEC_BACKEND;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE$self->{defines}$p->{defs}" StringPooling="$p->{strpool}" RuntimeLibrary="$p->{runtime}" DisableSpecificWarnings="$self->{disablewarnings}" |