This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[v3] allay some more target/host confusion
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 4 Jul 2003 14:07:12 -0400 (EDT)
- Subject: [v3] allay some more target/host confusion
Move more of libstdc++ configure to "host" from "target". None of the
logic is changing, just the names. This follows the
configure.target->configure.host move of some weeks back.
In addition, I removed some glibc 2.0 bits, since configure support
for this has been removed elsewhere.
tested x86/linux
2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am: Update target_ to host_.
* include/Makefile.in: Regenerate.
* src/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
Index: include/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/Makefile.am,v
retrieving revision 1.61
diff -c -p -r1.61 Makefile.am
*** include/Makefile.am 4 Jul 2003 07:14:51 -0000 1.61
--- include/Makefile.am 4 Jul 2003 17:59:29 -0000
*************** else
*** 315,352 ****
c_compatibility_headers_extra =
endif
! target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
! target_builddir = ./${target_alias}/bits
! target_headers = \
! ${target_srcdir}/ctype_base.h \
! ${target_srcdir}/ctype_inline.h \
! ${target_srcdir}/ctype_noninline.h \
! ${target_srcdir}/os_defines.h \
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \
${glibcpp_srcdir}/@FPOS_INC_SRCDIR@/fpos.h
! # Non-installed target_header files.
! target_headers_noinst = \
${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@
! # These target_headers_extra files are all built with ad hoc naming rules.
! target_headers_extra = \
! ${target_builddir}/basic_file.h \
! ${target_builddir}/c++config.h \
! ${target_builddir}/c++io.h \
! ${target_builddir}/c++locale.h \
! ${target_builddir}/messages_members.h \
! ${target_builddir}/time_members.h \
! ${target_builddir}/codecvt_specializations.h
!
! thread_target_headers = \
! ${target_builddir}/gthr.h \
! ${target_builddir}/gthr-single.h \
! ${target_builddir}/gthr-posix.h \
! ${target_builddir}/gthr-default.h
! pch_input = ${target_builddir}/stdc++.h
! pch_output_builddir = ${target_builddir}/stdc++.h.gch
pch_source = ${glibcpp_srcdir}/include/stdc++.h
PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
if GLIBCPP_BUILD_PCH
--- 315,352 ----
c_compatibility_headers_extra =
endif
! host_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@
! host_builddir = ./${host_alias}/bits
! host_headers = \
! ${host_srcdir}/ctype_base.h \
! ${host_srcdir}/ctype_inline.h \
! ${host_srcdir}/ctype_noninline.h \
! ${host_srcdir}/os_defines.h \
${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \
${glibcpp_srcdir}/@FPOS_INC_SRCDIR@/fpos.h
! # Non-installed host_header files.
! host_headers_noinst = \
${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@
! # These host_headers_extra files are all built with ad hoc naming rules.
! host_headers_extra = \
! ${host_builddir}/basic_file.h \
! ${host_builddir}/c++config.h \
! ${host_builddir}/c++io.h \
! ${host_builddir}/c++locale.h \
! ${host_builddir}/messages_members.h \
! ${host_builddir}/time_members.h \
! ${host_builddir}/codecvt_specializations.h
!
! thread_host_headers = \
! ${host_builddir}/gthr.h \
! ${host_builddir}/gthr-single.h \
! ${host_builddir}/gthr-posix.h \
! ${host_builddir}/gthr-default.h
! pch_input = ${host_builddir}/stdc++.h
! pch_output_builddir = ${host_builddir}/stdc++.h.gch
pch_source = ${glibcpp_srcdir}/include/stdc++.h
PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
if GLIBCPP_BUILD_PCH
*************** endif
*** 361,373 ****
# CLEANFILES and all-local are kept up-to-date.
allstamped = \
stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
! stamp-backward stamp-ext stamp-target
# List of all files that are created by explicit building, editing, or
# catenation.
allcreated = \
! ${target_builddir}/c++config.h \
! ${thread_target_headers} \
${pch_build}
# Here are the rules for building the headers
--- 361,373 ----
# CLEANFILES and all-local are kept up-to-date.
allstamped = \
stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
! stamp-backward stamp-ext stamp-host
# List of all files that are created by explicit building, editing, or
# catenation.
allcreated = \
! ${host_builddir}/c++config.h \
! ${thread_host_headers} \
${pch_build}
# Here are the rules for building the headers
*************** stamp-ext: ${ext_headers}
*** 440,457 ****
echo `date` > stamp-ext ;\
fi
! stamp-${target_alias}:
! @if [ ! -d ${target_builddir} ]; then \
! mkdir -p ${target_builddir} ;\
! echo `date` > stamp-${target_alias} ;\
fi
! # Target includes static.
! # XXX Missing dependency info for {target_headers_extra}
! stamp-target: ${target_headers} ${target_headers_noinst} stamp-${target_alias}
! @if [ ! -f stamp-target ]; then \
! (cd ${target_builddir} ;\
! @LN_S@ ${target_headers} . || true ;\
@LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
--- 440,457 ----
echo `date` > stamp-ext ;\
fi
! stamp-${host_alias}:
! @if [ ! -d ${host_builddir} ]; then \
! mkdir -p ${host_builddir} ;\
! echo `date` > stamp-${host_alias} ;\
fi
! # Host includes static.
! # XXX Missing dependency info for {host_headers_extra}
! stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias}
! @if [ ! -f stamp-host ]; then \
! (cd ${host_builddir} ;\
! @LN_S@ ${host_headers} . || true ;\
@LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
*************** stamp-target: ${target_headers} ${target
*** 459,471 ****
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\
! echo `date` > stamp-target ; \
fi
! # Target includes dynamic.
! ${target_builddir}/c++config.h: ${CONFIG_HEADER} \
${glibcpp_srcdir}/include/bits/c++config \
! stamp-${target_alias}
@cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCPP_HAVE_/g' \
-e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \
--- 459,471 ----
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\
! echo `date` > stamp-host ; \
fi
! # Host includes dynamic.
! ${host_builddir}/c++config.h: ${CONFIG_HEADER} \
${glibcpp_srcdir}/include/bits/c++config \
! stamp-${host_alias}
@cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCPP_HAVE_/g' \
-e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \
*************** ${target_builddir}/c++config.h: ${CONFIG
*** 474,503 ****
< ${CONFIG_HEADER} >> $@ ;\
echo "#endif // _CPP_CPPCONFIG_" >>$@
! # Target includes for threads
glibcpp_thread_h = @glibcpp_thread_h@
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
! ${target_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${target_alias}
sed -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCPP_\1/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${toplevel_srcdir}/gcc/gthr.h > $@
! ${target_builddir}/gthr-single.h: ${toplevel_srcdir}/gcc/gthr-single.h \
! stamp-${target_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
< ${toplevel_srcdir}/gcc/gthr-single.h > $@
! ${target_builddir}/gthr-posix.h: ${toplevel_srcdir}/gcc/gthr-posix.h \
! stamp-${target_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
-e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \
< ${toplevel_srcdir}/gcc/gthr-posix.h > $@
! ${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
! stamp-${target_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
-e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \
--- 474,503 ----
< ${CONFIG_HEADER} >> $@ ;\
echo "#endif // _CPP_CPPCONFIG_" >>$@
! # Host includes for threads
glibcpp_thread_h = @glibcpp_thread_h@
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
! ${host_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${host_alias}
sed -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCPP_\1/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< ${toplevel_srcdir}/gcc/gthr.h > $@
! ${host_builddir}/gthr-single.h: ${toplevel_srcdir}/gcc/gthr-single.h \
! stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
< ${toplevel_srcdir}/gcc/gthr-single.h > $@
! ${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/gcc/gthr-posix.h \
! stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
-e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \
< ${toplevel_srcdir}/gcc/gthr-posix.h > $@
! ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
! stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCPP_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCPP_\1/g' \
-e 's/\(${uppercase}*WEAK\)/_GLIBCPP_\1/g' \
*************** ${target_builddir}/gthr-default.h: ${top
*** 505,511 ****
< ${toplevel_srcdir}/gcc/${glibcpp_thread_h} > $@
# Build a precompiled C++ include, stdc++.h.gch.
! ${pch_input}: ${allstamped} ${target_builddir}/c++config.h ${pch_source}
touch ${pch_input}; \
if [ ! -d "${pch_output_builddir}" ]; then \
mkdir -p ${pch_output_builddir}; \
--- 505,511 ----
< ${toplevel_srcdir}/gcc/${glibcpp_thread_h} > $@
# Build a precompiled C++ include, stdc++.h.gch.
! ${pch_input}: ${allstamped} ${host_builddir}/c++config.h ${pch_source}
touch ${pch_input}; \
if [ ! -d "${pch_output_builddir}" ]; then \
mkdir -p ${pch_output_builddir}; \
*************** ${pch_input}: ${allstamped} ${target_bui
*** 519,525 ****
# components. Yes, with minor differences, this is sheer duplication
# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
! # target_headers_extra are taken out of the build tree staging area;
# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
--- 519,525 ----
# components. Yes, with minor differences, this is sheer duplication
# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
! # host_headers_extra are taken out of the build tree staging area;
# the rest are taken from the original source tree.
gxx_include_dir = @gxx_include_dir@
*************** install-headers:
*** 548,557 ****
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
for file in ${std_headers_rename}; do \
$(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
! $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${target_builddir}
! for file in ${target_headers} ${target_headers_extra} \
! ${thread_target_headers}; do \
! $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done
install-pch:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}
--- 548,557 ----
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
for file in ${std_headers_rename}; do \
$(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
! $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
! for file in ${host_headers} ${host_headers_extra} \
! ${thread_host_headers}; do \
! $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
install-pch:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}
Index: src/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/Makefile.am,v
retrieving revision 1.123
diff -c -p -r1.123 Makefile.am
*** src/Makefile.am 12 Jun 2003 03:24:16 -0000 1.123
--- src/Makefile.am 4 Jul 2003 17:59:30 -0000
*************** INCLUDES = \
*** 71,78 ****
$(TOPLEVEL_INCLUDES)
# Source files linked in via configuration/make substitution for a
! # particular target.
! target_sources = \
codecvt_members.cc \
collate_members.cc \
ctype_members.cc \
--- 71,78 ----
$(TOPLEVEL_INCLUDES)
# Source files linked in via configuration/make substitution for a
! # particular host.
! host_sources = \
codecvt_members.cc \
collate_members.cc \
ctype_members.cc \
*************** time_members.cc: ${glibcpp_srcdir}/@CTIM
*** 103,110 ****
@LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true
# Source files linked in via configuration/make substitution for a
! # particular target, but with ad hoc naming rules.
! target_sources_extra = \
basic_file.cc \
c++locale.cc
--- 103,110 ----
@LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true
# Source files linked in via configuration/make substitution for a
! # particular host, but with ad hoc naming rules.
! host_sources_extra = \
basic_file.cc \
c++locale.cc
*************** sources = \
*** 142,149 ****
strstream.cc \
valarray-inst.cc \
wstring-inst.cc \
! ${target_sources} \
! ${target_sources_extra}
VPATH = $(top_srcdir)/src:$(top_srcdir)
--- 142,149 ----
strstream.cc \
valarray-inst.cc \
wstring-inst.cc \
! ${host_sources} \
! ${host_sources_extra}
VPATH = $(top_srcdir)/src:$(top_srcdir)
Index: config/os/gnu-linux/os_defines.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/os/gnu-linux/os_defines.h,v
retrieving revision 1.2
diff -c -p -r1.2 os_defines.h
*** config/os/gnu-linux/os_defines.h 26 Sep 2002 05:25:10 -0000 1.2
--- config/os/gnu-linux/os_defines.h 4 Jul 2003 17:59:30 -0000
***************
*** 1,6 ****
// Specific definitions for GNU/Linux -*- C++ -*-
! // Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
--- 1,6 ----
// Specific definitions for GNU/Linux -*- C++ -*-
! // Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
***************
*** 38,67 ****
#include <features.h>
- #if !defined (__GLIBC__) || (__GLIBC__ == 2 && __GLIBC_MINOR__+ 0 == 0)
-
- // The types __off_t and __off64_t are not defined through <sys/types.h>
- // as _G_config assumes. For libc5 and glibc 2.0 instead use
- // <gnu/types.h> and the old name for __off64_t.
- #include <gnu/types.h>
- typedef __loff_t __off64_t;
-
- // These systems have declarations mismatching those in libio.h by
- // omitting throw qualifiers. Cleanest way out is to not provide
- // throw-qualifiers at all. Defining it as empty here will make libio.h
- // not define it.
- #undef __THROW
- #define __THROW
-
- // Tell Glibc not to try to provide its own inline versions of
- // some math functions. Those cause assembly-time clashes with
- // our definitions.
- #define __NO_MATH_INLINES
-
- #endif
-
- #if defined __GLIBC__ && __GLIBC__ >= 2
// We must not see the optimized string functions GNU libc defines.
#define __NO_STRING_INLINES
#endif
--- 38,45 ----
#include <features.h>
// We must not see the optimized string functions GNU libc defines.
+ #if defined __GLIBC__ && __GLIBC__ >= 2
#define __NO_STRING_INLINES
#endif