2012-07-09 6 views
0

몇 가지 경로를 사용하는 autotools 프로젝트의 스크립트가 있습니다. 스크립트에서 ./configure 중에 사용자가 입력 한 접두어를 전달하고 싶습니다. ./configure 중에 설정된 디렉토리에 파일을 반향시키는 bash 스크립트가 있다고 가정 해 보겠습니다. 가장 좋은 방법은 무엇입니까? myscript.sh.hpp를 preprocessor에서 사용하고 myscript.sh.hpp로 대체하여 선행 처리기에 -DMYPATH를 전달하여 myscript.sh를 적절한 경로로 생성하는 방법에 대해 생각하고 있습니다. 그게 올바른 방향인가?autotools 프로젝트 - 스크립트에서 접두사 변수 사용

+0

, 당신은 좀 더 구체적인 예를 들어 줄 수 있습니까? – ptomato

+0

나는이 bash는 스크립트 #!/빈/bash는 같은 LS는/usr/sbin에 나는 그것은는/usr/sbin에 기본적으로 만 사용할 수 때 덮어 쓰기하는 원하는 경로를 하드 코드 싶지 않아 설치. 나는. ./configure --prefix =/usr/local/sbin &&이 파일을 생성 할 것입니다. #!/bin/bash ls/usr/local/sbin – Artem

+0

여기에 무엇이 요청되는지는 알기가 어렵습니다. 또는 'hpp'소스? (하하) -하지만 [AC_SUBST] (http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Setting-Output-Variables.html)를 사용해야하는 것처럼 들립니다. # Setting-Output-Variables) –

답변

1

prefix은 소프트웨어가 설치된 위치이며 실제로는 bash과 같은 것을 찾는 올바른 장소가 아닙니다. bash 인터프리터를 지정하거나 PATH를 조사하여 bash를 찾고 그 값을 사용할 수있는 기능을 사용자에게 제공하는 것이 좋습니다. 그러나 종종 스크립트에서 prefix을 참조하는 것이 바람직합니다. 가장 쉬운 방법은 config.status으로 확장하는 것입니다. configure.ac에서 :

AC_CONFIG_FILES([foo]) 

및 foo.in에서 나는 당신의 질문을 이해하지

@[email protected]