Mercurial > hg > octave-terminal
changeset 4094:3e631060ab8f
[project @ 2002-10-09 02:12:30 by jwe]
author | jwe |
---|---|
date | Wed, 09 Oct 2002 02:13:07 +0000 |
parents | 5a82e874999b |
children | 60abc5f86565 |
files | ChangeLog Makeconf.in aclocal.m4 configure.in |
diffstat | 4 files changed, 74 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2002-10-08 John W. Eaton <jwe@bevo.che.wisc.edu> + * aclocal.m4 (OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION): New macro. + * configure.in: Use it. + + * configure.in (BUILD_CC, BUILD_CFLAGS, BUILD_CXX, BUILD_CXXFLAGS): + Set default values if cross compiling. + * aclocal.m4 (OCTAVE_PROG_NM): Do the right thing for cross compiling. (OCTAVE_CXX_PREPENDS_UNDERSCORE): Require OCTAVE_PROG_NM. (OCTAVE_CXX_ABI): Likewise.
--- a/Makeconf.in +++ b/Makeconf.in @@ -113,8 +113,8 @@ ALL_CFLAGS = $(INCFLAGS) $(DEFS) $(XTRA_CFLAGS) $(CFLAGS) BUG_CFLAGS = $(DEFS) $(XTRA_CFLAGS) $(CFLAGS) -BUILD_CC = $(CC) -BUILD_CFLAGS = $(CFLAGS) +BUILD_CC = @BUILD_CC@ +BUILD_CFLAGS = @BUILD_CFLAGS@ DEPEND_FLAGS = @DEPEND_FLAGS@ DEPEND_EXTRA_SED_PATTERN = @DEPEND_EXTRA_SED_PATTERN@ @@ -129,8 +129,8 @@ UGLY_ALL_CXXFLAGS = $(INCFLAGS) $(UGLY_DEFS) $(XTRA_CXXFLAGS) $(CXXFLAGS) BUG_CXXFLAGS = $(DEFS) $(XTRA_CXXFLAGS) $(CXXFLAGS) -BUILD_CXX = $(CXX) -BUILD_CXXFLAGS = $(CXXFLAGS) +BUILD_CXX = @BUILD_CXX@ +BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ CPPFLAGS = @CPPFLAGS@
--- a/aclocal.m4 +++ b/aclocal.m4 @@ -353,6 +353,48 @@ fi ]) dnl +dnl Check to see if GNU C++ barfs on #pragma interface/#pragma implementation. +dnl +dnl OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION +AC_DEFUN(OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION, [ + AC_REQUIRE([AC_PROG_CXX]) + AC_MSG_CHECKING([for C++ support for pragma interface/implementation]) + AC_CACHE_VAL(octave_cv_cxx_pragma_interface_implementation, [ + AC_LANG_PUSH(C++) + rm -f conftest.h + cat > conftest.h <<EOB +#include <iostream> +#if defined (__GNUG__) +#pragma interface +#endif +template <class T> class A +{ +public: + A (void) {} + ~A (void); +}; + +class B : public A<int> +{ +public: + + B (void) : A<int> () { } +}; +EOB + AC_TRY_LINK([#include "conftest.h"], [ + ], + octave_cv_cxx_pragma_interface_implementation=yes, + octave_cv_cxx_pragma_interface_implementation=no + ) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($octave_cv_cxx_pragma_interface_implementation) + if test $octave_cv_cxx_pragma_interface_implementation = no; then + XTRA_CXXFLAGS="$XTRA_CXXFLAGS -DNO_PRAGMA_INTERFACE_IMPLEMENTATION=1" + AC_SUBST(XTRA_CXXFLAGS) + fi +]) +dnl dnl Check for flex dnl AC_DEFUN(OCTAVE_PROG_FLEX, [
--- a/configure.in +++ b/configure.in @@ -22,7 +22,7 @@ ### 02111-1307, USA. AC_INIT -AC_REVISION($Revision: 1.372 $) +AC_REVISION($Revision: 1.373 $) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) @@ -318,6 +318,27 @@ AC_SUBST(LD_STATIC_FLAG) OCTAVE_CXX_PREPENDS_UNDERSCORE +OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION + +### Defaults for cross compiling. BUILD_CC and BUILD_CXX are +### the compilers that we use for building tools on the build system. + +if test "$cross_compiling" = yes; then + BUILD_CC="gcc" + BUILD_CFLAGS="-O2 -g" + BUILD_CXX="g++" + BUILD_CXXFLAGS="-O2 -g" +else + BUILD_CC=$CC + BUILD_CFLAGS="-O2 -g" + BUILD_CXX="g++" + BUILD_CXXFLAGS="-O2 -g" +fi + +AC_ARG_VAR(BUILD_CC, [build system C compiler (used if cross compiling)]) +AC_ARG_VAR(BUILD_CFLAGS, [build system C compiler flags (used if cross compiling)]) +AC_ARG_VAR(BUILD_CXX, [build system C++ compiler (used if cross compiling)]) +AC_ARG_VAR(BUILD_CXXFLAGS, [build system C++ compiler flags (used if cross compiling)]) dnl This is bogus. We shouldn't have to explicitly add libc too!