gcc/libio/configure.in
Manfred Hollstein c3880e4577 config.shared: Emit everything which needs to be re-definable via file descriptor 1...
* config.shared: Emit everything which needs to be re-definable
        via file descriptor 1; the generic stuff is emitted using redirection
        onto fd 2.
        * configure.in (package_makefile_rules_frag): New variable
        which is used in the call to config.shared; redirect file descriptor 2
        to ${package_makefile_rules_frag}.

From-SVN: r17523
1998-01-27 15:25:13 -07:00

135 lines
4.0 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 [ "${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 dbz stdio testsuite"
else
configdirs="tests dbz stdio"
fi
srctrigger=libioP.h
srcname="input/output 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=
case "${target}" in
*-hpux*) frags=hpux.mt ;;
alpha*-*-linux-gnulibc1)
frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
powerpc*-*-linux-gnulibc1)
frags="linux.mt linuxaxp1.mt mtsafe.mt" ;;
*-linux-gnulibc1)
frags=linuxlibc1.mt ;;
*-linux-gnu) frags="linux.mt mtsafe.mt" ;;
*-sco3.2v[45]*) frags=sco4.mt ;;
*-isc*) frags=isc.mt ;;
*-netware*) frags=netware.mt ;;
*) frags=${target_cpu}.mt ;;
esac
case "${enable_shared}" in
yes) shared=yes ;;
no) shared=no ;;
*libio*) shared=yes ;;
*) shared=no ;;
esac
if [ "${shared}" = "yes" ]; then
case "${target}" in
hppa*-*) frags="${frags} ../../config/mh-papic" ;;
i[3456]86-*) frags="${frags} ../../config/mh-x86pic" ;;
alpha*-*-linux*)
frags="${frags} ../../config/mh-elfalphapic" ;;
*) frags="${frags} ../../config/mh-${target_cpu}pic" ;;
esac
fi
# Take care of header file lossage.
case "${target}" in
alpha*-*-linux-gnulibc1)
# For some reason stdio-lock.h is not installed on Red Hat systems.
# Further, libc-lock.h needs to define the pthreads stuff weak, and
# fails to do this for other than _LIBC. Install our own versions
# of these files.
cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
;;
powerpc*-*-linux-gnulibc1)
# For some reason stdio-lock.h is not installed on Red Hat systems.
# Further, libc-lock.h needs to define the pthreads stuff weak, and
# fails to do this for other than _LIBC. Install our own versions
# of these files.
cp ${srcdir}/config/linuxaxp1-libc-lock.h libc-lock.h
cp ${srcdir}/config/linuxaxp1-stdio-lock.h stdio-lock.h
;;
*-linux-gnu)
# We have a correct libc-lock.h in glibc 2.1 but not all glibc 2.0.
# Create a wrapper if necessary.
(echo "#include <bits/libc-lock.h>" | ${CC-cc} -E -) >/dev/null 2>&1 ||
{
echo "#include_next <libc-lock.h>" > libc-lock.h
echo 'asm (".weak _pthread_cleanup_pop_restore");' >> libc-lock.h
echo 'asm (".weak _pthread_cleanup_push_defer");' >> libc-lock.h
}
;;
esac
for frag in ${frags}; do
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='$(_G_CONFIG_H) libio.a libiostream.a iostream.list'
XCINCLUDES='-I. -I$(srcdir)'
XCXXINCLUDES='-I. -I$(srcdir)'
MOSTLYCLEAN='*.o pic stamp-picdir core iostream.list'
DISTCLEAN='config.status Makefile *~ Make.pack target-mkfrag multilib.out'
CLEAN='_G_config.h *.a'
INFO_FILES=iostream
if [ -n "${with_cross_host}" -a -d ${topsrcdir}/gcc ]; then
CHECK_SUBDIRS=testsuite
fi
(. ${srcdir}/config.shared) >${package_makefile_frag} 2>${package_makefile_rules_frag}
# post-target:
# If cross-compiling, don't build gperf or the utils. They
# will get built by the target compiler, which is confusing.
# We cannot test the installation. We install in $(tooldir).
if [ -n "${with_cross_host}" ] ; then
rm -f Makefile.tem
sed \
-e 's|INSTALLDIR.*=.*$|INSTALLDIR = $(tooldir)/lib|' \
Makefile >Makefile.tem
mv -f Makefile.tem Makefile
fi
. ${topsrcdir}/config-ml.in