Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf6646ef

Browse files
committed
Hook thread_test program run at the end of configure run.
Add test for cross-compiles that they have to run the thread_testprogram on the target machine.
1 parent95178c8 commitf6646ef

File tree

3 files changed

+82
-3
lines changed

3 files changed

+82
-3
lines changed

‎configure

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19111,3 +19111,49 @@ if test "$no_create" != yes; then
1911119111
$ac_cs_success || { (exit 1); exit 1; }
1911219112
fi
1911319113

19114+
19115+
#
19116+
# We have to run the thread test here because it is an external program
19117+
# that has to be runable separately for cross-compiling.
19118+
#
19119+
if test "$enable_thread_safety" = yes; then
19120+
if test cross_compiling != yes; then
19121+
echo "$as_me:$LINENO: checking thread safety of required library functions." >&5
19122+
echo $ECHO_N "checking thread safety of required library functions.... $ECHO_C" >&6
19123+
#
19124+
# Clean, compile, run, and clean thread test directory.
19125+
# If test fails for any reason, remove Makefile.global so the user can't
19126+
# compile (to simulate a configure failure).
19127+
#
19128+
gmake -C $srcdir/src/tools/thread clean >&5 ||
19129+
( rm -f src/Makefile.global
19130+
{ { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5
19131+
echo "$as_me: error: Can not clean thread test directory." >&2;}
19132+
{ (exit 1); exit 1; }; })
19133+
gmake -C $srcdir/src/tools/thread >&5 ||
19134+
( rm -f src/Makefile.global
19135+
{ { echo "$as_me:$LINENO: error: Can not build thread test proram." >&5
19136+
echo "$as_me: error: Can not build thread test proram." >&2;}
19137+
{ (exit 1); exit 1; }; })
19138+
$srcdir/src/tools/thread/thread_test >&5 ||
19139+
( rm -f src/Makefile.global
19140+
{ { echo "$as_me:$LINENO: error: Thread test program failed." >&5
19141+
echo "$as_me: error: Thread test program failed." >&2;}
19142+
{ (exit 1); exit 1; }; })
19143+
gmake -C $srcdir/src/tools/thread clean >&5 ||
19144+
( rm -f src/Makefile.global
19145+
{ { echo "$as_me:$LINENO: error: Can not clean thread test directory." >&5
19146+
echo "$as_me: error: Can not clean thread test directory." >&2;}
19147+
{ (exit 1); exit 1; }; })
19148+
echo "yes"
19149+
else
19150+
{ echo "$as_me:$LINENO: WARNING:
19151+
*** Skipping thread test program because of cross-compile build.
19152+
*** Run the program in $srcdir/src/tools/thread on the target matchine.
19153+
" >&5
19154+
echo "$as_me: WARNING:
19155+
*** Skipping thread test program because of cross-compile build.
19156+
*** Run the program in $srcdir/src/tools/thread on the target matchine.
19157+
" >&2;}
19158+
fi
19159+
fi

‎configure.in

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl Process this file with autoconf to produce a configure script.
2-
dnl $PostgreSQL: pgsql/configure.in,v 1.324 2004/04/2318:15:53 momjian Exp $
2+
dnl $PostgreSQL: pgsql/configure.in,v 1.325 2004/04/2323:58:07 momjian Exp $
33
dnl
44
dnl Developers, please strive to achieve this order:
55
dnl
@@ -1213,3 +1213,36 @@ echo >src/include/stamp-h
12131213
])
12141214

12151215
AC_OUTPUT
1216+
1217+
#
1218+
# We have to run the thread test here because it is an external program
1219+
# that has to be runable separately for cross-compiling.
1220+
#
1221+
if test "$enable_thread_safety" = yes; then
1222+
if test cross_compiling != yes; then
1223+
AC_MSG_CHECKING([thread safety of required library functions.])
1224+
#
1225+
# Clean, compile, run, and clean thread test directory.
1226+
# If test fails for any reason, remove Makefile.global so the user can't
1227+
# compile (to simulate a configure failure).
1228+
#
1229+
gmake -C $srcdir/src/tools/thread clean >&5 ||
1230+
( rm -f src/Makefile.global
1231+
AC_MSG_ERROR([Can not clean thread test directory.]))
1232+
gmake -C $srcdir/src/tools/thread >&5 ||
1233+
( rm -f src/Makefile.global
1234+
AC_MSG_ERROR([Can not build thread test proram.]))
1235+
$srcdir/src/tools/thread/thread_test >&5 ||
1236+
( rm -f src/Makefile.global
1237+
AC_MSG_ERROR([Thread test program failed.]))
1238+
gmake -C $srcdir/src/tools/thread clean >&5 ||
1239+
( rm -f src/Makefile.global
1240+
AC_MSG_ERROR([Can not clean thread test directory.]))
1241+
echo "yes"
1242+
else
1243+
AC_MSG_WARN([
1244+
*** Skipping thread test program because of cross-compile build.
1245+
*** Run the program in $srcdir/src/tools/thread on the target matchine.
1246+
])
1247+
fi
1248+
fi

‎src/tools/thread/thread_test.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
*$PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.22 2004/04/2322:21:49 momjian Exp $
9+
*$PostgreSQL: pgsql/src/tools/thread/thread_test.c,v 1.23 2004/04/2323:58:12 momjian Exp $
1010
*
1111
*This program tests to see if your standard libc functions use
1212
*pthread_setspecific()/pthread_getspecific() to be thread-safe.
@@ -109,7 +109,7 @@ main(int argc, char *argv[])
109109
sched_yield();/* if this is a portability problem,
110110
* remove it */
111111

112-
fprintf(stderr,"Your errno is thread-safe.\n");
112+
printf("Your errno is thread-safe.\n");
113113

114114
#ifndefHAVE_STRERROR_R
115115
if (strerror_p1!=strerror_p2)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp