ippcpepid.parts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ############################################################################
  2. # Copyright 2016 Intel Corporation
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. ############################################################################
  16. Import('*')
  17. env.PartVersion("9.0.1")
  18. env.PartName("ippcpepid")
  19. env.DependsOn([
  20. Component('ippcommon'),
  21. Component('ippcp'),
  22. ])
  23. IPP_LIBNAME = '${PART_SHORT_NAME}'
  24. env.ExportCPPPATH([AbsDir('sources/ippcp/src/')]) #ippcpepid needs this
  25. #includes to install
  26. install_headers = Pattern(src_dir='include/',
  27. includes=[
  28. 'ippcpepid.h',
  29. ],
  30. excludes=[],
  31. recursive=True)
  32. # common headers, for SdkInclude
  33. common_headers = Pattern(src_dir='include/',
  34. includes=['ippdefs.h',
  35. 'ippversion.h',
  36. 'ippcore.h',
  37. 'ippbase.h',
  38. 'ipptypes.h'],
  39. excludes=[],
  40. recursive=True)
  41. #files
  42. ippcp_files = Pattern(src_dir='sources/ippcpepid/src/',
  43. includes=[
  44. 'pcp*.c',
  45. ],
  46. excludes=['pcpepidmain.c'],
  47. recursive=True)
  48. #Symbols defined in following files are used by ippcpepid library
  49. ippcp_intern_files = Pattern(src_dir='sources/ippcp/src/',
  50. includes=[
  51. 'pcpmontexpbinca.c',
  52. 'pcpmontred.c',
  53. 'pcpbnuarith.c',
  54. 'pcpbnu32misc.c',
  55. 'pcpbnu32arith.c',
  56. 'pcpbnumisc.c',
  57. ],
  58. recursive=True)
  59. ippdir = ''
  60. #internal ipp includes src/primitives/ipp/
  61. env.Append(CPPPATH=[AbsDir('include/')])
  62. env.Append(CPPPATH=[AbsDir('sources/ippcp/src/')])
  63. env.Append(CPPPATH=[AbsDir('sources/ippcpepid/src/')])
  64. #ipp defines
  65. env.Append(CPPDEFINES='_IPP_v50_') #required for all ippcp
  66. env.Append(CPPDEFINES='_IPP_DEBUG') #enable function sanity checking
  67. if 'install_package' in env['MODE']:
  68. # All files at /ext/ipp/source/include
  69. env.InstallTopLevel(install_headers, sub_dir='ext/ipp/include')
  70. src_files = Pattern(src_dir='sources/ippcpepid/src/',
  71. includes=['*'],
  72. excludes=['pcpepidmain.c'],
  73. recursive=True)
  74. env.InstallTopLevel(src_files, sub_dir='ext/ipp/sources/ippcpepid/src')
  75. this_file = Pattern(src_dir='.',
  76. includes=['ippcpepid.parts'],
  77. excludes=[],
  78. recursive=True)
  79. env.InstallTopLevel(this_file, sub_dir='ext/ipp/')
  80. makefile = Pattern(src_dir='./sources/ippcpepid',
  81. includes=['Makefile'],
  82. excludes=[],
  83. recursive=True)
  84. env.InstallTopLevel(makefile, sub_dir='ext/ipp/sources/ippcpepid')
  85. else:
  86. all_c_files = ippcp_files.files()
  87. if 'use_commercial_ipp' in env['MODE']:
  88. all_c_files = all_c_files + ippcp_intern_files.files()
  89. outputs = env.Library(IPP_LIBNAME, all_c_files)
  90. env.SdkLib(outputs)
  91. env.SdkInclude(install_headers)
  92. env.SdkInclude(common_headers)
  93. if 'install_lib' in env['MODE']:
  94. env.InstallLib(outputs)