view bootstrap.conf @ 19010:3fb030666878 draft default tip dspies

Added special-case logical-indexing function * logical-index.h (New file) : Logical-indexing function. May be called on octave_value types via call_bool_index * nz-iterators.h : Add base-class nz_iterator for iterator types. Array has template bool for whether to internally store row-col or compute on the fly Add skip_ahead method which skips forward to the next nonzero after its argument Add flat_index for computing octave_idx_type index of current position (with assertion failure in the case of overflow) Move is_zero to separate file * ov-base-diag.cc, ov-base-mat.cc, ov-base-sparse.cc, ov-perm.cc (do_index_op): Add call to call_bool_index in logical-index.h * Array.h : Move forward-declaration for array_iterator to separate header file * dim-vector.cc (dim_max): Refers to idx-bounds.h (max_idx) * array-iter-decl.h (New file): Header file for forward declaration of array-iterator * direction.h : Add constants fdirc and bdirc to avoid having to reconstruct them * dv-utils.h, dv-utils.cc (New files) : Utility functions for querying and constructing dim-vectors * idx-bounds.h (New file) : Utility constants and functions for determining whether things will overflow the maximum allowed bounds * interp-idx.h (New function : to_flat_idx) : Converts row-col pair to linear index of octave_idx_type * is-zero.h (New file) : Function for determining whether an element is zero * logical-index.tst : Add tests for correct return-value dimensions and large sparse matrix behavior
author David Spies <dnspies@gmail.com>
date Fri, 25 Jul 2014 13:39:31 -0600
parents 4ff59f43f7ec
children
line wrap: on
line source

# Bootstrap configuration.

# Copyright (C) 2009-2013 John W. Eaton
# 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
  frexp
  frexpf
  fseek
  ftell
  getcwd
  gethostname
  getopt-gnu
  gettimeofday
  glob
  isatty
  largefile
  link
  log
  log2
  log2-ieee
  log2f
  log2f-ieee
  logf
  lstat
  malloc-gnu
  mbrtowc
  mkdir
  mkfifo
  mkostemp
  mktime
  nanosleep
  nproc
  open
  opendir
  pathmax
  progname
  putenv
  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
  uname
  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

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
}