2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2024-12-23 00:59:36 +08:00
gcc/libstdc++/configure.in
Marc Espie eca8ff3207 configure.in: Handle OpenBSD with and without threads.
* configure.in: Handle OpenBSD with and without threads.
        * config/openbsd.ml: New file.
        * config/openbsd.mt: New file.

From-SVN: r25291
1999-02-18 11:57:55 -07:00

159 lines
4.2 KiB
Plaintext

# This file is a shell script fragment that supplies the information
# necessary for a configure script to process the program in
# this directory. For more information, look at ../configure.
# If the language specific compiler does not exist, but the "gcc" directory does,
# we do not build anything. Note, $r is set by the top-level Makefile.
compiler_name=cc1plus
rm -f skip-this-dir
if test -n "$r"; then
if test -d "$r"/gcc; then
if test -f "$r"/gcc/$compiler_name; then
true
else
echo "rm -f multilib.out" > skip-this-dir
fi
fi
fi
if [ "${srcdir}" = "." ] ; then
if [ "${with_target_subdir}" != "." ] ; then
topsrcdir=${with_multisrctop}../..
else
topsrcdir=${with_multisrctop}..
fi
else
topsrcdir=${srcdir}/..
fi
if [ -d ${topsrcdir}/gcc ] ; then
configdirs="tests testsuite"
else
configdirs="tests"
fi
srctrigger=sinst.cc
srcname="ANSI C++ library"
package_makefile_frag=Make.pack
package_makefile_rules_frag=Make.pack.r
# per-host:
# per-target:
echo "# Warning: this fragment is automatically generated" > temp.mt
frags=
# If they didn't specify --enable-shared, don't generate shared libs.
case "${enable_shared}" in
yes) shared=yes ;;
no) shared=no ;;
*libstdc++*) shared=yes ;;
*) shared=no ;;
esac
if [ "${shared}" = "yes" ]; then
case "${target}" in
hppa*-*-*) frags=../../config/mh-papic ;;
i[3456]86-*-*) frags=../../config/mh-x86pic ;;
*-*-*) frags=../../config/mh-${target_cpu}pic ;;
esac
case "${target}" in
*-dec-osf*) frags="${frags} dec-osf.ml";;
*-*-hpux*) frags="${frags} hpux.ml" ;;
*-*-irix[56]*) frags="${frags} irix5.ml" ;;
*-*-linux*aout*) ;;
*-*-linux*) frags="${frags} linux.ml" ;;
*-*-openbsd*) frags="${frags} openbsd.ml" ;;
*-*-sysv[45]*|*-*-udk*) frags="${frags} elf.ml" ;;
*-*-solaris*) frags="${frags} sol2shm.ml" ;;
*-*-sunos4*) frags="${frags} sunos4.ml" ;;
*-*-aix*) frags="${frags} aix.ml" ;;
i[3456]86-*-interix*) frags="${frags} x86-interix.ml" ;;
esac
fi
# Make sure the right flags are defined for multi-threading.
case "${target}" in
alpha*-*-linux-gnulibc1) frags="${frags} linux.mt" ;;
powerpc*-*-linux-gnulibc1) frags="${frags} linux.mt" ;;
*-*-linux-gnu) frags="${frags} linux.mt" ;;
*-*-openbsd*)
case "x${enable_threads}" in
xyes|xposix) frags="${frags} openbsd.mt" ;;
esac;;
m68k-motorola-sysv) frags="${frags} delta.mt" ;;
*-*-solaris*)
case "x${enable_threads}" in
xposix) frags="${frags} sol2pth.mt" ;;
xsolaris) frags="${frags} sol2solth.mt" ;;
esac ;;
*)
case "x${enable_threads}" in
xposix) frags="${frags} posix.mt" ;;
esac ;;
esac
for frag in ${frags}; do
case ${frag} in
../* )
if [ ${srcdir} = . ]; then
[ -n "${with_target_subdir}" ] && frag=../${frag}
[ -n "${with_multisrctop}" ] && frag=${with_multisrctop}${frag}
fi
;;
esac
frag=${srcdir}/config/$frag
if [ -f ${frag} ]; then
echo "Appending ${frag} to target-mkfrag"
echo "# Following fragment copied from ${frag}" >> temp.mt
cat ${frag} >> temp.mt
fi
done
target_makefile_frag=target-mkfrag
${moveifchange} temp.mt target-mkfrag
LIBDIR=yes
TO_TOPDIR=../
ALL='libs'
XCXXINCLUDES="-I${srcdir} -I${srcdir}/stl -I${TO_TOPDIR}libio -I${srcdir}/${TO_TOPDIR}libio"
MOSTLYCLEAN='*.o pic stamp-picdir core so_locations $(MOSTLYCLEAN_JUNK)'
CLEAN='$(CLEAN_JUNK)'
EXTRA_DISTCLEAN='target-mkfrag'
(. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
. ${topsrcdir}/config.if
echo "
LIBSTDCXX_INTERFACE=${libstdcxx_interface}
CXX_INTERFACE=${cxx_interface}
LIBC_INTERFACE=${libc_interface}
" >> ${package_makefile_frag}
# This duplicated the AC_PROG_LN_S macro in GNU autoconf.
rm -f conttestdata
if ln -s X conftestdata 2>/dev/null
then
rm -f conftestdata
LN_S="ln -s"
else
LN_S=ln
fi
echo "
LN_S=$LN_S
" >> ${package_makefile_frag}
# post-target:
# If cross-compiling, we install in $(tooldir)/lib or in $(libsubdir)
# depending on --enable-version-specific-runtime-libs.
if [ -n "${with_cross_host}" ] ; then
rm -f Makefile.tem
sed \
-e 's|\(^[ ]*INSTALLDIR[ ]*=[ ]*\)\$(libdir)|\1$(tooldir)/lib|' \
Makefile >Makefile.tem
mv -f Makefile.tem Makefile
fi
. ${topsrcdir}/config-ml.in