| diff --git a/src/files.c b/src/files.c |
| index 0ef6e9c..a78d4f5 100644 |
| --- a/src/files.c |
| +++ b/src/files.c |
| @@ -552,6 +552,12 @@ pkgdatadir (void) |
| return relocate_buffer; |
| else |
| { |
| + char *bazel_runfiles_bison_pkgdatadir(); |
| + static char *bazel_pkgdatadir_p = NULL; |
| + if (bazel_pkgdatadir_p == NULL) { |
| + bazel_pkgdatadir_p = bazel_runfiles_bison_pkgdatadir(); |
| + } |
| + if (bazel_pkgdatadir_p != NULL) { return bazel_pkgdatadir_p; } |
| char const *cp = getenv ("BISON_PKGDATADIR"); |
| return cp ? cp : relocate2 (PKGDATADIR, &relocate_buffer); |
| } |
| @@ -560,7 +566,13 @@ pkgdatadir (void) |
| char const * |
| m4path (void) |
| { |
| - char const *m4 = getenv ("M4"); |
| + char *bazel_runfiles_m4(); |
| + static char *bazel_m4_p = NULL; |
| + if (bazel_m4_p == NULL) { |
| + bazel_m4_p = bazel_runfiles_m4(); |
| + } |
| + |
| + char const *m4 = bazel_m4_p? bazel_m4_p : (m4 = getenv ("M4")) ? m4 : M4; |
| if (m4) |
| return m4; |
| |
| diff --git a/src/main.c b/src/main.c |
| index 1185bf2..c0ae4a6 100644 |
| --- a/src/main.c |
| +++ b/src/main.c |
| @@ -63,6 +63,8 @@ |
| int |
| main (int argc, char *argv[]) |
| { |
| + void bazel_runfiles_init(const char *argv0); |
| + bazel_runfiles_init(argv[0]); |
| { |
| char *cp = getenv ("BISON_PROGRAM_NAME"); |
| if (cp) |