Mercurial > hg > octave-lyh
view bootstrap.conf @ 16195:b52d2f9294b6
use class for reading lexer input
* input.h, input.cc (octave_base_input_reader, octave_terminal_reader,
octave_file_reader, octave_eval_string_reader): New classes.
(octave_gets): Now a member function of octave_base_reader.
(get_user_input): Delete function. Move actions to
octave_terminal_reader::get_input and
octave_eval_string_reader::get_input.
function. Call from octave_file_reader::get_input. Don't check
whether reading an eval string.
(current_eval_string, get_input_from_eval_string): Delete global
variables.
(get_debug_input): Check CURR_LEXER->input_from_eval_string instead of
global get_input_from_eval_string variable. Don't protect
get_input_from_eval_string.
* lex.h (octave_lexer::input_reader): New data member.
(octave_lexer::octave_lexer (void)): Initialize it.
(octave_lexer::octave_lexer (const std::string&),
octave_lexer::octave_lexer (FILE *)): New constructors.
* lex.h, lex.cc (octave_lexer::input_buffer::fill): New function.
(octave_lexer::input_buffer::read): Delete.
(octave_lexer::read): Rename from octave_read. Call reader to get
input, and then hand it to the input_buffer instead of asking the
input buffer to read input. Change all callers.
(octave_lexer::input_source, octave_lexer::input_from_eval_string):
New functions. Call octave_lexer::input_from_eval_string instead of
using get_input_from_eval_string.
* oct-parse.in.yy (octave_parser::octave_parser (FILE *),
octave_parser::octave_parser (const std::string&)): New constructors.
(parse_fcn_file): Pass FILE pointer to octave_parser constructor.
(eval_string): Pass string to octave_parser constructor instead of
setting global current_eval_string variable.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 05 Mar 2013 10:19:51 -0500 |
parents | 3a93af21d206 |
children | a801d0ab5830 |
line wrap: on
line source
# Bootstrap configuration. # Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # gnulib modules used by this package. gnulib_modules=" base64 canonicalize chdir close closedir copysign copysignf crypto/md5 dup2 fclose fcntl fflush filemode float floor floorf fnmatch fopen fpucw fseek ftell getcwd gethostname getopt-gnu gettimeofday glob isatty largefile link lstat malloc-gnu mkdir mkfifo mkostemp mktime nanosleep nproc open opendir pathmax putenv progname readdir readlink realloc-gnu rename rmdir round roundf select sigaction signal sigprocmask sleep stat stddef stdint stdio strerror strftime strptime symlink sys_stat sys_time sys_times time times tmpfile trunc truncf unistd unlink vasprintf " # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\ --from-code=UTF-8\\\ --flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\ --flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\ --flag=wrapf:1:c-format\\\ ' # If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]" # appears in configure.ac, exclude some unnecessary files. # Without grep's -E option (not portable enough, pre-configure), # the following test is ugly. Also, this depends on the existence # of configure.ac, not the obsolescent-named configure.in. But if # you're using this infrastructure, you should care about such things. gettext_external=0 grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null && gettext_external=1 grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null && gettext_external=1 if test $gettext_external = 1; then # Gettext supplies these files, but we don't need them since # we don't have an intl subdirectory. excluded_files=' m4/glibc2.m4 m4/intdiv0.m4 m4/lcmessage.m4 m4/lock.m4 m4/printf-posix.m4 m4/size_max.m4 m4/uintmax_t.m4 m4/ulonglong.m4 m4/visibility.m4 m4/xsize.m4 ' fi # Build prerequisites buildreq="\ autoconf 2.59 automake 1.9.6 git 1.5.5 tar - " checkout_only_file=etc/HACKING gnulib_tool_option_extras="--libtool" gnulib_name="libgnu" source_base="libgnu" ## Use --foreign since we auto-generate the AUTHORS file and the default ## --gnu strictness level doesn't like it if the AUTHORS file is missing. AUTOMAKE="automake --foreign --warnings=no-portability" export AUTOMAKE bootstrap_post_import_hook () { ## Check for files that automake --gnu would normally look for, except ## AUTHORS, which we autogenerate from the documentation files along ## with building the rest of Octave, and INSTALL, which is linked from ## gnulib/doc/INSTALL by the bootstrap script. for f in NEWS README COPYING CITATION; do if ! test -f $f; then echo "required file $f is missing" 2>&1 exit 1 fi done echo "generating source lists for liboctave/operators/module.mk..." (cd liboctave/operators; ./config-ops.sh) echo "generating doc/interpreter/images.mk..." (cd doc/interpreter; ./config-images.sh) echo "generating libinterp/dldfcn/module.mk..." (cd libinterp/dldfcn; ./config-module.sh) } bootstrap_epilogue () { ## G77 is obsolete, but it is still the first option in the autoconf ## Fortran macros. We should avoid it, because mixing old versions of ## g77 with modern gcc and g++ causes trouble. The following will ## make it harder (but not impossible) for users to make this mistake. ## ## FIXME -- we should really work to fix autoconf so that it prefers ## gfortran over g77 even when searching for a Fortran 77 compiler. echo "replacing all occurrences of g77 with gfortran in configure script..." sed 's/g77/gfortran/g' configure > configure.t mv configure.t configure chmod 755 configure }