Mercurial > octave
view build-aux/mk-octave-config-h.sh @ 21344:32651c9a1235
Fix typo from changeset 8376de2eaf00 (Bug #47250)
* build-aux/mk-octave-config-h.sh: remove stray 'n' from #define OCTAVE_API OCTAVE_IMPORT
author | John Donoghue |
---|---|
date | Thu, 25 Feb 2016 08:16:27 -0500 |
parents | 64be7d374f86 |
children | 06d15e4e611a |
line wrap: on
line source
#! /bin/sh # # Copyright (C) 2016 John W. Eaton # # 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 # <http://www.gnu.org/licenses/>. # Generate a header file that provides the public symbols from Octave's # autoconf-generated config.h file. See the notes at the top of the # generated octave-config.h file for more details. if [ $# -ne 1 ]; then echo "usage: mk-octave-config-h.sh CONFIG-FILE" 1>&2 exit 1 fi config_h_file=$1 cat << EOF /* DO NOT EDIT! Generated by mk-octave-config-h.sh. */ /* Copyright (C) 2016 John W. Eaton 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 <http://www.gnu.org/licenses/>. */ /* All Octave source files should begin with #if defined (HAVE_CONFIG_H) # include "config.h" #endif All public Octave header files should have the form #if ! defined (INCLUSION_GUARD_SYMBOL) #define INCLUSION_GUARD_SYMBOL 1 #include "octave-config.h" // Contents of header file. #endif In Octave source files, INCLUSION_GUARD_SYMBOL should have the form octave_NAME_h with NAME formed from the header file name with '-' replaced by '_'. It is safe to include octave-config.h unconditionally since it will expand to an empty file if it is included after Octave's autoconf-generated config.h file. Users of Octave's libraries should not need to include octave-config.h since all of Octave's header files already include it. */ #if ! defined (octave_octave_config_h) #define octave_octave_config_h 1 #if ! defined (OCTAVE_AUTOCONFIG_H_INCLUDED) #include <stdint.h> #if defined (__GNUC__) # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) # define OCTAVE_DEPRECATED(msg) __attribute__ ((__deprecated__ (msg))) # else # define OCTAVE_DEPRECATED(msg) __attribute__ ((__deprecated__)) # endif # define OCTAVE_NORETURN __attribute__ ((__noreturn__)) # define OCTAVE_UNUSED __attribute__ ((__unused__)) # define HAVE_OCTAVE_DEPRECATED_ATTR 1 # define HAVE_OCTAVE_NORETURN_ATTR 1 # define HAVE_OCTAVE_UNUSED_ATTR 1 #else # define OCTAVE_DEPRECATED(msg) # define OCTAVE_NORETURN # define OCTAVE_UNUSED /* # undef HAVE_OCTAVE_DEPRECATED_ATTR */ /* # undef HAVE_OCTAVE_NORETURN_ATTR */ /* # undef HAVE_OCTAVE_UNUSED_ATTR */ #endif #if defined (_MSC_VER) # define OCTAVE_EXPORT __declspec(dllexport) # define OCTAVE_IMPORT __declspec(dllimport) #else /* All other compilers, at least for now. */ # define OCTAVE_EXPORT # define OCTAVE_IMPORT #endif #define OCTAVE_API OCTAVE_IMPORT #define OCTINTERP_API OCTAVE_IMPORT #include <stdint.h> EOF octave_idx_type="`sed -n 's/#define OCTAVE_IDX_TYPE \([_a-zA-Z][_a-zA-Z0-9]*\)/\1/p' $config_h_file`" if test -z "$octave_idx_type"; then echo "mk-octave-config-h.sh: failed to find OCTAVE_IDX_TYPE in $config_h_file" 1>&2 exit 1 fi cat << EOF typedef $octave_idx_type octave_idx_type; EOF if grep "#define OCTAVE_ENABLE_FLOAT_TRUNCATE 1" $config_h_file > /dev/null; then echo "#define OCTAVE_FLOAT_TRUNCATE volatile" else echo "#define OCTAVE_FLOAT_TRUNCATE" fi grep "#\(undef\|define\) OCTAVE_ENABLE_64" $config_h_file grep "#\(undef\|define\) OCTAVE_ENABLE_ATOMIC_REFCOUNT" $config_h_file grep "#\(undef\|define\) OCTAVE_ENABLE_BOUNDS_CHECK" $config_h_file grep "#\(undef\|define\) OCTAVE_ENABLE_OPENMP" $config_h_file grep "#\(undef\|define\) OCTAVE_HAVE_FAST_INT_OPS" $config_h_file if grep "#undef HAVE_DEV_T" $config_h_file > /dev/null; then cat << EOF typedef short dev_t; EOF else cat << EOF /* typedef short dev_t; */ EOF fi if grep "#undef HAVE_INO_T" $config_h_file > /dev/null; then cat << EOF typedef unsigned long ino_t; EOF else cat << EOF /* typedef unsigned long ino_t; */ EOF fi have_roundl=no if grep "#define HAVE_ROUNDL" $config_h_file > /dev/null; then have_roundl=yes fi sizeof_long_double="`sed -n 's/#define SIZEOF_LONG_DOUBLE \([0-9]*\)/\1/p' $config_h_file`" if test -z "$sizeof_long_double"; then echo "mk-octave-config-h.sh: failed to find SIZEOF_LONG_DOUBLE in $config_h_file" 1>&2 exit 1 fi if test $sizeof_long_double -ge 10 && test $have_roundl = yes; then echo "#define OCTAVE_INT_USE_LONG_DOUBLE 1" if test $sizeof_long_double -lt 16; then cat << EOF #if (defined (__i386__) || defined (__x86_64__)) && defined (__GNUC__) # define OCTAVE_ENSURE_LONG_DOUBLE_OPERATIONS_ARE_NOT_TRUNCATED 1 #endif EOF else cat << EOF /* #undef OCTAVE_ENSURE_LONG_DOUBLE_OPERATIONS_ARE_NOT_TRUNCATED */ EOF fi else cat << EOF /* #undef OCTAVE_INT_USE_LONG_DOUBLE */ /* #undef OCTAVE_ENSURE_LONG_DOUBLE_OPERATIONS_ARE_NOT_TRUNCATED */ EOF fi cat << EOF #endif #endif EOF