[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: squid3 com follow_x_forwarded_for



2009/10/10 Leandro Moreira <leandro@leandromoreira.eti.br>:
> henry,
> Acho que isso que voce levantou e muito grave, pois presume-se que um pacote
> pre-compilado, deve ter as funções listadas nao sei se estou sendo
> totalmente ignorantte, mas se vc ativar um um modulo nao disponivel a
> compilação nao deviria dar erro, tipo modulo nao encontrado, modulo
> indisponivel ou coisa parecida?
>
> Attl
>
> Leandro Moreira
>

Em primeiro lugar, vamos esclarecer o que um script configure faz.

Esse script é usado para automatizar a etapa final da preparação do
código a ser compilado, conferindo dependências (compilador,
bibliotecas, versões, etc), gerando alguns arquivos fontes que serão
usados - entre eles um .h com diretivas DEFINE de pré-compilação - e o
mais importante de todos, o sagrado Makefile.

A partir dessas constantes DEFINE definidas em um arquivo de cabeçalho
.h, porções dentro do código fonte podem ser selecionadas para
inclusão no binário ou não, dentre outras "customizações" que dependem
do gosto de usuário (caminhos absolutos de arquivos, bibliotecas,
etc).

Um exemplo simples: o programador não tem como saber se você quer
suporte a determinado recurso ou não. Dessa forma, ele usa uma
diretiva "#ifdef constanteX" dentro de seu código em determinado
trecho. Assim, se existir uma "constanteX" definida, aquele pedaço de
código entrará na compilação, fazendo parte do binário final. Quem
gera essa constanteX é o script configure, dentro de um arquivo
específico. (Ou mais de um, não sei exatamente.)

Pois bem, se algo deveria falhar quando um parâmetro desconhecido é
passado, essa coisa seria o script configure. Mas, pelo visto, ele
simplesmente ignora. Se o binário vai levar consigo uma string de
configuração que contém um parâmetro inexistente, bem, isso é culpa do
configure, novamente. Por que, se o fonte é totalmente ignorante à
existência de contantes desconhecidas geradas pelo script configure,
ou até mesmo parâmetros aceitos por ele em linha de comando, para os
quais não haja correspondência em código.

Eu não sou especialista em compilação, mas compreendo o básico sobre
isso. Pode ser que haja alguns erros em detalhes sobre o que eu falei,
mas a grosso modo é assim que funciona. E é por isso que não há motivo
algum para haver erros em tempo de compilação quando um parâmetro
errado é passado ao script de configuração. Agora, ele, o bendito
configure, sim, poderia reclamar e abortar.


Reply to: