OSDN Git Service

Clean up float4byval and float8byval handling by dealing with them completely
authorMagnus Hagander <magnus@hagander.net>
Mon, 21 Apr 2008 18:37:28 +0000 (18:37 +0000)
committerMagnus Hagander <magnus@hagander.net>
Mon, 21 Apr 2008 18:37:28 +0000 (18:37 +0000)
from inside the build script.

src/include/pg_config.h.win32
src/tools/msvc/Solution.pm

index 8501f53..1c7e3cd 100644 (file)
    (--enable-thread-safety) */
 #define ENABLE_THREAD_SAFETY 1
 
-/* float4 values are passed by value if 'true', by reference if 'false' */
-#define FLOAT4PASSBYVAL true
-
-/* float8, int8, and related values are passed by value if 'true', by
-   reference if 'false' */
-#define FLOAT8PASSBYVAL false
-
 /* Define to 1 if getpwuid_r() takes a 5th argument. */
 /* #undef GETPWUID_R_5ARG */
 
 /* Define to 1 to build with Bonjour support. (--with-bonjour) */
 /* #undef USE_BONJOUR */
 
-/* Define to 1 if you want float4 values to be passed by value.
-   (--enable-float4-byval) */
-#define USE_FLOAT4_BYVAL 1
-
-/* Define to 1 if you want float8, int8, etc values to be passed by value.
-   (--enable-float8-byval) */
-/* #undef USE_FLOAT8_BYVAL */
-
 /* Define to 1 if you want 64-bit integer timestamp and interval support.
    (--enable-integer-datetimes) */
 /* #undef USE_INTEGER_DATETIMES */
index e8134f5..0260688 100644 (file)
@@ -3,7 +3,7 @@ package Solution;
 #
 # Package that encapsulates a Visual C++ solution file generation
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.39 2008/04/21 10:01:32 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.40 2008/04/21 18:37:28 mha Exp $
 #
 use Carp;
 use strict;
@@ -118,19 +118,24 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
         print O "#define USE_SSL 1\n" if ($self->{options}->{openssl});
         print O "#define ENABLE_NLS 1\n" if ($self->{options}->{nls});
         
-        unless ($self->{options}->{float4byval}) 
+        if ($self->{options}->{float4byval}) 
+        {
+            print O "#define USE_FLOAT4_BYVAL 1\n";
+            print O "#define FLOAT4PASSBYVAL true\n";
+        }
+        else
         {
-            # float4byval is the default, so undefine
-            print O "#undef USE_FLOAT4_BYVAL\n";
-            print O "#undef FLOAT4PASSBYVAL\n";
             print O "#define FLOAT4PASSBYVAL false\n";
         }
         if ($self->{options}->{float8byval})
         {
-            print O "#define USE_FLOAT8_BYVAL\n";
-            print O "#undef FLOAT8PASSBYVAL\n";
+            print O "#define USE_FLOAT8_BYVAL 1\n";
             print O "#define FLOAT8PASSBYVAL true\n";
         }
+        else
+        {
+            print O "#define FLOAT8PASSBYVAL false\n";
+        }
 
         if ($self->{options}->{uuid})
         {