summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1997-06-27 22:47:40 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1997-06-27 22:47:40 +0000
commit3e637c99902be6b85c85aa8cac4ca63dd2c2ac3b (patch)
treef91b2941fa00ab77eb3307331271508cce47c568 /gcc
parent76ed4af6c4846a87574399fb61ad7b52091065af (diff)
downloadgcc-3e637c99902be6b85c85aa8cac4ca63dd2c2ac3b.tar.gz
(--enable-threads): New parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14348 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/configure.in119
1 files changed, 80 insertions, 39 deletions
diff --git a/gcc/configure.in b/gcc/configure.in
index e3d8bab6610..2d72d2b2173 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -77,6 +77,37 @@ if [[ x$gxx_include_dir = x ]]; then
gxx_include_dir='${prefix}/include/g++'
fi
+# Enable threads
+# Pass with no value to take the default
+# Pass with a value to specify a thread package
+AC_ARG_ENABLE(threads,
+[ --enable-threads enable thread usage for target GCC.
+ --enable-threads=LIB use LIB thread package for target GCC.],
+if [[[ x$enable_threads = xno ]]]; then
+ enable_threads=''
+fi,
+enable_threads='')
+
+# Check if a valid thread package
+case x${enable_threads} in
+ x | xno)
+ # No threads
+ thread_file='single'
+ ;;
+ xyes)
+ # default
+ thread_file=''
+ ;;
+ xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
+ xsolaris | xwin32)
+ thread_file=$enable_threads
+ ;;
+ *)
+ echo "$enable_threads is an unknown thread package" 1>&2
+ exit 1
+ ;;
+esac
+
# Determine the host, build, and target systems
AC_CANONICAL_SYSTEM
@@ -142,16 +173,6 @@ for machine in $build $host $target; do
truncate_target=
# Set this if gdb needs a dir command with `dirname $out_file`
gdb_needs_out_file_path=
- # Set this to the tag of the Objective-C runtime thread file to compile
- # It may be set (in the absence of autoconf configuration) by
- # --enable-objcthreads=posix (for instance) where it's not
- # well defined as is the case for Linux.
- objc_thread_file=
- case x${enable_objcthreads-x} in
- x | xyes)
- echo "\`--enable-objcthreads' must be passed a value." 1>&2
- exit 1 ;;
- esac
# Set this if the build machine requires executables to have a
# file name suffix.
exeext=
@@ -231,7 +252,6 @@ for machine in $build $host $target; do
alpha-*-linux*ecoff*)
tm_file="${tm_file} alpha/linux.h"
xm_file="${xm_file} alpha/xm-linux.h"
- objc_thread_file=${enable_objcthreads-single}
target_cpu_default=4
xmake_file=none
fixincludes=Makefile.in
@@ -316,7 +336,9 @@ for machine in $build $host $target; do
then
extra_programs=ld.exe
fi
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
;;
alpha-dec-vms*)
tm_file=alpha/vms.h
@@ -620,7 +642,9 @@ for machine in $build $host $target; do
tmake_file=i386/t-next
xmake_file=i386/x-next
extra_objs=nextstep.o
- objc_thread_file=${enable_objcthreads-mach}
+ if [[ x$thread_file = x ]]; then
+ thread_file='mach'
+ fi
;;
i[[3456]]86-sequent-bsd*) # 80386 from Sequent
use_collect2=yes
@@ -741,7 +765,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
broken_install=yes
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
i[[3456]]86-*-linux*aout*) # Intel 80386's running Linux
xm_file=i386/xm-linux.h # with a.out format
@@ -751,7 +774,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
broken_install=yes
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
i[[3456]]86-*-linux*) # Intel 80386's running Linux
xm_file=i386/xm-linux.h # with ELF format
@@ -762,7 +784,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
broken_install=yes
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
i[[3456]]86-*-gnu*)
;;
@@ -876,7 +897,9 @@ for machine in $build $host $target; do
xmake_file=x-svr4
fixincludes=fixinc.svr4
broken_install=yes
- objc_thread_file=${enable_objcthreads-solaris}
+ if [[ x$thread_file = x ]]; then
+ thread_file='solaris'
+ fi
;;
i[[3456]]86-*-sysv4*) # Intel 80386's running system V.4
xm_file=i386/xm-sysv4.h
@@ -923,7 +946,9 @@ for machine in $build $host $target; do
xmake_file=i386/x-cygwin32
extra_objs=winnt.o
fixincludes=Makefile.in
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
exeext=.exe
;;
i[[3456]]86-*-mingw32)
@@ -933,7 +958,9 @@ for machine in $build $host $target; do
extra_objs=winnt.o
xmake_file=i386/x-cygwin32
fixincludes=Makefile.in
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
exeext=.exe
;;
i[[3456]]86-*-winnt3*)
@@ -949,7 +976,9 @@ for machine in $build $host $target; do
then
extra_programs=ld.exe
fi
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
;;
i[[3456]]86-dg-dgux)
xm_file=i386/xm-dgux.h
@@ -1300,7 +1329,9 @@ for machine in $build $host $target; do
xmake_file=m68k/x-next
extra_objs=nextstep.o
extra_headers=math-68881.h
- objc_thread_file=${enable_objcthreads-mach}
+ if [[ x$thread_file = x ]]; then
+ thread_file='mach'
+ fi
;;
m68k-sun-sunos3*)
if [[ x$with_fp = xno ]]
@@ -1378,7 +1409,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
extra_headers=math-68881.h
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
m68k-*-linux*) # Motorola m68k's running Linux
xm_file=m68k/xm-linux.h # with ELF format
@@ -1389,7 +1419,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
extra_headers=math-68881.h
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
m68k-*-psos*)
tmake_file=m68k/t-m68kbare
@@ -1482,7 +1511,9 @@ for machine in $build $host $target; do
fixincludes=fixinc.irix
xmake_file=mips/x-iris6
tmake_file=mips/t-iris6
- objc_thread_file=${enable_objcthreads-irix}
+ if [[ x$thread_file = x ]]; then
+ thread_file='irix'
+ fi
;;
mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
tm_file=mips/cross64.h
@@ -1493,7 +1524,9 @@ for machine in $build $host $target; do
tmake_file=mips/t-cross64
# See comment in mips/iris[56].h files.
use_collect2=yes
- objc_thread_file=${enable_objcthreads-irix}
+ if [[ x$thread_file = x ]]; then
+ thread_file='irix'
+ fi
;;
mips-sni-sysv4)
if [[ x$gas = xyes ]]
@@ -1535,7 +1568,9 @@ for machine in $build $host $target; do
tmake_file=mips/t-mips-gas
# See comment in mips/iris5.h file.
use_collect2=yes
- objc_thread_file=${enable_objcthreads-irix}
+ if [[ x$thread_file = x ]]; then
+ thread_file='irix'
+ fi
;;
mips-sgi-irix4loser*) # Mostly like a MIPS.
tm_file=mips/iris4loser.h
@@ -1555,7 +1590,9 @@ for machine in $build $host $target; do
then
use_collect2=yes
fi
- objc_thread_file=${enable_objcthreads-irix}
+ if [[ x$thread_file = x ]]; then
+ thread_file='irix'
+ fi
;;
mips-sgi-irix4*) # Mostly like a MIPS.
tm_file=mips/iris4.h
@@ -1575,7 +1612,9 @@ for machine in $build $host $target; do
then
use_collect2=yes
fi
- objc_thread_file=${enable_objcthreads-irix}
+ if [[ x$thread_file = x ]]; then
+ thread_file='irix'
+ fi
;;
mips-sgi-*) # Mostly like a MIPS.
tm_file=mips/iris3.h
@@ -2054,7 +2093,6 @@ for machine in $build $host $target; do
fi
xmake_file=rs6000/x-sysv4
fixincludes=Makefile.in
- objc_thread_file=${enable_objcthreads-single}
extra_headers=ppc-asm.h
;;
powerpc-*-vxworks*)
@@ -2098,7 +2136,9 @@ for machine in $build $host $target; do
tmake_file=rs6000/t-winnt
# extra_objs=pe.o
fixincludes=Makefile.in
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
extra_headers=ppc-asm.h
;;
powerpcle-*-pe | powerpcle-*-cygwin32)
@@ -2108,7 +2148,9 @@ for machine in $build $host $target; do
xmake_file=rs6000/x-cygwin32
# extra_objs=pe.o
fixincludes=Makefile.in
- objc_thread_file=${enable_objcthreads-win32}
+ if [[ x$thread_file = x ]]; then
+ thread_file='win32'
+ fi
exeext=.exe
extra_headers=ppc-asm.h
;;
@@ -2207,7 +2249,6 @@ for machine in $build $host $target; do
fixincludes=Makefile.in #On Linux, the headers are ok already.
broken_install=yes
gnu_ld=yes
- objc_thread_file=${enable_objcthreads-single}
;;
sparc-*-linux*) # Sparc's running Linux, ELF
xm_file=sparc/xm-linux.h
@@ -2219,7 +2260,6 @@ for machine in $build $host $target; do
# Don't use it. Linux uses a slightly different one.
# The real one comes with the Linux C library.
#extra_parts="crtbegin.o crtend.o"
- objc_thread_file=${enable_objcthreads-single}
;;
sparc-*-lynxos*)
if [[ x$gas = xyes ]]
@@ -2244,7 +2284,9 @@ for machine in $build $host $target; do
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
fixincludes=fixinc.svr4
broken_install=yes
- objc_thread_file=${enable_objcthreads-solaris}
+ if [[ x$thread_file = x ]]; then
+ thread_file='solaris'
+ fi
;;
sparc-*-sunos4.0*)
tm_file=sparc/sunos4.h
@@ -2571,10 +2613,9 @@ if [[ "$host_xm_file" != "$build_xm_file" ]]; then
fi
fi
-if [[ x$objc_thread_file = x ]]
-then objc_thread_file=${enable_objcthreads-single}
+if [[ x$thread_file = x ]]
+then thread_file='single'
fi
-echo "Using \`$srcdir/objc/thr-${objc_thread_file}.c' as Objective-C Runtime thread file."
# Set up the header files.
# $links is the list of header files to create.
@@ -2975,7 +3016,7 @@ AC_SUBST(build_xm_file_list)
AC_SUBST(host_xm_file_list)
AC_SUBST(lang_specs_files)
AC_SUBST(lang_options_files)
-AC_SUBST(objc_thread_file)
+AC_SUBST(thread_file)
AC_SUBST(version)
AC_SUBST(local_prefix)
AC_SUBST(gxx_include_dir)
@@ -3069,7 +3110,7 @@ host_xm_file_list='${host_xm_file_list}'
host_xm_file_sub='${host_xm_file_sub}'
lang_specs_files='${lang_specs_files}'
lang_options_files='${lang_options_files}'
-objc_thread_file='${objc_thread_file}'
+thread_file='${thread_file}'
version='${version}'
local_prefix='${local_prefix}'
gxx_include_dir='${gxx_include_dir}'