123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- ############################################################################
- # Copyright 2016 Intel Corporation
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- ############################################################################
- Import('*')
- import os
- env.PartVersion("9.0.1")
- env.PartName("ippcp")
- env.DependsOn([Component('ippcommon')])
- ipp_libname = '${PART_SHORT_NAME}'
- ipp_src_install_loc = 'epid/src/primitives/${IPP_DIR}/'
- env.ExportCPPPATH([AbsDir('sources/ippcp/src/')]) #ippcpepid needs this
- #includes to install
- install_headers = Pattern(src_dir='include/',
- includes=[
- 'ippcp.h',
- 'ippcpdefs.h',
- ],
- excludes=[],
- recursive=True)
- # common headers, for SdkInclude
- common_headers = Pattern(src_dir='include/',
- includes=['ippdefs.h',
- 'ippversion.h',
- 'ippcore.h',
- 'ippbase.h',
- 'ipptypes.h'],
- excludes=[],
- recursive=True)
- #files
- ippcp_files = Pattern(src_dir='sources/ippcp/src/',
- includes=[
- 'pcp*.c',
- ],
- excludes=[],
- recursive=True)
- ippdir = ''
- #internal ipp includes src/primitives/ipp/
- env.Append(CPPPATH=[AbsDir('include/')])
- env.Append(CPPPATH=[AbsDir('sources/ippcp/src/')])
- #ipp defines
- env.Append(CPPDEFINES='_IPP_v50_') #required for all ippcp
- env.Append(CPPDEFINES='_IPP_DEBUG') #enable function sanity checking
- if 'install_package' in env['MODE']:
- # All files at /ext/ipp/source/include
- env.InstallTopLevel(install_headers, sub_dir='ext/ipp/include')
- src_files = Pattern(src_dir='sources/ippcp/src/',
- includes=['*'],
- excludes=[''],
- recursive=True)
- env.InstallTopLevel(src_files, sub_dir='ext/ipp/sources/ippcp/src')
- this_file = Pattern(src_dir='.',
- includes=['ippcp.parts'],
- excludes=[],
- recursive=True)
- env.InstallTopLevel(this_file, sub_dir='ext/ipp/')
- makefile = Pattern(src_dir='./sources/ippcp',
- includes=['Makefile'],
- excludes=[],
- recursive=True)
- env.InstallTopLevel(makefile, sub_dir='ext/ipp/sources/ippcp')
- else:
- all_c_files = ippcp_files.files()
- outputs = env.Library(ipp_libname, all_c_files)
- env.SdkInclude(install_headers)
- env.SdkInclude(common_headers)
- if 'use_commercial_ipp' in env['MODE']:
- try:
- IPPROOT = os.environ['IPPROOT']
- except KeyError, e:
- env.PrintError("Necessary environment variable not set: ",
- e, show_stack=False)
- if env['TARGET_PLATFORM']['OS'] == 'win32':
- libpre = ''
- libpost = '.lib'
- IPP_TH_SYMBOL = 'mt'
- else:
- libpre = 'lib'
- libpost = '.a'
- IPP_TH_SYMBOL = ''
- if env['TARGET_PLATFORM']['ARCH'] == 'x86':
- archdir = 'ia32/'
- else:
- archdir = 'intel64/'
- ippcp_libname = libpre + 'ippcp' + IPP_TH_SYMBOL + libpost
- ippcore_libname = libpre + 'ippcore' + IPP_TH_SYMBOL + libpost
- ipp_dir = IPPROOT + '/lib/' + archdir
- env.SdkLib(ipp_dir + ippcp_libname)
- env.SdkLib(ipp_dir + ippcore_libname)
- else:
- env.SdkLib(outputs)
- if 'install_lib' in env['MODE']:
- env.InstallLib(outputs)
|