Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit ee0d34a

Browse files
committed
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.
1 parent 1ad08a8 commit ee0d34a

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/tools/msvc/Mkvcbuild.pm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package Mkvcbuild;
33
#
44
# Package that generates build files for msvc build
55
#
6-
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.12 2007/06/12 11:07:34 mha Exp $
6+
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.13 2007/06/12 18:31:28 mha Exp $
77
#
88
use Carp;
99
use Win32;
@@ -148,6 +148,7 @@ sub mkvcbuild
148148
my $ecpg = $solution->AddProject('ecpg','exe','interfaces','src\interfaces\ecpg\preproc');
149149
$ecpg->AddIncludeDir('src\interfaces\ecpg\include');
150150
$ecpg->AddIncludeDir('src\interfaces\libpq');
151+
$ecpg->AddPrefixInclude('src\interfaces\ecpg\preproc');
151152
$ecpg->AddFiles('src\interfaces\ecpg\preproc','pgc.l','preproc.y');
152153
$ecpg->AddDefine('MAJOR_VERSION=4');
153154
$ecpg->AddDefine('MINOR_VERSION=2');

src/tools/msvc/Project.pm

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package Project;
33
#
44
# Package that encapsulates a Visual C++ project file generation
55
#
6-
# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.11 2007/03/29 15:30:52 mha Exp $
6+
# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.12 2007/06/12 18:31:28 mha Exp $
77
#
88
use Carp;
99
use strict;
@@ -27,6 +27,7 @@ sub new
2727
libraries => [],
2828
suffixlib => [],
2929
includes => '',
30+
prefixincludes => '',
3031
defines => ';',
3132
solution => $solution,
3233
disablewarnings => '4018;4244;4273;4102',
@@ -128,6 +129,13 @@ sub AddIncludeDir
128129
$self->{includes} .= $inc;
129130
}
130131

132+
sub AddPrefixInclude
133+
{
134+
my ($self, $inc) = @_;
135+
136+
$self->{prefixincludes} = $inc . ';' . $self->{prefixincludes};
137+
}
138+
131139
sub AddDefine
132140
{
133141
my ($self, $def) = @_;
@@ -467,7 +475,7 @@ sub WriteConfiguration
467475
<Configuration Name="$cfgname|Win32" OutputDirectory=".\\$cfgname\\$self->{name}" IntermediateDirectory=".\\$cfgname\\$self->{name}"
468476
ConfigurationType="$cfgtype" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2" WholeProgramOptimization="$p->{wholeopt}">
469477
<Tool Name="VCCLCompilerTool" Optimization="$p->{opt}"
470-
AdditionalIncludeDirectories="src/include;src/include/port/win32;src/include/port/win32_msvc;$self->{includes}"
478+
AdditionalIncludeDirectories="$self->{prefixincludes}src/include;src/include/port/win32;src/include/port/win32_msvc;$self->{includes}"
471479
PreprocessorDefinitions="WIN32;_WINDOWS;__WINDOWS__;__WIN32__;EXEC_BACKEND;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE$self->{defines}$p->{defs}"
472480
StringPooling="$p->{strpool}"
473481
RuntimeLibrary="$p->{runtime}" DisableSpecificWarnings="$self->{disablewarnings}"

0 commit comments

Comments
 (0)