http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html
-all-static
출력 파일이 프로그램이면 linking을 하지 않는다.
출력 파일이 라이브러리라면 단지 정적 라이브러리만을 생성한다. 일반적으로 이 flag는 diable-static과 함께 사용할수 없다.
-avoid-version
라이브러리와 모듈을 위한 버전닝을 하지 않음. 즉, 버전 정보가 없다는 내용이 저장되고 symbolick 링크가 생성되지는 않는다.
시스템에서 버전 정보를 요청하면 이 옵션은 효과가 없다.
-bindir
실행 파일을 설치하기 위한 디렉토리 절대 패스를 전달한다. libtool은 동적 라이브러리를 설치하기 위해서 이 패스를 시스템에 제공한다.
libtool은 라이브러리 검색 경로로써 PATH 값과 프로그램 디렉토리 제공 그리고 어떤 라이브러리도 하드코딩으로 제공하지 않는다.
이런 방식은 일반적으로 윈도우에서는 DLL, 다른 시스템에서 PE(Portable Executable) 형식을 사용한다.
다른 시스템 환경에서는 -bindir은 무시된다.
기본값으로 libdir에 라이브러리를 설치하기 위해 libdir/../bin을 사용한다. bindir은 모듈용으로는 사용하지 마라.
-dlopen file
-dlpreopen file과 동일하다. 호스트 플랫폼에서 native dlopen을 지원하지 않거나, 프로그램이 -static, static-libtool-libs or -all-static으로 링킹돼 있으면 효
과가 없다.
파라미녀 file이 self이면 Libtool은 프로그램이 스스로 dlopen을 실행할수 있는지 확인한다. 반면에 가능하다면 -exeport-dynamic 또는 -dlpreopen으로 동작한다.
-dlpreopen file
출력프로그램으로 연결하고 먼저 로딩된 심볼리스트에 심볼들을 추가한다.
파라미터 file이 self이면, 프로그램 자체의 심볼은 먼저 로딩된 심볼 리스트에 추가된다.
파라미터 file이 force이면 LibTool은 먼저 로딩된 심볼 리르스가 이미 defined되었는지 그럼에도 불구하고 비었거나 그렇지 않은지 확인한다.
-export-dynamic
dlsym로 해석된 output-file 심볼들을 허용한다.
-eport-symbols symfile
symfile에 있는 심볼리스트만들 링킹하도록 링커에서 얘기한다. 심볼파일은 파일 확장자가 .sym이고 라인마다 하나의 심볼명을 포함하고 있어야한다. 이옵션은 같은
플랫폼상에서는 영향이 없다.
기본적으로 모든 심볼은 밖으로 출력된다.
-export-symbols-regex regex
-export-symbols와 정규표현을 매칭하기 위한 심볼은 exported 된것을 제외하면 같다. 기본적으로 모든 심볼은 exported
-Llibdir
-no-undefined
출력 파일은 command line에 출력된 것보다 어떤 라이브러리와도 의존성을 가지지 않음을 선언한다. 즉 링킹후에 unresoluved symbols이 없을 것이다. 몇몇 플랫폼은
라이브러리 산출물에 있는 동적 라이브러리에서 모든 심볼을 요구한다.
그리고 해당 파라미터를 사용하는 것은 더이상 이런 것이 발생하지 않음을 가정하여 libtool 사용을 허가한다.
-shared
output-file이 프로그램이면 설치되지 않은 공유라이브러리에 대한 링크이다.( default 동작 ), ouput-file이 라이브러리이면 오직 동적 라이브러리만을 생성한다.
libtool은 --disable-shared와 함께 사용하거나 동적 라이브러리를 서버에서 지원하지 않으면 에러를 출력한다.
-static
output-file이 프로그램이면 설치되지 않은 공유라이브러리에 대해서 링크하지 않는다. output-file이 라이브러리이면 정적 라이브러리만 생성한다.
'C언어' 카테고리의 다른 글
warning: passing argument of discards qualifiers from pointer target type (0) | 2013.07.30 |
---|---|
error while loading shared libraries (0) | 2013.04.21 |
"configure: error: C++ preprocessor "/lib/cpp" fails sanity check" (0) | 2013.01.29 |
automake & autoconf (0) | 2012.06.18 |
external MERGE SORT (0) | 2012.05.24 |