본문 바로가기

MinGW

Goodbye COMMAND.COM, Welcome BASH 2016 빌드 컨퍼런스는 뜨거운 이슈가 없어 보였는데, 소리없이 커다란 관심을 끈 이슈가 하나 등장했다. MS가 캐노니컬과 협력하여 윈도우에 우분투(Ubuntoo) 서브시스템을 탑재한다는 것이 바로 그것이다. 사실, 윈도우는 유닉스 호환 운영체제다. 더 정확하게 말한다면 POSIX 표준을 준수하는 유닉스 호환 운영체제지만, POSIX 자체가 매우 낡은 표준이기 때문에 현대적인 유닉스와의 호환을 제공하는 것은 아니다. 특히, 유닉스 그 자체를 의미할 정도로 유닉스 시장을 장악한 리눅스의 성격을 생각한다면 더욱 그렇다. 여튼, 지금까지 윈도우는 생색 내기 수준의 유닉스 호환 기능을 제공해 왔다. 사용자 편의가 중요한 일반 데스크탑 시장에서는 여기에 신경 쓸 이유가 없지만, 서버 시장이나 개발자 관점에서 본다.. 더보기
MSYS Portable Install using MinGW MSYS는 시그윈(Cygwin)과 비슷하게, 윈도우 환경에서 최소한의 유닉스 시스템을 구성해준다. 시그윈이 유닉스 레이어를 구성하는 dll를 가지는 방식으로, 최대한의 호환성을 제공하는 것과 달리, MSYS는 최대한 유닉스 시스템과 호환성을 가지면서도 성능을 우선시한다. 즉, 생성되어 나오는 바이너리가 레이어를 거쳐 실행되는 시그윈과 달리, 직접적으로 윈도우 바이너리를 생성한다. 그러나 실행 성능은 좋다고는 할 수 없다. MSYS의 가치는, 수많은 유닉스 기반 프로그램들을 직접 컴파일할 수 있도록 해준다는데 있다. 유닉스 프로그램들은 주로 automake, autoconf와 같은 툴을 이용하여 배포되기 때문에, ./configure 스크립트를 처리할 수 있는 환경이 아니라면 프로그램이 이식성을 염두에 두.. 더보기
MinGW : gcc 4.4.0 Release! 오랫동안 기다려왔던 gcc 버전 4를 포함하는 MinGW가 릴리즈되었다. MinGW의 가치는 굳이 말을 하지 않아도 모두 알고 있을 것이다. 지구상에서 가장 널리 퍼진 크로스 컴파일러인 gcc의 윈도우 포트라는 것, 그리고 표준을 잘 준수하는 편에 속하는 좋은 컴파일러라는 점 말이다. 더구나, 무상으로 다양한 언어의 컴파일러와 그 소스까지 제공되니, 진정으로 GNU는 가난한 개발자들에게 신이 내린 선물이 아닐 수 없다. 하지만, 특히 MinGW의 가치는 이게 전부가 아니다. cygwin과 별도로, 정말 필요한 패키지가 있을 때 최소의 수정만으로도 포트를 할 수 있도록 도와주는 툴이기도 하다. 물론, 소스를 수정하지 않고 make를 두들겨서 바이너리를 얻을 수 있는 경우는 극히 드물지만, 경우에 따라서는 .. 더보기