b11570: 테스트를 사용되는 라이브러리에만 연결하도록 수정 (#30299)
요약
이 업데이트는 llama_build()와 llama_build_and_test() 함수에 LINK 키워드를 도입하여, 테스트가 실제로 필요한 라이브러리만 명시적으로 연결하도록 수정했습니다. 이를 통해 ggml 전용 및 llama 전용 테스트의 의존성이 분리되고, 각 컴포넌트별로 더 정확한 빌드 환경을 구축할 수 있게 되었습니다.
핵심 포인트
- 테스트 시 필요한 라이브러리를 LINK 키워드로 명시 가능
- ggml 전용 테스트는 ggml만 연결하여 독립성 확보
- llama 전용 테스트는 llama-common 의존성을 제거함
llama_build()와 llama_build_and_test()에 LINK 키워드(기본값: llama-common)를 지정하여 호출 지점(call sites)에서 테스트가 실제로 무엇을 필요로 하는지 선언할 수 있게 되었습니다:
- ggml 전용 테스트는 이제 ggml만 연결합니다: test-opt, test-metal-graph-optimize, test-backend-ops, test-tiled-mulmat, test-barrier, test-quantize-fns, test-quantize-perf, test-rope, test-col2im-1d, test-gguf, test-alloc
- llama 전용 테스트는 llama-common을 제거합니다: test-unicode, test-sampling, test-grammar-parser, test-llama-grammar, test-batch-alloc, test-gbnf-validator, test-quant-type-selection
- mtmd의 모든 테스트는 mtmd만 연결하며, LLAMA_TEST_NAME / target_link_libraries 임시방편을 제거합니다.
두 헬퍼 함수 모두 이제 cxx_std_17을 명시적으로 설정합니다. 이는 테스트가 더 이상 llama-common의 PUBLIC 인터페이스로부터 이를 상속받지 않기 때문입니다.
tests/testing.h는 더 이상 common.h를 포함하지 않습니다. 여기서 사용되던 유일한 심볼(string_join)은 인라인 처리됩니다.
도움: pi:llama.cpp/Qwen3.8-Flash-Next
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기