UNIX 플랫폼에 상관없이 컴파일하도록 하려면 어떻게 해야할까요?
글쓴이: preppiepjh / 작성시간: 목, 2006/05/04 - 10:51오전
리눅스에서 잘 컴파일되는 소스를 UNIX (HP / AIX) 등에서도 잘 컴파일되도록 하고 싶습니다.
현재는 makefile를 가지고 make를 통해서 컴파일을 하고 있는데..
아파치나 php처럼 configure / make / make install를 하고 싶습니다.
찾아보니까
autoconf, automake, libtool를 이용하면 configure파일을 만들 수 있다는 것 같기는 한데..
autoconf, automake, libtool만 이용해서 configure파일을 만들면, 플랫폼에 상관없이 다 잘 컴파일될 수 있을까요?
고려해야할 점은 무엇이 있을까요?
제가 아는것보다는 모르는게 많아서.. 고수님들의 조언을 부탁드립니다.^^
Forums:
제 짧은 소견을 말씀드릴께요..
안녕하세요?
보통 리눅스에서 사용되어지는 개발도구들(위에서 말씀하신 autoconf, automake, libtool등..)은 GNU 라이센스들을 가지고 있습니다. 하지만, 다른 UNIX(System V6, Solaris, Iris, AIX등등)시스템들은 자신들의 개발도구들을 이용합니다.
하지만, 이런 UNIX계열 운영체제들은 아주 고가의 장비와 고가의 소프트웨어 라이센스를 요구하여, 요즘은 대부분 GNU쪽으로 돌아서고 있지요...
여기까지 여담이고요... 이런 UNIX계열용으로도 GNU 개발도구들이 많이 나와있습니다. 제가 테스트 해봤는데요... UNIX 전용 개발도구를 사용하여 GNU프로그램을 컴파일 하면 적지 않은 에러들이 나오더군요... 하지만, UNIX계열용으로 나온 GNU 개발도구를 사용하면 깨끗하게 컴파일되서 사용할 수 있습니다.
도움이 되셨기를... (이상하게 횡설 수설하는군요...ㅡ,.ㅡㆀ)
그것이 알고 싶당~
autoconf, automake,
autoconf, automake, libtool을 이용해서 configure 스크립트를 통해 makefile을 생성한다고 모든 유닉스에서 컴파일이 잘 된다는 보장은 없습니다.
물론 복잡하지 않은 프로그램이라면 별 어려움 없이 컴파일 되고 동작할 테지만 특정 유닉스 계열 고유의 시스템콜이나 POSIX표준을 지키지 않은 라이브러리를 이용했다거나 의존적인 라이브러리가 해당 유닉스에 포팅되지 않았으면 정상 동작은 기대하기 어렵습니다.
위의 툴들을 이용하면 해당 플랫폼에 맞춰서 다른 오브젝트 파일을 링크 시키게 할 수 있습니다. 문제가 생기면 거기서 풀어야 합니다. 아니면 플랫폼마다 ifdef 이런식으로 시스템마다 동작할 수 있게 맞춰줘야 합니다;
댓글 달기