* NIX 플랫폼에서 소스 코드를 빌드하는 일반적인 방법 중 하나는 configure
스크립트를 사용하는 것입니다. 내부적으로, configure는 당신이 접근 할 수있는 라이브러리를 결정하기 위해 많은 테스트 프로그램을 만들려고합니다. 그런 다음 매크로에 일련의 매크로를 정의한 프로젝트에 포함 된 헤더 파일을 생성하여 프로그래머가 대체 프로그램을 제공하거나 특정 "종속성"이없는 라이브러리/프로그램을 제거합니다. numpy.distutils
을 사용하여 기능상으로 동등한 것이 있습니까? 예를 들어 numpy distutils - 실패한 경우 무언가를 컴파일하고 플래그를 설정하십시오.
setup.py
:
from numpy.distutils.misc_util import Configuration
def configuration(parent_package='',top_path=None):
config = Configuration('pyggcm',parent_package,top_path)
#TODO: Currently, I have some macros to conditionally build the seek-code
#Unfortunately, that's not the best solution (by far). Perhaps if we
#changed to using stream access it would work better, without the need
#for these silly macros.
config.add_extension('_fortfile',sources=['_fortfile/_fortfile.F90'],
define_macros=[
('FSEEKABLE',1), #compiler provides fseek and ftell
('HAVE_STREAM',1) #compiler provides access='stream' for opening files. (f2003 standard)
])
config.add_extension('jrrle',sources=['jrrle/jrrle.f90'])
config.add_scripts(['scripts/ggcm_timehist',
'scripts/ggcm_plasmasheet',
'scripts/ggcm_plot'])
return config
from numpy.distutils.core import setup
setup(configuration=configuration)
이 무조건 FSEEKABLE
코드를 구축하고 사용자 포트란 컴파일러는 그 (매크로는 fseek
포장 지원하지 않는 경우 수동으로 편집 할 필요가있다 및 ftell
GNU 내장 함수). Fortran 컴파일러가 이러한 내장 함수를 제공하는지 여부를 결정하는 방법이 있습니까?
누락 된 단어 : * ... 같은 도구를 구축 할 수있다 ... *? – Tshepang