view libinterp/config-features.sh @ 16174:39096b290a2f

check syntax used to enable bison push/pull parser * acinclude.m4 (OCTAVE_PROG_BISON): Check for syntax used to enable push/pull parser. * common.mk (BISON_PUSH_PULL_DECL_STYLE): New variable. * libinterp/Makefile.am (BUILT_DISTFILES): Include oct-parse.yy in the list. (EXTRA_DIST): Include oct-pase.in.yy in the list. (ULT_DIST_SRC): New variable. (SRC_DEF_FILES, TST_FILES_SRC): Use $(ULT_DIST_SRC) instead of $(DIST_SRC). * find-defun-files.sh: Transform .in.yy instead of .yy. * libinterp/parse-tree/module.mk (parse-tree/oct-parse.yy): New target and rule to substitute push-pull decl. * oct-parse.in.yy: Rename from oct-parse.yy Substitute %PUSH_PULL_DECL%.
author John W. Eaton <jwe@octave.org>
date Sat, 02 Mar 2013 12:26:42 -0500
parents 2a4f83826024
children
line wrap: on
line source

#! /bin/sh

set -e
AWK=${AWK:-awk}

conffile=$1

cat << EOF
// DO NOT EDIT!  Generated automatically from $conffile by Make."

#include "oct-map.h"
#include "ov.h"

octave_scalar_map
octave_config_features (void)
{
  octave_scalar_map m;

EOF

$AWK \
  '/#define HAVE_/ {
     sub (/HAVE_/, "", $2);
     printf ("  m.assign (\"%s\", octave_value (true));\n", $2);
   }
   /\/\* #undef HAVE_/ {
     sub (/HAVE_/, "", $3);
     printf ("  m.assign (\"%s\", octave_value (false));\n", $3);
   } {
   }' $conffile

cat << EOF

  return m;
}
EOF