Как сделать бинарный бинарный файл с переносимым путем dataroot - PullRequest
0 голосов
/ 29 сентября 2019

Сборка бизон из источника, может быть сделана с помощью обычного ./configure && make && make install.

Моя работа заключается в создании бинарного бинарного файла, который также может использоваться на других машинах.

Чтобы указать путь сборки зубров, можно использовать параметр --prefix, например,

$ ./configure --prefix=/home/users/yuhao10/bison-3.4/output

Дерево построенных файлов зубров выглядит так:

├── bin
│   ├── bison
│   └── yacc
├── lib
│   └── liby.a
└── share
    ├── bison
    │   ├── m4sugar
    │   │   ├── foreach.m4
    │   │   └── m4sugar.m4

со многими неважными файламиопущено.

Проблема в том, что встроенный двоичный файл bison всегда ищет файлы m4sugar по тому же абсолютному пути, в который он встроен.

Если в некоторые из них ставится bisonслучайный путь на других машинах, он сообщит

./bison: /home/users/yuhao10/bison-3.4/output/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory

Есть ли способ создать или запустить bison, который освобождает файлы данных, такие как m4sugar от относительного пути?

...