SiPkgBuildOption.dsc 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. ## @file
  2. # Silicon build option configuration file.
  3. #
  4. # Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
  5. #
  6. # SPDX-License-Identifier: BSD-2-Clause-Patent
  7. #
  8. ##
  9. [BuildOptions]
  10. # Define Build Options both for EDK and EDKII drivers.
  11. # SA
  12. !if gSiPkgTokenSpaceGuid.PcdPttEnable == TRUE
  13. DEFINE PTT_BUILD_OPTION = -DPTT_FLAG=1
  14. !else
  15. DEFINE PTT_BUILD_OPTION =
  16. !endif
  17. #
  18. # System Agent
  19. #
  20. !if gSiPkgTokenSpaceGuid.PcdSgEnable == TRUE
  21. DEFINE DSC_SG_BUILD_OPTIONS = -DSG_SUPPORT=1
  22. !else
  23. DEFINE DSC_SG_BUILD_OPTIONS =
  24. !endif
  25. !if gSiPkgTokenSpaceGuid.PcdBdatEnable == TRUE
  26. DEFINE BDAT_BUILD_OPTION = -DBDAT_SUPPORT=1
  27. !else
  28. DEFINE BDAT_BUILD_OPTION =
  29. !endif
  30. DEFINE SLE_BUILD_OPTIONS =
  31. !if $(TARGET) == RELEASE
  32. !if gSiPkgTokenSpaceGuid.PcdSiCatalogDebugEnable == TRUE
  33. DEFINE DEBUG_BUILD_OPTIONS =
  34. !else
  35. # MDEPKG_NDEBUG is introduced for the intention
  36. # of size reduction when compiler optimization is disabled. If MDEPKG_NDEBUG is
  37. # defined, then debug and assert related macros wrapped by it are the NULL implementations.
  38. DEFINE DEBUG_BUILD_OPTIONS = -DMDEPKG_NDEBUG
  39. !endif
  40. !else
  41. DEFINE DEBUG_BUILD_OPTIONS =
  42. !endif
  43. !if ($(TARGET) == RELEASE) AND (gSiPkgTokenSpaceGuid.PcdSiCatalogDebugEnable == TRUE)
  44. DEFINE RELEASE_CATALOG_BUILD_OPTIONS = -DRELEASE_CATALOG
  45. !else
  46. DEFINE RELEASE_CATALOG_BUILD_OPTIONS =
  47. !endif
  48. !if gSiPkgTokenSpaceGuid.PcdOptimizeCompilerEnable == FALSE
  49. DEFINE OPTIMIZE_DISABLE_OPTIONS = -Od -GL-
  50. !else
  51. DEFINE OPTIMIZE_DISABLE_OPTIONS =
  52. !endif
  53. DEFINE HSLE_BUILD_OPTIONS =
  54. !if gSiPkgTokenSpaceGuid.PcdCflCpuEnable == TRUE
  55. DEFINE CPU_FLAGS = -DCPU_CFL
  56. !else
  57. DEFINE CPU_FLAGS =
  58. !endif
  59. DEFINE DSC_SIPKG_FEATURE_BUILD_OPTIONS = $(BDAT_BUILD_OPTION) $(PTT_BUILD_OPTION) $(DEBUG_BUILD_OPTIONS)
  60. DEFINE DSC_SIPKG_FEATURE_BUILD_OPTIONS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(DSC_SG_BUILD_OPTIONS) $(SIMICS_BUILD_OPTIONS) $(CPU_FLAGS) $(HSLE_BUILD_OPTIONS) $(RELEASE_CATALOG_BUILD_OPTIONS) $(DSC_TXT_BUILD_OPTIONS)
  61. !if gSiPkgTokenSpaceGuid.PcdSourceDebugEnable == TRUE
  62. *_*_X64_GENFW_FLAGS = --keepexceptiontable
  63. !endif
  64. [BuildOptions.Common.EDKII]
  65. #
  66. # For IA32 Global Build Flag
  67. #
  68. *_*_IA32_PP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  69. *_*_IA32_CC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
  70. *_*_IA32_VFRPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  71. *_*_IA32_APP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  72. *_*_IA32_ASLPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  73. *_*_IA32_ASLCC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  74. #
  75. # For IA32 Specific Build Flag
  76. #
  77. MSFT: *_*_IA32_ASM_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  78. MSFT: *_*_IA32_CC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015 -DASF_PEI
  79. MSFT: *_*_IA32_VFRPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  80. MSFT: *_*_IA32_APP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  81. MSFT: *_*_IA32_ASLPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  82. MSFT: *_*_IA32_ASLCC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  83. #
  84. # For X64 Global Build Flag
  85. #
  86. *_*_X64_PP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  87. *_*_X64_CC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
  88. *_*_X64_VFRPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  89. *_*_X64_APP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  90. *_*_X64_ASLPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  91. *_*_X64_ASLCC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  92. #
  93. # For X64 Specific Build Flag
  94. #
  95. MSFT: *_*_X64_ASM_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  96. MSFT: *_*_X64_CC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=0x00010015
  97. MSFT: *_*_X64_VFRPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  98. MSFT: *_*_X64_APP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS) $(OPTIMIZE_DISABLE_OPTIONS)
  99. MSFT: *_*_X64_ASLPP_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  100. MSFT: *_*_X64_ASLCC_FLAGS = $(DSC_SIPKG_FEATURE_BUILD_OPTIONS)
  101. #
  102. # For Xcode Specific Build Flag
  103. #
  104. # Override assembly code build order
  105. *_XCODE5_*_*_BUILDRULEORDER = nasm S s
  106. # Align 47bfbd7f8069e523798ef973c8eb0abd5c6b0746 to fix the usage of VA_START in undefined way
  107. *_XCODE5_*_CC_FLAGS = -Wno-varargs
  108. # Force PE/COFF sections to be aligned at 4KB boundaries to support page level protection of runtime modules
  109. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
  110. MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
  111. GCC: *_GCC*_*_DLINK_FLAGS = -z common-page-size=0x1000