Você está perto.
Primeiro, a variável M4
precisa ser definida para o caminho do arquivo de programa M4 real, não para o diretório em que ela está. Provavelmente, um uso mais comum para essa variável do que o seu caso é selecionar vários programas M4 que já estão no PATH
, então você precisa nomear o executável real. É comum em sistemas operacionais do tipo BSD ter a plataforma m4
e, em seguida, um programa GNU M4, talvez chamado gm4
, por exemplo. Você pode querer usar a versão GNU do M4 enquanto constrói o GNU Bison, e esta variável permite que você faça isso. O script, caso contrário, encontraria a versão do BSD primeiro, em nosso sistema de exemplo.
Em segundo lugar, acho que sua modificação PATH
está sendo ignorada. A menos que você export
o PATH
, o novo valor estará disponível apenas para o shell. Você tem duas maneiras de corrigir isso:
export PATH=$HOME/local/flex/bin/:$PATH
ou:
PATH=$HOME/local/flex/bin/:$PATH ../configure --flags-and-stuff-here
A segunda versão faz a alteração apenas para o script configure
. Qualquer programa que o script inicie não verá o PATH
alterado, a menos que ele exporte o novo valor.
Pessoalmente, eu faria isso da primeira maneira em um de seus scripts de inicialização (por exemplo, ~/.bash_profile
), porque você também desejará a sua versão pessoal do Flex depois de instalar o Bison. Efetue logout, depois volte e tente executar flex
para testá-lo. Se isso funcionar, o script Bison configure
também deverá encontrar essa versão.