X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/040984073a54b4c603172be3c3f44b908ea5deb9..b09a18c50d221b54e6bc94e03deb65ecd52c4288:/src/output.c diff --git a/src/output.c b/src/output.c index 9bc806f1..c0be5b0b 100644 --- a/src/output.c +++ b/src/output.c @@ -20,7 +20,7 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - +#include #include "system.h" #include @@ -577,6 +577,7 @@ output_skeleton (void) /* Read and process m4's output. */ timevar_push (TV_M4); + end_of_output_subpipe (pid, filter_fd); in = fdopen (filter_fd[1], "r"); if (! in) error (EXIT_FAILURE, get_errno (), @@ -600,6 +601,16 @@ prepare (void) /* File names. */ MUSCLE_INSERT_STRING ("prefix", spec_name_prefix ? spec_name_prefix : "yy"); +#define DEFINE(Name) MUSCLE_INSERT_STRING (#Name, Name ? Name : "") + DEFINE (dir_prefix); + DEFINE (parser_file_name); + DEFINE (spec_defines_file); + DEFINE (spec_file_prefix); + DEFINE (spec_graph_file); + DEFINE (spec_name_prefix); + DEFINE (spec_outfile); + DEFINE (spec_verbose_file); +#undef DEFINE /* User Code. */ obstack_1grow (&pre_prologue_obstack, 0); @@ -616,8 +627,12 @@ prepare (void) skeleton = "yacc.c"; } - /* Parse the skeleton file and output the needed parsers. */ - MUSCLE_INSERT_C_STRING ("skeleton", skeleton); + /* About the skeletons. */ + { + char const *pkgdatadir = getenv ("BISON_PKGDATADIR"); + MUSCLE_INSERT_STRING ("pkgdatadir", pkgdatadir ? pkgdatadir : PKGDATADIR); + MUSCLE_INSERT_C_STRING ("skeleton", skeleton); + } }