view bootstrap.conf @ 33433:761b404e9569 default tip @

profile.m: Stop profiler when "clear" option given. * profile.m: Document that option "clear" will also stop profiler. In "clear" case statement, call "__profiler_enable__ (false)" if profiler is running. Simplify "status" case statement by using ifelse function. Remove obsolete BIST test.
author Rik <rik@octave.org>
date Thu, 18 Apr 2024 19:43:23 -0700
parents e50806e3f370
children
line wrap: on
line source

# Bootstrap configuration.

########################################################################
##
## Copyright (C) 2009-2024 The Octave Project Developers
##
## See the file COPYRIGHT.md in the top-level directory of this
## or <https://octave.org/copyright/>.
##
## This file is part of Octave.
##
## Octave 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.
##
## Octave 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 Octave; see the file COPYING.  If not, see
## <https://www.gnu.org/licenses/>.
##
########################################################################

# gnulib modules used by this package.
gnulib_modules="
  areadlink
  base64
  bison
  canonicalize
  chdir
  clock-time
  close
  closedir
  crypto/md2-buffer
  crypto/md4-buffer
  crypto/md5-buffer
  crypto/sha1-buffer
  crypto/sha256-buffer
  crypto/sha512-buffer
  dup2
  fcntl
  fflush
  filemode
  fnmatch
  fpucw
  frexp
  frexpf
  fseek
  ftell
  ftruncate
  getcwd
  gethostname
  getopt-gnu
  getrusage
  gettimeofday
  gethrxtime
  glob
  intprops
  isatty
  largefile
  lib-symbol-visibility
  link
  localcharset
  lstat
  malloc-gnu
  mkdir
  mkfifo
  mkostemp
  mkostemps
  mktime
  nanosleep
  nproc
  nstrftime
  open
  opendir
  pipe-posix
  progname
  putenv
  raise
  readdir
  readline
  rewinddir
  rmdir
  select
  setlocale
  sigaction
  signal
  sigprocmask
  stat
  stddef
  stdio
  strcase
  strdup-posix
  strerror
  strptime
  strsignal
  symlink
  sys_stat
  sys_time
  sys_times
  sys_wait
  tempname
  uname
  unicase/u8-tolower
  unicase/u8-toupper
  uniconv/u16-conv-from-enc
  uniconv/u16-conv-to-enc
  uniconv/u32-conv-to-enc
  uniconv/u8-conv-from-enc
  uniconv/u8-conv-to-enc
  unictype/ctype-alnum
  unictype/ctype-alpha
  unictype/ctype-blank
  unictype/ctype-cntrl
  unictype/ctype-digit
  unictype/ctype-graph
  unictype/ctype-lower
  unictype/ctype-print
  unictype/ctype-punct
  unictype/ctype-space
  unictype/ctype-upper
  unictype/ctype-xdigit
  unistd
  unistr/u16-to-u8
  unistr/u32-to-u8
  unistr/u8-check
  unistr/u8-mbsnlen
  unistr/u8-strmblen
  unistr/u8-strmbtouc
  unistr/u8-to-u16
  unistr/u8-to-u32
  unlink
  unsetenv
  vasprintf
  waitpid
  windows-spawn
"

# Additional gnulib files and scripts used by Octave's buildsystem.
gnulib_files="
  build-aux/move-if-change
"

# 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.md
gnulib_tool_option_extras="--libtool"
gnulib_name="libgnu"
source_base="libgnu"

# Go to https://git.savannah.gnu.org/cgit/gnulib.git to find out the latest
# revision ID.  Paste it below and then run
#
#   ./bootstrap --bootstrap-sync
#
# to update the ./bootstrap file from the selected gnulib revision,
# followed by
#
#   patch -p1 -u < ./build-aux/gnulib-bootstrap-git-fetch.diff
#
# to apply local changes from build-aux/gnulib-bootstrap-git-fetch.diff

: ${GNULIB_REVISION=7a38f30f925db7d486460c18df41413f3c7ef74b}

# 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 ()
{
  SHELL=${CONFIG_SHELL-/bin/sh}
  export SHELL

  ## 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.  NEWS is autogenerated
  ## from etc/NEWS.x.

  for f in 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..."

  rm -f liboctave/operators/*-op-*.mk
  (cd liboctave/operators && $SHELL config-ops.sh)

  echo "generating doc/interpreter/images.mk..."

  rm -f doc/interpreter/images.mk
  (cd doc/interpreter && $SHELL config-images.sh)

  echo "generating libinterp/dldfcn/module.mk..."

  rm -f libinterp/dldfcn/module.mk
  (cd libinterp/dldfcn && $SHELL config-module.sh)
}