acinclude.m4: New macro, GLIBCPP_ENABLE_CXX_FLAGS.

2000-05-09  Phil Edwards  <pme@sourceware.cygnus.com>

	* acinclude.m4:  New macro, GLIBCPP_ENABLE_CXX_FLAGS.
	* configure.in:  Call.
	* src/Makefile.am:  Append results of macro to AC_CXXFLAGS.
	* aclocal.m4:  Regenerate.
	* configure:  Ditto.
	* src/Makefile.in:  Ditto.
	* docs/configopts.html:  Document.
	* docs/download.html:  Fix typo (close quote).
	* docs/footer.html:  Update.

From-SVN: r33805
This commit is contained in:
Phil Edwards 2000-05-09 20:25:13 +00:00 committed by Phil Edwards
parent 3b304f5b7d
commit dcfa0bc8ce
10 changed files with 303 additions and 176 deletions

View File

@ -1,3 +1,15 @@
2000-05-09 Phil Edwards <pme@sourceware.cygnus.com>
* acinclude.m4: New macro, GLIBCPP_ENABLE_CXX_FLAGS.
* configure.in: Call.
* src/Makefile.am: Append results of macro to AC_CXXFLAGS.
* aclocal.m4: Regenerate.
* configure: Ditto.
* src/Makefile.in: Ditto.
* docs/configopts.html: Document.
* docs/download.html: Fix typo (close quote).
* docs/footer.html: Update.
2000-05-09 Loren J. Rittle <ljrittle@acm.org>
* backward/iostream.h: Expose endl. Guard wide types.

View File

@ -620,6 +620,48 @@ AC_SUBST(DEBUGFLAGS)
])
dnl
dnl Check for "unusual" flags to pass to the compiler while building.
dnl
dnl GLIBCPP_ENABLE_CXX_FLAGS
dnl --enable-cxx-flags='-foo -bar -baz' is a general method for passing
dnl experimental flags such as -fhonor-std, -fsquangle, -Dfloat=char, etc.
dnl Somehow this same set of flags must be passed when [re]building
dnl libgcc.
dnl --disable-cxx-flags passes nothing.
dnl + See <URL:>
dnl + Usage: GLIBCPP_ENABLE_CXX_FLAGS(default flags)
dnl If "default flags" is an empty string, the effect is the same
dnl as --disable or --enable=no.
AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
AC_ARG_ENABLE(cxx-flags,
changequote(<<, >>)dnl
<< --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
[default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
changequote([, ])dnl
[case "x$enableval" in
xyes) AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
xno|x) enable_cxx_flags= ;;
*) enable_cxx_flags="$enableval" ;;
esac],
enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')dnl
dnl Run through flags (either default or command-line) and set things.
if test -n "$enable_cxx_flags"; then
for f in $enable_cxx_flags; do
case "$f" in
-fhonor-std) AC_DEFINE(_GLIBCPP_USE_NAMESPACES) ;;
-*) ;;
*) # and we're trying to pass /what/ exactly?
AC_MSG_ERROR([compiler flags start with a -]) ;;
esac
done
fi
EXTRA_CXX_FLAGS="$enable_cxx_flags"
AC_SUBST(EXTRA_CXX_FLAGS)
])
dnl
dnl Check for certain special build configurations.
dnl

View File

@ -632,6 +632,48 @@ AC_SUBST(DEBUGFLAGS)
])
dnl
dnl Check for "unusual" flags to pass to the compiler while building.
dnl
dnl GLIBCPP_ENABLE_CXX_FLAGS
dnl --enable-cxx-flags='-foo -bar -baz' is a general method for passing
dnl experimental flags such as -fhonor-std, -fsquangle, -Dfloat=char, etc.
dnl Somehow this same set of flags must be passed when [re]building
dnl libgcc.
dnl --disable-cxx-flags passes nothing.
dnl + See <URL:>
dnl + Usage: GLIBCPP_ENABLE_CXX_FLAGS(default flags)
dnl If "default flags" is an empty string, the effect is the same
dnl as --disable or --enable=no.
AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl
define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl
AC_ARG_ENABLE(cxx-flags,
changequote(<<, >>)dnl
<< --enable-cxx-flags=FLAGS pass compiler FLAGS when building library;
[default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT],
changequote([, ])dnl
[case "x$enableval" in
xyes) AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;;
xno|x) enable_cxx_flags= ;;
*) enable_cxx_flags="$enableval" ;;
esac],
enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT')dnl
dnl Run through flags (either default or command-line) and set things.
if test -n "$enable_cxx_flags"; then
for f in $enable_cxx_flags; do
case "$f" in
-fhonor-std) AC_DEFINE(_GLIBCPP_USE_NAMESPACES) ;;
-*) ;;
*) # and we're trying to pass /what/ exactly?
AC_MSG_ERROR([compiler flags start with a -]) ;;
esac
done
fi
EXTRA_CXX_FLAGS="$enable_cxx_flags"
AC_SUBST(EXTRA_CXX_FLAGS)
])
dnl
dnl Check for certain special build configurations.
dnl

355
libstdc++-v3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -31,6 +31,7 @@ GLIBCPP_ENABLE_LONG_LONG
GLIBCPP_ENABLE_THREADS
#GLIBCPP_ENABLE_NAMESPACES(yes)
#GLIBCPP_ENABLE_RELIBGCC([../..])
GLIBCPP_ENABLE_CXX_FLAGS([])
if test -n "$with_cross_host"; then

