UNIX 플랫폼에 상관없이 컴파일하도록 하려면 어떻게 해야할까요?

preppiepjh의 이미지

리눅스에서 잘 컴파일되는 소스를 UNIX (HP / AIX) 등에서도 잘 컴파일되도록 하고 싶습니다.

현재는 makefile를 가지고 make를 통해서 컴파일을 하고 있는데..
아파치나 php처럼 configure / make / make install를 하고 싶습니다.

찾아보니까
autoconf, automake, libtool를 이용하면 configure파일을 만들 수 있다는 것 같기는 한데..

autoconf, automake, libtool만 이용해서 configure파일을 만들면, 플랫폼에 상관없이 다 잘 컴파일될 수 있을까요?

고려해야할 점은 무엇이 있을까요?

제가 아는것보다는 모르는게 많아서.. 고수님들의 조언을 부탁드립니다.^^

fanta1의 이미지

안녕하세요?
보통 리눅스에서 사용되어지는 개발도구들(위에서 말씀하신 autoconf, automake, libtool등..)은 GNU 라이센스들을 가지고 있습니다. 하지만, 다른 UNIX(System V6, Solaris, Iris, AIX등등)시스템들은 자신들의 개발도구들을 이용합니다.

하지만, 이런 UNIX계열 운영체제들은 아주 고가의 장비와 고가의 소프트웨어 라이센스를 요구하여, 요즘은 대부분 GNU쪽으로 돌아서고 있지요...
여기까지 여담이고요... 이런 UNIX계열용으로도 GNU 개발도구들이 많이 나와있습니다. 제가 테스트 해봤는데요... UNIX 전용 개발도구를 사용하여 GNU프로그램을 컴파일 하면 적지 않은 에러들이 나오더군요... 하지만, UNIX계열용으로 나온 GNU 개발도구를 사용하면 깨끗하게 컴파일되서 사용할 수 있습니다.

도움이 되셨기를... (이상하게 횡설 수설하는군요...ㅡ,.ㅡㆀ)

그것이 알고 싶당~

소타의 이미지

autoconf, automake, libtool을 이용해서 configure 스크립트를 통해 makefile을 생성한다고 모든 유닉스에서 컴파일이 잘 된다는 보장은 없습니다.

물론 복잡하지 않은 프로그램이라면 별 어려움 없이 컴파일 되고 동작할 테지만 특정 유닉스 계열 고유의 시스템콜이나 POSIX표준을 지키지 않은 라이브러리를 이용했다거나 의존적인 라이브러리가 해당 유닉스에 포팅되지 않았으면 정상 동작은 기대하기 어렵습니다.

위의 툴들을 이용하면 해당 플랫폼에 맞춰서 다른 오브젝트 파일을 링크 시키게 할 수 있습니다. 문제가 생기면 거기서 풀어야 합니다. 아니면 플랫폼마다 ifdef 이런식으로 시스템마다 동작할 수 있게 맞춰줘야 합니다;

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.