blob: a860889d908d03524f3970c90ff1f1897494f839 [file] [log] [blame]
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)