BSD에서 소프트웨어를 구축하는 데 선호되는 방법은 무엇입니까?

BSD에서 소프트웨어를 구축하는 데 선호되는 방법은 무엇입니까?

BSD에서 소프트웨어를 구축할 때 선호하는 방식이 무엇인지, GNU autotools를 적극적으로 사용하고 장려하고 있는지 알고 싶습니다.

GNU autoconf에 관한 섹션을 찾았습니다.OpenBSD 매뉴얼:

autoconf는 이식 가능한 프로그램 작성을 돕기 위해 설계된 GNU 도구입니다. 이는 일반적으로 automake(이식 가능한 makefile) 및 libtool(이식 가능한 공유 라이브러리)과 함께 사용됩니다.

이러한 도구는 제대로 작동하지 않으며 소프트웨어를 OpenBSD로 포팅할 때 종종 특정 문제를 야기합니다.

별로 고무적이지 않은 것 같습니다. OpenBSD에는 autotool과 유사한 프로그램이 있습니까? 구성 스크립트를 직접 작성해야 합니까? 예를 들어 OpenSSH가 있습니다.자동 구성을 사용합니다.

FreeBSD에는 중립 섹션이 있습니다.수동, 하지만 여전히 '특별 참고사항' 섹션에 있습니다.

다양한 GNU 자동화 도구는 다양한 운영 체제 및 기계 아키텍처에서 소프트웨어를 구축하기 위한 추상화 메커니즘을 제공합니다. [...]

답변1

일반적으로 특정 BSD 버전을 대상으로 하는 경우 해당 BSD( 또는 또는 make라고도 함 bmake) 를 사용합니다 . 이는 구축하려는 특정 유형의 대상에 대해 사전 정의된 다양한 규칙 세트를 제공합니다.bsdmakepmake

예를 들어 NetBSD에서는bsd.prog.mk일반적으로 프로그램을 빌드하는 데 사용됩니다. 프로그램 이름과 소스 파일을 선언하기만 하면 올바른 설정으로 컴파일러와 링커가 자동으로 호출됩니다. 또한 이를 통해 프로그램이 build.sh(소스 코드에서 전체 운영 체제를 구축하는 NetBSD 프로그램)에 통합될 수 있습니다. 이는 사용자가 직접 수행할 필요 없이 DESTDIR 및 크로스 컴파일 설정과 같은 항목을 자동으로 선택하기 때문입니다.아무것특별한. 라이브러리 구축 등을 위한 유사한 규칙 파일도 있습니다.

어디에서나 사용할 때 가장 큰 장애물은 휴대성이 매우 좋지 않다는 것입니다. 당신은 또한 볼 수 있습니다이 토론BSD make의 장점과 단점에 대해.

답변2

OpenBSD가 기본 시스템에서 내 프로그램 중 하나를 사용하는 경우 구성 스크립트를 무시할 수 있음을 발견했습니다.

하지만 다시 말하지만 그들은 아마 그렇지 않을 것입니다. 누가 작업을 했는지에 따라 다릅니다.

  • 살쾡이(분명히 구성 스크립트가 사용되지만 일부 패치는 구성 확인을 제거합니다...)

그러나 포트 영역에서는 구성 스크립트가 허용됩니다. 포트 관리자가 단순히 autoconf를 더 이상 사용하지 않는다는 이유만으로 makefile을 빌드하는 것을 본 지 꽤 되었습니다.

답변3

"공식적으로 선호되는 BSD" 방법이 있는지 확실하지 않지만 제가 선호하는 방법은 cmake입니다. 구성 단계를 수행하고 make 파일을 생성하기 때문에 이름이 오해의 소지가 있지만 make 또는 gmake를 대체하지는 않습니다. xcode, qtcreator, Visual Studio, borland 및 기타 여러 프로젝트 파일뿐만 아니라 unix makefile도 생성할 수 있습니다.

Cmake의 구문은 명확하고 이해하기 쉽습니다. 또한 구성 옵션을 조정하는 데 사용할 수 있는 cli 및 gui 애플리케이션을 제공하는데, 이는 구성 명령 뒤에 항목 목록을 추가하는 것보다 쉽다고 생각합니다.

관련 정보