automake 시에 AM_CONFIG_HEADERS 를 자꾸 찾을때
내 밥벌이 :
2009/11/23 00:22
우선, autotools 의 따라하기는 아래와 같다.
순서를 안지켜도 상관은 없지만..
configure 먼저 생성하고 make 쪽을 생성한는게 좀 나이스 해 보인다.
순서를 안지켜도 상관은 없지만..
configure 먼저 생성하고 make 쪽을 생성한는게 좀 나이스 해 보인다.
- autoscan 으로 configure.scan 파일 생성하기
- configure.scan 을 configure.ac 로 이름바꾸기 (configure.in 은 더이상쓰지 않겠다!!)
- configure.ac 에 AM_INIT_AUTOMAKE, AC_CONFIG_FILES([Makefile]) 을 추가하기
- aclocal 로 m4 매크로 포함시켜주기
- autoheader 로 config.h.in 생성하기
- autoconf 로 configure 생성하기
- Makefie.am 파일 생성하기
- automake --copy --add-missing --foreign 으로 Makefile.in 생성하기
- configure 떄려서 Makefile 와 config.h 생성하기
사실위에건 에러 안나게 한방에 진행되는 나이스인경우고,
순서를 안지키게되면, configure.ac 를 수정할때 aclocal 이라던지 autoconf 등등을 실행
시켜줘야한다.
즉, 안되면 이것저것 다시 다 때리면 되는 경우가 많다.
#
글을 쓴 목적은 automake 가 AM_CONFIG_HEADERS 를 찾는 경우가있다.
실제 autoscan 으로 scan 파일을 만들면 AC_CONFIG_HEADER 을 디폴트로 던져준다.
즉 automake 와 다른 auto 유틸의 버전이 맞지 않아서 매크로가 똑같지 않아서인 듯하다.
요즘 우분투니 이런식으로 해결할수있다.
automake 버전이 1.4 대인 경우 주로 발생하는것같다.
apt-get install automake1.9 ; apt-get remove automake1.4 이걸 써서 해결했다.
혹시 같은 문제로 고민하는 사람들에게 도움이 되었으면한다.
#
Makefile.am 에 library 생성을 넣게 되면, configure.ac 에 AC_PROG_LIBTOOL 을 넣어줘야한다.
libtool 을 쓰지 않을 것이라면, AC_PROG_RANLIB 로도 library 생성은 가능하다.
libtool 을 쓴다면 libtoolize --automake --copy --force 를써서 la 를 사용하는 libtool 환경을
만들어 주자.
libtools 를 쓸것이라면, Makefile.am 에는 lib_LIBRARIES 매크로로 la 사용임을 알려주어야
automake 시 에러가 뜨지 않는다.
'내 밥벌이' 카테고리의 다른 글
| svn+ssh 암호 입력안하기.. (0) | 2009/11/23 |
|---|---|
| automake 시에 AM_CONFIG_HEADERS 를 자꾸 찾을때 (0) | 2009/11/23 |
| vi 이전위치 기억이 잘안될때? (0) | 2009/09/30 |
| 네이트 네트워크 사이트맵 오픈 (0) | 2009/07/01 |