View File

@ -9,7 +9,7 @@
<TITLE>libstdc++-v3 configure options</TITLE>
<LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: configopts.html,v 1.2 2000/03/21 03:54:40 bkoz Exp $ -->
<!-- $Id: configopts.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ -->
</HEAD>
<BODY>
@ -28,7 +28,7 @@ options</A></H1>
<HR>
<P>Here are some of the non-obvious options to libstdc++'s configure.
Keep in mind that
<!-- This should be the "Choosing Package Options" section. -->
<!-- This SECnn should be the "Choosing Package Options" section. -->
<A HREF="http://sourceware.cygnus.com/autoconf/autoconf.html#SEC74">they
all have opposite forms as well</A>
(enable/disable and with/without). The defaults are for the latest
@ -63,7 +63,7 @@ options</A></H1>
I/O package (from
<A HREF="http://sourceware.cygnus.com/glibc/">glibc</A>, the
GNU C library), or 'wince' to specify the Microsoft Windows CE
library. Eventually a generic cstdio interface will be added
library. Eventually a generic cstdio interface will be added
so that people who want to use libstdc++-v3 with say, the Palm
Pilot, will be able to use libstdc++-v3 without libio.
</P>
@ -118,18 +118,17 @@ options</A></H1>
transparently.
</P>
<!--
<DT><TT>--enable-func-flags=FLAGS</TT>
<DT><TT>--enable-cxx-flags=FLAGS</TT>
<DD><P>With this option, you can pass a string of -f (functionality)
flags to the compiler to use when building libstdc++. FLAGS
is a quoted string of options, like
<PRE>
--enable-func-flags='-fsquangle -fvtable-gc -ansi'</PRE>
--enable-cxx-flags='-fsquangle -fvtable-gc -ansi'</PRE>
Note that the flags don't necessarily have to all be -f flags,
as shown, but usually those are the ones that will make sense
for experimentation and configure-time overriding.
</P>
<P>The advantage of --enable-func-flags over setting CXXFLAGS in
<P>The advantage of --enable-cxx-flags over setting CXXFLAGS in
the 'make' environment is that, if libgcc is automatically
rebuilt, the same flags will be used when compiling those files
as well, so that everything matches.
@ -144,7 +143,6 @@ options</A></H1>
and -fno- forms of the same. Tell us (the mailing list) if
you discover more!
</P>
-->
</DL>
</P>
<P>Return <A HREF="#top">to the top of the README</A> or
@ -156,7 +154,7 @@ options</A></H1>
<HR>
<P CLASS="fineprint"><EM>
$Id: configopts.html,v 1.2 2000/03/21 03:54:40 bkoz Exp $
$Id: configopts.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $
</EM></P>

View File

@ -26,8 +26,8 @@
<B>highly</B> recommended, as it will reduce the bandwidth required.
<LI>You can
<A HREF="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/libstdc++?cvsroot=gcc>browse
the CVS repository over the web</a>.
<A HREF="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/libstdc++-v3?cvsroot=gcc">browse
the CVS repository over the web</A>.
</UL>
</P>

View File

@ -10,7 +10,7 @@ These pages are stoically maintained by
<A HREF="mailto:pme@sourceware.cygnus.com">Phil Edwards</a>, who might now
actually be able to maintain them as the directory structure is slowly
congealing into some kind of permanent structure, and were last modified on
2000-04-29.
2000-05-09.
</EM></P>
<!-- And this closes everything out. -->

View File

@ -42,7 +42,7 @@ WERROR = -Werror
# -fdata-sections -ffunction-sections \
# -fvtable-gc -Wl,--gc-sections
# AC_CXXFLAGS = @OPTLEVEL@ @DEBUGFLAGS@ @NAMESPACES@
AC_CXXFLAGS = @CPUFLAGS@ @DEBUGFLAGS@
AC_CXXFLAGS = @CPUFLAGS@ @DEBUGFLAGS@ @EXTRA_CXX_FLAGS@
AM_CXXFLAGS = -fno-implicit-templates \
-Wall -Wno-format -W -Wwrite-strings -Winline $(WERROR) \
$(OPTIMIZE_CXXFLAGS) $(AC_CXXFLAGS)

View File

@ -75,6 +75,7 @@ CXXCPP = @CXXCPP@
DEBUGFLAGS = @DEBUGFLAGS@
DLLTOOL = @DLLTOOL@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GCC_OBJDIR = @GCC_OBJDIR@
GLIBCPP_CFLAGS = @GLIBCPP_CFLAGS@
GLIBCPP_CXXFLAGS = @GLIBCPP_CXXFLAGS@
@ -119,7 +120,7 @@ WERROR = -Werror
# -fdata-sections -ffunction-sections \
# -fvtable-gc -Wl,--gc-sections
# AC_CXXFLAGS = @OPTLEVEL@ @DEBUGFLAGS@ @NAMESPACES@
AC_CXXFLAGS = @CPUFLAGS@ @DEBUGFLAGS@
AC_CXXFLAGS = @CPUFLAGS@ @DEBUGFLAGS@ @EXTRA_CXX_FLAGS@
AM_CXXFLAGS = -fno-implicit-templates \
-Wall -Wno-format -W -Wwrite-strings -Winline $(WERROR) \
$(OPTIMIZE_CXXFLAGS) $(AC_CXXFLAGS)