automake의 AM_CONFIG_HEADER

익명 사용자의 이미지

gcc 명령행의 간소화를 위해 config.h를 만드는데
보통 자동화도구인 autoheader를 사용합니다.

따라서 configure.in에는 AC_CONFIG_HEADER매크로
를 사용하게 되는데

Makefile.in을 만들기위해 automake를 수행하면
꼭 위 AC_CONFIG_HEADER가 있는 부분에서
에러를 냅니다>
configure.in 9 'automake requires 'AM_CONFIG_HEADER', not 'AC_CONFIG_HEADER'

그래서 바꿔놓으면 또 이번에는 autoheader에서
AC_CONFIG_HEADER없다고 에러를 내거든요.

분명 제 잘못인거 같은데 아직 automake와 autoconf
에 대해 이해가 부족해 해결할 방도를 찾지 못하고
있습니다.
아시는 분은 좀 도와주십시요.

또 하나 더...
aclocal, autoheader, autoconf, automake... 이들을
어떤 순서로 실행해야 하나요?
(aclocal은 정확히 무슨작업을 해주는지 모르겠습니다.
이해가 잘 안돼요 T_T )

현재는 AC_CONFIG_HEADER로 configure.in에
집어놓고,
$ aclocal
$ autoheader
$ autoconf
$ automake
$ ./configure
$ make
순으로 진행하고 있습니다.
일단 빌드자체는 잘 됩니다.

답변주시는 분들께 미리 감사드립니다.

doogle

익명 사용자의 이미지

aclocal은 configure.in에서 쓰이는 m4 매크로를 위한 거라는데...

aclocal을 실행하면 aclocal.m4가 만들어지잖아요?
AM_CONFIG_HEADER를 쓴 후에 aclocal을 실행하면
aclocal.m4에 AM_CONFIG_HEADER가 정의되어 있을 것 같은데...
(근데 AC_CONFIG_HEADER와 AM_CONFIG_HEADER는 거의 같은 것 같습니다.)

사용 순서는

autoscan을 이용해 configure.scan생성
configure.scan 직접 편집하여 configure.in 생성
aclocal을 이용 aclocal.m4 생성
autoheader를 이용하여 config.h.in생성
Makefile.am을 만들고 automake을 이용하여 Makefile.in생성
autoconf를 이용하여 configure.in으로부터 configure스크립트 생성
configure 실행하여 Makefile, config.h 생성
make 하여 build

이정도 인 듯 합니다.

doogle wrote..
gcc 명령행의 간소화를 위해 config.h를 만드는데
보통 자동화도구인 autoheader를 사용합니다.

따라서 configure.in에는 AC_CONFIG_HEADER매크로
를 사용하게 되는데

Makefile.in을 만들기위해 automake를 수행하면
꼭 위 AC_CONFIG_HEADER가 있는 부분에서
에러를 냅니다>
configure.in 9 'automake requires 'AM_CONFIG_HEADER',
not 'AC_CONFIG_HEADER'

그래서 바꿔놓으면 또 이번에는 autoheader에서
AC_CONFIG_HEADER없다고 에러를 내거든요.

분명 제 잘못인거 같은데 아직 automake와 autoconf
에 대해 이해가 부족해 해결할 방도를 찾지 못하고
있습니다.
아시는 분은 좀 도와주십시요.

또 하나 더...
aclocal, autoheader, autoconf, automake... 이들을
어떤 순서로 실행해야 하나요?
(aclocal은 정확히 무슨작업을 해주는지 모르겠습니다.
이해가 잘 안돼요 T_T )

현재는 AC_CONFIG_HEADER로 configure.in에
집어놓고,
$ aclocal
$ autoheader
$ autoconf
$ automake
$ ./configure
$ make
순으로 진행하고 있습니다.
일단 빌드자체는 잘 됩니다.

답변주시는 분들께 미리 감사드립니다.


doogle

익명 사용자의 이미지

친절하게 답변주셔서 감사합니다.

말씀대로 해보니 신기하게 에러 하나도 안뜨고
잘 된답니다. ^o^

이제 libtool만 정복하면....

완전무결 빌드환경 구축하기도 쉽지 않군요. ^^;;;

doogle

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.