Yes, please.

//Magnus

Bruce Momjian wrote:
> Is this ready to be applied?
> 
> ---------------------------------------------------------------------------
> 
> Magnus Hagander wrote:
>> Hiroshi Saito wrote:
>>> Hi Magnus-san.
>>>
>>> I am trying simple construction by operating config.pl.
>>> It has changed wonderfully now. however, I do not use ecpg, and see the
>>> simplest construction. At that time, even pthread might not be needed.
>>> It was simple.
>> Good point, but the patch doesn't work. Simply removing the check
>> doesn't work, it will cause warnings and errors all over when doing a
>> complete build.
>>
>> Please try the attached patch which actually disables the building of
>> ecpg if pthreads is not specified.
>>
>>
>> //Magnus
> 
>> Index: src\tools\msvc/Project.pm
>> ===================================================================
>> RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/tools/msvc/Project.pm,v
>> retrieving revision 1.5
>> diff -c -r1.5 Project.pm
>> *** src\tools\msvc/Project.pm        4 Jan 2007 17:58:19 -0000       1.5
>> --- src\tools\msvc/Project.pm        11 Jan 2007 18:54:19 -0000
>> ***************
>> *** 367,377 ****
>>      }
>>      $libs =~ s/ $//;
>>      $libs =~ s/__CFGNAME__/$cfgname/g;
>>      print $f <<EOF;
>>     <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->{solution}->{options}->{pthread};$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}"
>> --- 367,379 ----
>>      }
>>      $libs =~ s/ $//;
>>      $libs =~ s/__CFGNAME__/$cfgname/g;
>> +    my $pth = $self->{solution}->{options}->{pthread};
>> +    $pth = '' unless $pth;
>>      print $f <<EOF;
>>     <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;$pth;$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}"
>> Index: src\tools\msvc/Solution.pm
>> ===================================================================
>> RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/tools/msvc/Solution.pm,v
>> retrieving revision 1.5
>> diff -c -r1.5 Solution.pm
>> *** src\tools\msvc/Solution.pm       29 Dec 2006 16:49:02 -0000      1.5
>> --- src\tools\msvc/Solution.pm       11 Jan 2007 18:52:16 -0000
>> ***************
>> *** 6,12 ****
>>   sub new {
>>      my $junk = shift;
>>      my $options = shift;
>> -    die "Pthreads is required.\n" unless $options->{pthread};
>>      my $self = {
>>           projects => {},
>>           options  => $options,
>> --- 6,11 ----
>> Index: src\tools\msvc/mkvcbuild.pl
>> ===================================================================
>> RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/tools/msvc/mkvcbuild.pl,v
>> retrieving revision 1.9
>> diff -c -r1.9 mkvcbuild.pl
>> *** src\tools\msvc/mkvcbuild.pl      9 Jan 2007 06:00:43 -0000       1.9
>> --- src\tools\msvc/mkvcbuild.pl      11 Jan 2007 18:52:32 -0000
>> ***************
>> *** 90,117 ****
>>   $pgtypes->AddReference($postgres,$libpgport);
>>   $pgtypes->AddIncludeDir('src\interfaces\ecpg\include');
>>   
>> ! my $libecpg = 
>> $solution->AddProject('libecpg','dll','interfaces','src\interfaces\ecpg\ecpglib');
>> ! $libecpg->AddDefine('FRONTEND');
>> ! $libecpg->AddIncludeDir('src\interfaces\ecpg\include');
>> ! $libecpg->AddIncludeDir('src\interfaces\libpq');
>> ! $libecpg->AddIncludeDir('src\port');
>> ! $libecpg->AddLibrary('wsock32.lib');
>> ! $libecpg->AddLibrary($config->{'pthread'} . '\pthreadVC2.lib');
>> ! $libecpg->AddReference($libpq,$pgtypes);
>> ! 
>> ! my $libecpgcompat = 
>> $solution->AddProject('libecpg_compat','dll','interfaces','src\interfaces\ecpg\compatlib');
>> ! $libecpgcompat->AddIncludeDir('src\interfaces\ecpg\include');
>> ! $libecpgcompat->AddIncludeDir('src\interfaces\libpq');
>> ! $libecpgcompat->AddReference($pgtypes,$libecpg);
>> ! 
>> ! my $ecpg = 
>> $solution->AddProject('ecpg','exe','interfaces','src\interfaces\ecpg\preproc');
>> ! $ecpg->AddIncludeDir('src\interfaces\ecpg\include');
>> ! $ecpg->AddIncludeDir('src\interfaces\libpq');
>> ! $ecpg->AddFiles('src\interfaces\ecpg\preproc','pgc.l','preproc.y');
>> ! $ecpg->AddDefine('MAJOR_VERSION=4');
>> ! $ecpg->AddDefine('MINOR_VERSION=2');
>> ! $ecpg->AddDefine('PATCHLEVEL=1');
>> ! $ecpg->AddReference($libpgport);
>>   
>>   
>>   # src/bin
>> --- 90,122 ----
>>   $pgtypes->AddReference($postgres,$libpgport);
>>   $pgtypes->AddIncludeDir('src\interfaces\ecpg\include');
>>   
>> ! if ($config->{pthread}) {
>> !    my $libecpg = 
>> $solution->AddProject('libecpg','dll','interfaces','src\interfaces\ecpg\ecpglib');
>> !    $libecpg->AddDefine('FRONTEND');
>> !    $libecpg->AddIncludeDir('src\interfaces\ecpg\include');
>> !    $libecpg->AddIncludeDir('src\interfaces\libpq');
>> !    $libecpg->AddIncludeDir('src\port');
>> !    $libecpg->AddLibrary('wsock32.lib');
>> !    $libecpg->AddLibrary($config->{'pthread'} . '\pthreadVC2.lib');
>> !    $libecpg->AddReference($libpq,$pgtypes);
>> ! 
>> !    my $libecpgcompat = 
>> $solution->AddProject('libecpg_compat','dll','interfaces','src\interfaces\ecpg\compatlib');
>> !    $libecpgcompat->AddIncludeDir('src\interfaces\ecpg\include');
>> !    $libecpgcompat->AddIncludeDir('src\interfaces\libpq');
>> !    $libecpgcompat->AddReference($pgtypes,$libecpg);
>> ! 
>> !    my $ecpg = 
>> $solution->AddProject('ecpg','exe','interfaces','src\interfaces\ecpg\preproc');
>> !    $ecpg->AddIncludeDir('src\interfaces\ecpg\include');
>> !    $ecpg->AddIncludeDir('src\interfaces\libpq');
>> !    $ecpg->AddFiles('src\interfaces\ecpg\preproc','pgc.l','preproc.y');
>> !    $ecpg->AddDefine('MAJOR_VERSION=4');
>> !    $ecpg->AddDefine('MINOR_VERSION=2');
>> !    $ecpg->AddDefine('PATCHLEVEL=1');
>> !    $ecpg->AddReference($libpgport);
>> ! }
>> ! else {
>> !    print "Not building ecpg due to lack of pthreads.\n";
>> ! }   
>>   
>>   
>>   # src/bin
> 
>> ---------------------------(end of broadcast)---------------------------
>> TIP 5: don't forget to increase your free space map settings
> 


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to