diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/ecpg/test/expected/thread-thread.c | 72 | ||||
-rw-r--r-- | src/interfaces/ecpg/test/expected/thread-thread_implicit.c | 72 | ||||
-rw-r--r-- | src/interfaces/ecpg/test/thread/thread.pgc | 18 | ||||
-rw-r--r-- | src/interfaces/ecpg/test/thread/thread_implicit.pgc | 18 | ||||
-rw-r--r-- | src/tools/msvc/Mkvcbuild.pm | 56 | ||||
-rw-r--r-- | src/tools/msvc/Project.pm | 7 | ||||
-rw-r--r-- | src/tools/msvc/Solution.pm | 10 | ||||
-rw-r--r-- | src/tools/msvc/config.pl | 1 |
8 files changed, 154 insertions, 100 deletions
diff --git a/src/interfaces/ecpg/test/expected/thread-thread.c b/src/interfaces/ecpg/test/expected/thread-thread.c index 5011640b327..9555a79bfa5 100644 --- a/src/interfaces/ecpg/test/expected/thread-thread.c +++ b/src/interfaces/ecpg/test/expected/thread-thread.c @@ -23,7 +23,11 @@ main(void) return 0; } #else +#ifndef WIN32 #include <pthread.h> +#else +#include <windows.h> +#endif #line 1 "regression.h" @@ -33,7 +37,7 @@ main(void) -#line 18 "thread.pgc" +#line 22 "thread.pgc" void *test_thread(void *arg); @@ -43,15 +47,19 @@ int iterations = 20; int main(int argc, char *argv[]) { +#ifndef WIN32 pthread_t *threads; +#else + HANDLE *threads; +#endif int n; /* exec sql begin declare section */ -#line 30 "thread.pgc" +#line 38 "thread.pgc" int l_rows ; /* exec sql end declare section */ -#line 31 "thread.pgc" +#line 39 "thread.pgc" /* Do not switch on debug output for regression tests. The threads get executed in @@ -60,26 +68,26 @@ int main(int argc, char *argv[]) /* setup test_thread table */ { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); } -#line 38 "thread.pgc" +#line 46 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "drop table test_thread ", ECPGt_EOIT, ECPGt_EORT);} -#line 39 "thread.pgc" +#line 47 "thread.pgc" /* DROP might fail */ { ECPGtrans(__LINE__, NULL, "commit");} -#line 40 "thread.pgc" +#line 48 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "create table test_thread ( tstamp timestamp not null default cast( timeofday () as timestamp ) , thread TEXT not null , iteration integer not null , primary key( thread , iteration ) ) ", ECPGt_EOIT, ECPGt_EORT);} -#line 45 "thread.pgc" +#line 53 "thread.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 46 "thread.pgc" +#line 54 "thread.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 47 "thread.pgc" +#line 55 "thread.pgc" /* create, and start, threads */ - threads = calloc(nthreads, sizeof(pthread_t)); + threads = calloc(nthreads, sizeof(threads[0])); if( threads == NULL ) { fprintf(stderr, "Cannot alloc memory\n"); @@ -87,30 +95,38 @@ int main(int argc, char *argv[]) } for( n = 0; n < nthreads; n++ ) { +#ifndef WIN32 pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1)); +#else + threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)test_thread, (void *) (n + 1), 0, NULL); +#endif } /* wait for thread completion */ +#ifndef WIN32 for( n = 0; n < nthreads; n++ ) { pthread_join(threads[n], NULL); } +#else + WaitForMultipleObjects(nthreads, threads, TRUE, INFINITE); +#endif free(threads); /* and check results */ { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); } -#line 69 "thread.pgc" +#line 85 "thread.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "select count (*) from test_thread ", ECPGt_EOIT, ECPGt_int,&(l_rows),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} -#line 70 "thread.pgc" +#line 86 "thread.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 71 "thread.pgc" +#line 87 "thread.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 72 "thread.pgc" +#line 88 "thread.pgc" if( l_rows == (nthreads * iterations) ) printf("Success.\n"); @@ -127,25 +143,25 @@ void *test_thread(void *arg) -#line 85 "thread.pgc" +#line 101 "thread.pgc" int l_i ; -#line 86 "thread.pgc" +#line 102 "thread.pgc" char l_connection [ 128 ] ; /* exec sql end declare section */ -#line 87 "thread.pgc" +#line 103 "thread.pgc" /* build up connection name, and connect to database */ snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); /* exec sql whenever sqlerror sqlprint ; */ -#line 91 "thread.pgc" +#line 107 "thread.pgc" { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , l_connection, 0); -#line 92 "thread.pgc" +#line 108 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 92 "thread.pgc" +#line 108 "thread.pgc" if( sqlca.sqlcode != 0 ) { @@ -153,10 +169,10 @@ if (sqlca.sqlcode < 0) sqlprint();} return( NULL ); } { ECPGtrans(__LINE__, l_connection, "begin transaction "); -#line 98 "thread.pgc" +#line 114 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 98 "thread.pgc" +#line 114 "thread.pgc" /* insert into test_thread table */ @@ -167,10 +183,10 @@ if (sqlca.sqlcode < 0) sqlprint();} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(l_i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 103 "thread.pgc" +#line 119 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 103 "thread.pgc" +#line 119 "thread.pgc" if( sqlca.sqlcode != 0 ) printf("%s: ERROR: insert failed!\n", l_connection); @@ -178,16 +194,16 @@ if (sqlca.sqlcode < 0) sqlprint();} /* all done */ { ECPGtrans(__LINE__, l_connection, "commit"); -#line 109 "thread.pgc" +#line 125 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 109 "thread.pgc" +#line 125 "thread.pgc" { ECPGdisconnect(__LINE__, l_connection); -#line 110 "thread.pgc" +#line 126 "thread.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 110 "thread.pgc" +#line 126 "thread.pgc" return( NULL ); } diff --git a/src/interfaces/ecpg/test/expected/thread-thread_implicit.c b/src/interfaces/ecpg/test/expected/thread-thread_implicit.c index 1fd3faa48d5..f48db90559a 100644 --- a/src/interfaces/ecpg/test/expected/thread-thread_implicit.c +++ b/src/interfaces/ecpg/test/expected/thread-thread_implicit.c @@ -24,7 +24,11 @@ main(void) return 0; } #else +#ifndef WIN32 #include <pthread.h> +#else +#include <windows.h> +#endif #line 1 "regression.h" @@ -34,7 +38,7 @@ main(void) -#line 19 "thread_implicit.pgc" +#line 23 "thread_implicit.pgc" void *test_thread(void *arg); @@ -44,15 +48,19 @@ int iterations = 20; int main(int argc, char *argv[]) { +#ifndef WIN32 pthread_t *threads; +#else + HANDLE *threads; +#endif int n; /* exec sql begin declare section */ -#line 31 "thread_implicit.pgc" +#line 39 "thread_implicit.pgc" int l_rows ; /* exec sql end declare section */ -#line 32 "thread_implicit.pgc" +#line 40 "thread_implicit.pgc" /* Do not switch on debug output for regression tests. The threads get executed in @@ -61,26 +69,26 @@ int main(int argc, char *argv[]) /* setup test_thread table */ { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); } -#line 39 "thread_implicit.pgc" +#line 47 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "drop table test_thread ", ECPGt_EOIT, ECPGt_EORT);} -#line 40 "thread_implicit.pgc" +#line 48 "thread_implicit.pgc" /* DROP might fail */ { ECPGtrans(__LINE__, NULL, "commit");} -#line 41 "thread_implicit.pgc" +#line 49 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "create table test_thread ( tstamp timestamp not null default cast( timeofday () as timestamp ) , thread TEXT not null , iteration integer not null , primary key( thread , iteration ) ) ", ECPGt_EOIT, ECPGt_EORT);} -#line 46 "thread_implicit.pgc" +#line 54 "thread_implicit.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 47 "thread_implicit.pgc" +#line 55 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 48 "thread_implicit.pgc" +#line 56 "thread_implicit.pgc" /* create, and start, threads */ - threads = calloc(nthreads, sizeof(pthread_t)); + threads = calloc(nthreads, sizeof(threads[0])); if( threads == NULL ) { fprintf(stderr, "Cannot alloc memory\n"); @@ -88,30 +96,38 @@ int main(int argc, char *argv[]) } for( n = 0; n < nthreads; n++ ) { +#ifndef WIN32 pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1)); +#else + threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) test_thread, (void *) (n+1), 0, NULL); +#endif } /* wait for thread completion */ +#ifndef WIN32 for( n = 0; n < nthreads; n++ ) { pthread_join(threads[n], NULL); } +#else + WaitForMultipleObjects(nthreads, threads, TRUE, INFINITE); +#endif free(threads); /* and check results */ { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); } -#line 70 "thread_implicit.pgc" +#line 86 "thread_implicit.pgc" { ECPGdo(__LINE__, 0, 1, NULL, "select count (*) from test_thread ", ECPGt_EOIT, ECPGt_int,&(l_rows),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} -#line 71 "thread_implicit.pgc" +#line 87 "thread_implicit.pgc" { ECPGtrans(__LINE__, NULL, "commit");} -#line 72 "thread_implicit.pgc" +#line 88 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, "CURRENT");} -#line 73 "thread_implicit.pgc" +#line 89 "thread_implicit.pgc" if( l_rows == (nthreads * iterations) ) printf("Success.\n"); @@ -128,25 +144,25 @@ void *test_thread(void *arg) -#line 86 "thread_implicit.pgc" +#line 102 "thread_implicit.pgc" int l_i ; -#line 87 "thread_implicit.pgc" +#line 103 "thread_implicit.pgc" char l_connection [ 128 ] ; /* exec sql end declare section */ -#line 88 "thread_implicit.pgc" +#line 104 "thread_implicit.pgc" /* build up connection name, and connect to database */ snprintf(l_connection, sizeof(l_connection), "thread_%03ld", threadnum); /* exec sql whenever sqlerror sqlprint ; */ -#line 92 "thread_implicit.pgc" +#line 108 "thread_implicit.pgc" { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , l_connection, 0); -#line 93 "thread_implicit.pgc" +#line 109 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 93 "thread_implicit.pgc" +#line 109 "thread_implicit.pgc" if( sqlca.sqlcode != 0 ) { @@ -154,10 +170,10 @@ if (sqlca.sqlcode < 0) sqlprint();} return( NULL ); } { ECPGtrans(__LINE__, NULL, "begin transaction "); -#line 99 "thread_implicit.pgc" +#line 115 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 99 "thread_implicit.pgc" +#line 115 "thread_implicit.pgc" /* insert into test_thread table */ @@ -168,10 +184,10 @@ if (sqlca.sqlcode < 0) sqlprint();} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(l_i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 104 "thread_implicit.pgc" +#line 120 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 104 "thread_implicit.pgc" +#line 120 "thread_implicit.pgc" if( sqlca.sqlcode != 0 ) printf("%s: ERROR: insert failed!\n", l_connection); @@ -179,16 +195,16 @@ if (sqlca.sqlcode < 0) sqlprint();} /* all done */ { ECPGtrans(__LINE__, NULL, "commit"); -#line 110 "thread_implicit.pgc" +#line 126 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 110 "thread_implicit.pgc" +#line 126 "thread_implicit.pgc" { ECPGdisconnect(__LINE__, l_connection); -#line 111 "thread_implicit.pgc" +#line 127 "thread_implicit.pgc" if (sqlca.sqlcode < 0) sqlprint();} -#line 111 "thread_implicit.pgc" +#line 127 "thread_implicit.pgc" return( NULL ); } diff --git a/src/interfaces/ecpg/test/thread/thread.pgc b/src/interfaces/ecpg/test/thread/thread.pgc index e7f0b4d1dca..726121d2ca2 100644 --- a/src/interfaces/ecpg/test/thread/thread.pgc +++ b/src/interfaces/ecpg/test/thread/thread.pgc @@ -13,7 +13,11 @@ main(void) return 0; } #else +#ifndef WIN32 #include <pthread.h> +#else +#include <windows.h> +#endif exec sql include ../regression; @@ -24,7 +28,11 @@ int iterations = 20; int main(int argc, char *argv[]) { +#ifndef WIN32 pthread_t *threads; +#else + HANDLE *threads; +#endif int n; EXEC SQL BEGIN DECLARE SECTION; int l_rows; @@ -47,7 +55,7 @@ int main(int argc, char *argv[]) EXEC SQL DISCONNECT; /* create, and start, threads */ - threads = calloc(nthreads, sizeof(pthread_t)); + threads = calloc(nthreads, sizeof(threads[0])); if( threads == NULL ) { fprintf(stderr, "Cannot alloc memory\n"); @@ -55,14 +63,22 @@ int main(int argc, char *argv[]) } for( n = 0; n < nthreads; n++ ) { +#ifndef WIN32 pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1)); +#else + threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)test_thread, (void *) (n + 1), 0, NULL); +#endif } /* wait for thread completion */ +#ifndef WIN32 for( n = 0; n < nthreads; n++ ) { pthread_join(threads[n], NULL); } +#else + WaitForMultipleObjects(nthreads, threads, TRUE, INFINITE); +#endif free(threads); /* and check results */ diff --git a/src/interfaces/ecpg/test/thread/thread_implicit.pgc b/src/interfaces/ecpg/test/thread/thread_implicit.pgc index e4033849600..010a8e52051 100644 --- a/src/interfaces/ecpg/test/thread/thread_implicit.pgc +++ b/src/interfaces/ecpg/test/thread/thread_implicit.pgc @@ -14,7 +14,11 @@ main(void) return 0; } #else +#ifndef WIN32 #include <pthread.h> +#else +#include <windows.h> +#endif exec sql include ../regression; @@ -25,7 +29,11 @@ int iterations = 20; int main(int argc, char *argv[]) { +#ifndef WIN32 pthread_t *threads; +#else + HANDLE *threads; +#endif int n; EXEC SQL BEGIN DECLARE SECTION; int l_rows; @@ -48,7 +56,7 @@ int main(int argc, char *argv[]) EXEC SQL DISCONNECT; /* create, and start, threads */ - threads = calloc(nthreads, sizeof(pthread_t)); + threads = calloc(nthreads, sizeof(threads[0])); if( threads == NULL ) { fprintf(stderr, "Cannot alloc memory\n"); @@ -56,14 +64,22 @@ int main(int argc, char *argv[]) } for( n = 0; n < nthreads; n++ ) { +#ifndef WIN32 pthread_create(&threads[n], NULL, test_thread, (void *) (n + 1)); +#else + threads[n] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) test_thread, (void *) (n+1), 0, NULL); +#endif } /* wait for thread completion */ +#ifndef WIN32 for( n = 0; n < nthreads; n++ ) { pthread_join(threads[n], NULL); } +#else + WaitForMultipleObjects(nthreads, threads, TRUE, INFINITE); +#endif free(threads); /* and check results */ diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 35294adca72..35412ae6feb 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -3,7 +3,7 @@ package Mkvcbuild; # # Package that generates build files for msvc build # -# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.6 2007/03/24 14:13:27 mha Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.7 2007/03/29 15:30:52 mha Exp $ # use Carp; use Win32; @@ -131,38 +131,28 @@ sub mkvcbuild $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,$libpgport); - - 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"; - } + 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->AddReference($libpq,$pgtypes,$libpgport); + + 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 my $initdb = AddSimpleFrontend('initdb', 1); diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm index 0623a4f9985..f35580bface 100644 --- a/src/tools/msvc/Project.pm +++ b/src/tools/msvc/Project.pm @@ -1,8 +1,9 @@ package Project; + # # Package that encapsulates a Visual C++ project file generation # -# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.10 2007/03/17 14:01:01 mha Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.11 2007/03/29 15:30:52 mha Exp $ # use Carp; use strict; @@ -462,13 +463,11 @@ sub WriteConfiguration } $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}" + AdditionalIncludeDirectories="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}" diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index e665b49866e..66340c9e3fd 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -1,8 +1,9 @@ package Solution; + # # Package that encapsulates a Visual C++ solution file generation -# -# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.19 2007/03/24 22:16:49 mha Exp $ +# +# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.20 2007/03/29 15:30:52 mha Exp $ # use Carp; use strict; @@ -104,7 +105,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY } print O "#define LOCALEDIR \"/share/locale\"\n" if ($self->{options}->{nls}); print O "/* defines added by config steps */\n"; - print O "#ifndef IGNORE_CONFIGURED_SETTINGS\n"; + print O "#ifndef IGNORE_CONFIGURED_SETTINGS\n"; print O "#define USE_ASSERT_CHECKING 1\n" if ($self->{options}->{asserts}); print O "#define USE_INTEGER_DATETIMES 1\n" if ($self->{options}->{integer_datetimes}); print O "#define USE_LDAP 1\n" if ($self->{options}->{ldap}); @@ -124,7 +125,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY print O "#define HAVE_KRB5_TICKET_ENC_PART2 1\n"; print O "#define PG_KRB_SRVNAM \"postgres\"\n"; } - print O "#endif /* IGNORE_CONFIGURED_SETTINGS */\n"; + print O "#endif /* IGNORE_CONFIGURED_SETTINGS */\n"; close(O); close(I); } @@ -239,6 +240,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY print O <<EOF; #if (_MSC_VER > 1200) #define HAVE_LONG_LONG_INT_64 +#define ENABLE_THREAD_SAFETY 1 #endif EOF close(O); diff --git a/src/tools/msvc/config.pl b/src/tools/msvc/config.pl index 40c0f85dcf2..755f27ec970 100644 --- a/src/tools/msvc/config.pl +++ b/src/tools/msvc/config.pl @@ -12,7 +12,6 @@ our $config = { krb5=>'c:\prog\pgsql\depend\krb5', # --with-krb5=<path> ldap=>1, # --with-ldap openssl=>'c:\openssl', # --with-ssl=<path> - pthread=>'c:\prog\pgsql\depend\pthread', xml=>'c:\prog\pgsql\depend\libxml2', xslt=>'c:\prog\pgsql\depend\libxslt', iconv=>'c:\prog\pgsql\depend\iconv', |