diff options
-rw-r--r-- | README.tru64 | 5 | ||||
-rw-r--r-- | hints/dec_osf.sh | 25 |
2 files changed, 29 insertions, 1 deletions
diff --git a/README.tru64 b/README.tru64 index d203ded104..b1305ba4c8 100644 --- a/README.tru64 +++ b/README.tru64 @@ -50,6 +50,11 @@ Perl threading is going to work only in Tru64 4.0 and newer releases, older operating releases like 3.2 aren't probably going to work properly with threads. +In Tru64 V5 (at least V5.1A, V5.1B) you cannot build threaded Perl with gcc +because the system header <pthread.h> explicitly checks for supported +C compilers, gcc (at least 3.2.2) not being one of them. But the +system C compiler should work just fine. + =head2 Long Doubles on Tru64 You cannot Configure Perl to use long doubles unless you have at least diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 5b15fade2f..f08c318b89 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -303,9 +303,32 @@ cat > UU/usethreads.cbu <<'EOCBU' # after it has prompted the user for whether to use threads. case "$usethreads" in $define|true|[yY]*) + # In Tru64 V5 (at least V5.1A, V5.1B) gcc (at least 3.2.2) + # cannot be used to compile a threaded Perl. + cat > pthread.c <<EOF +#include <pthread.h> +extern int foo; +EOF + $cc -c pthread.c 2> pthread.err + if grep -q "unrecognized compiler" pthread.err; then + cat >&4 <<EOF +*** +*** I'm sorry but your C compiler ($cc) cannot be used to +*** compile Perl with threads. The system C compiler should work. +*** + +Cannot continue, aborting. + +EOF + rm -f pthread.* + exit 1 + fi + rm -f pthread.* # Threads interfaces changed with V4.0. case "$isgcc" in - gcc) ccflags="-D_REENTRANT $ccflags" ;; + gcc) + ccflags="-D_REENTRANT $ccflags" + ;; *) case "`uname -r`" in *[123].*) ccflags="-threads $ccflags" ;; *) ccflags="-pthread $ccflags" ;; |