Mercurial > hg > octave-lyh
view bootstrap.conf @ 17335:fe6518a1d87c
Move TeX symbol decoding into the lexer (bug #39831).
* libinterp/Makefile.am (BUILT_SOURCES): Add corefcn/oct-tex-symbols.cc.
(BUILT_DISTFILES): Add corefcn/oct-tex-lexer.ll and
corefcn/oct-tex-symbols.cc.
(EXTRA_DIST): Add corefcn/oct-tex-lexer.in.ll and
corefcn/oct-tex-symbols.in.
(ULT_DIST_SRC): Filter out corefcn/oct-tex-lexer.ll from DIST_SRC and
add corefcn/oct-tex-lexer.in.ll instead.
(CLEAN_FILES): Add corefcn/oct-tex-parser.output.
* libinterp/corefcn/modules.mk (corefcn/oct-tex-lexer.ll,
corefcn/oct-tex-symbols.cc): New rules to build the TeX lexer.
(corefcn/txt-eng.cc): Add dependency on corefcn/oct-tex-symbols.cc.
* libinterp/corefcn/oct-tex-lexer.in.ll: Renamed from oct-tex.lexer.ll.
Remove COMMAND state. Remove ID regex. Replace rules for symbols with
tag @SYMBOL_RULES@.
* libinterp/corefcn/oct-tex-parser.yy (ID, CMD, identifier): Remove
tokens.
(SYM, sym): New token and value.
(symbol_element): Build from SYM.
* libinterp/corefcn/oct-tex-symbols.in: New file with supported TeX
symbols and corresponding codes (unicode and MS symbols).
* libinterp/corefcn/txt-eng.h (class text_element_symbol): Make it
inherit from text_element.
(text_element_symbol::code): Removed member.
(text_element_symbol::symbol): New member.
(text_element_symbol::text_element_symbol): Adapt constructor.
(text_element_symbol::get_symbol): New method.
(text_element_symbol::get_symbol_code): Make const.
* libinterp/corefcn/txt-eng.cc (symbol_names, symbol_codes): Remove
static variables, now auto-generated from oct-tex-symbols.in.
(oct-tex-symbols.cc): New include.
(text_element_symbol::get_symbol_code): Change implementation to simply
index into auto-generated symbol_codes array.
* libinterp/corefcn/txt-eng-ft.cc
(ft_render::visit(text_element_symbol)): Don't use
text_element_symbol::string_value(), use
text_element_symbol::get_symbol() instead.
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Sat, 24 Aug 2013 14:27:09 -0400 |
parents | a801d0ab5830 |
children | 4a348443de9b |
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" # Don't use git to update gnulib sources. We keep gnulib under a # Mercurial subrepository instead. use_git=false GNULIB_SRCDIR=gnulib-hg # Don't check for translations since we don't have any in Octave yet. # This avoids the need for sha1sum or compatible utility in bootstrap. SKIP_PO=true ## 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 }