From 017daed0dd8bc158b97fe5c6ecb839a56905fc52 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 21 Sep 2007 02:33:46 +0000
Subject: [PATCH] If we're gonna provide an --enable-profiling configure
 option, surely it ought to know that you need -DLINUX_PROFILE on Linux.

---
 configure                  | 2 +-
 configure.in               | 6 +++---
 src/include/pg_config.h.in | 3 ++-
 src/template/linux         | 5 ++++-
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 930ee945be4..5d502ddc46e 100755
--- a/configure
+++ b/configure
@@ -3244,7 +3244,7 @@ cat >>confdefs.h <<\_ACEOF
 #define PROFILE_PID_DIR 1
 _ACEOF
 
-    CFLAGS="$CFLAGS -pg"
+    CFLAGS="$CFLAGS -pg $PLATFORM_PROFILE_FLAGS"
   else
     { { echo "$as_me:$LINENO: error: --enable-profiling is supported only when using GCC" >&5
 echo "$as_me: error: --enable-profiling is supported only when using GCC" >&2;}
diff --git a/configure.in b/configure.in
index 10a87348b4d..c4c0d8f4ba8 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $PostgreSQL: pgsql/configure.in,v 1.526 2007/09/12 14:28:55 tgl Exp $
+dnl $PostgreSQL: pgsql/configure.in,v 1.527 2007/09/21 02:33:46 tgl Exp $
 dnl
 dnl Developers, please strive to achieve this order:
 dnl
@@ -307,8 +307,8 @@ fi
 if test "$enable_profiling" = yes && test "$ac_cv_prog_cc_g" = yes; then
   if test "$GCC" = yes; then
     AC_DEFINE([PROFILE_PID_DIR], 1, 
-           [Define to 1 to enable profiling. (--enable-profiling)])
-    CFLAGS="$CFLAGS -pg"
+           [Define to 1 to allow profiling output to be saved separately for each process.])
+    CFLAGS="$CFLAGS -pg $PLATFORM_PROFILE_FLAGS"
   else
     AC_MSG_ERROR([--enable-profiling is supported only when using GCC])
   fi
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index a0e451b0e0c..0f583953769 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -617,7 +617,8 @@
 /* A string containing the version number, platform, and C compiler */
 #undef PG_VERSION_STR
 
-/* Define to 1 to enable profiling. (--enable-profiling) */
+/* Define to 1 to allow profiling output to be saved separately for each
+   process. */
 #undef PROFILE_PID_DIR
 
 /* Define to the necessary symbol if this constant uses a non-standard name on
diff --git a/src/template/linux b/src/template/linux
index dff0eca6f10..ed800d23f12 100644
--- a/src/template/linux
+++ b/src/template/linux
@@ -1,4 +1,7 @@
-# $PostgreSQL: pgsql/src/template/linux,v 1.29 2006/12/12 19:43:19 petere Exp $
+# $PostgreSQL: pgsql/src/template/linux,v 1.30 2007/09/21 02:33:46 tgl Exp $
 
 # Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise
 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+# If --enable-profiling is specified, we need -DLINUX_PROFILE
+PLATFORM_PROFILE_FLAGS="-DLINUX_PROFILE"
-- 
GitLab