Lines Matching refs:architecture

1 rule ArchitectureSetup architecture
3 # ArchitectureSetup <architecture> ;
5 # Initializes all global packaging architecture dependent variables for the
6 # given packaging architecture. Also sets HAIKU_ARCH (to the primary
7 # architecture), if this is the first invocation of the rule, and adds
8 # the architecture to HAIKU_ARCHS, if not yet contained.
16 if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
29 if $(architecture) = x86 {
35 # default architecture tuning
36 local cpu = $(HAIKU_CPU_$(architecture)) ;
45 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
54 if $(HAIKU_USE_GCC_GRAPHITE_$(architecture)) = 1 {
59 HAIKU_C++_$(architecture) ?= $(HAIKU_CC_$(architecture)) ;
60 HAIKU_LINK_$(architecture) ?= $(HAIKU_CC_$(architecture)) ;
62 HAIKU_CCFLAGS_$(architecture) += $(ccBaseFlags) -nostdinc ;
63 HAIKU_C++FLAGS_$(architecture) += $(ccBaseFlags) -nostdinc ;
64 HAIKU_LINKFLAGS_$(architecture) += $(ccBaseFlags) ;
65 HAIKU_ASFLAGS_$(architecture) += $(archFlags) -nostdinc ;
68 if ! $(HAIKU_STRIP_$(architecture)) {
69 Exit "HAIKU_STRIP_$(architecture) not set. Please re-run configure." ;
72 HAIKU_ARCH_$(architecture) = $(cpu) ;
75 # architecture.
79 HAIKU_DEFINES_$(architecture) += ARCH_$(cpu) ;
82 HAIKU_ARCH_OBJECT_DIR_$(architecture)
83 = [ FDirName $(HAIKU_OBJECT_BASE_DIR) $(architecture) ] ;
84 HAIKU_COMMON_DEBUG_OBJECT_DIR_$(architecture)
85 = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture)) common ] ;
86 HAIKU_DEBUG_0_OBJECT_DIR_$(architecture)
87 = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture)) release ] ;
91 HAIKU_DEBUG_$(level)_OBJECT_DIR_$(architecture)
92 = [ FDirName $(HAIKU_ARCH_OBJECT_DIR_$(architecture))
97 SetIncludePropertiesVariables HAIKU : _$(architecture) ;
100 HAIKU_WARNING_CCFLAGS_$(architecture) = -Wall
104 HAIKU_WARNING_C++FLAGS_$(architecture) = -Wall
110 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
111 HAIKU_WARNING_CCFLAGS_$(architecture) +=
114 HAIKU_WARNING_C++FLAGS_$(architecture) +=
120 HAIKU_WERROR_FLAGS_$(architecture) = ;
122 if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
124 HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=unused-but-set-variable
127 HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=address-of-packed-member
130 HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=cast-align
133 HAIKU_WERROR_FLAGS_$(architecture) += -Wno-unknown-pragmas ;
140 HAIKU_DEBUG_0_CCFLAGS_$(architecture) = [ FDefines NDEBUG=$(NDEBUG) ] ;
141 HAIKU_DEBUG_0_C++FLAGS_$(architecture) = [ FDefines NDEBUG=$(NDEBUG) ] ;
146 HAIKU_DEBUG_$(level)_CCFLAGS_$(architecture) = $(flags) ;
147 HAIKU_DEBUG_$(level)_C++FLAGS_$(architecture) = $(flags) ;
151 HAIKU_LINKFLAGS_$(architecture) += -Xlinker --no-undefined ;
154 HAIKU_PRIVATE_SYSTEM_HEADERS_$(architecture)
159 <src!system!glue!$(architecture)>init_term_dyn.o
160 <src!system!glue!arch!$(cpu)!$(architecture)>crti.o
161 <src!system!glue!arch!$(cpu)!$(architecture)>crtn.o
163 HAIKU_LIBRARY_BEGIN_GLUE_CODE_$(architecture) =
164 <src!system!glue!arch!$(cpu)!$(architecture)>crti.o
165 <$(architecture)>crtbeginS.o
166 <src!system!glue!$(architecture)>init_term_dyn.o
168 HAIKU_LIBRARY_END_GLUE_CODE_$(architecture) =
169 <$(architecture)>crtendS.o
170 <src!system!glue!arch!$(cpu)!$(architecture)>crtn.o
172 HAIKU_EXECUTABLE_BEGIN_GLUE_CODE_$(architecture) =
173 <src!system!glue!arch!$(cpu)!$(architecture)>crti.o
174 <$(architecture)>crtbeginS.o
175 <src!system!glue!$(architecture)>start_dyn.o
176 <src!system!glue!$(architecture)>init_term_dyn.o
178 HAIKU_EXECUTABLE_END_GLUE_CODE_$(architecture)
179 = $(HAIKU_LIBRARY_END_GLUE_CODE_$(architecture)) ;
181 SEARCH on <$(architecture)>crtbeginS.o <$(architecture)>crtendS.o
182 = $(HAIKU_GCC_LIB_DIR_$(architecture)) ;
186 if $(architecture) != $(HAIKU_PACKAGING_ARCHS[1]) {
187 libraryGrist = $(architecture) ;
194 HAIKU_LIBRARY_NAME_MAP_$(architecture)_$(i)
197 HAIKU_LIBRARY_NAME_MAP_$(architecture)_localestub
198 = <$(architecture)>liblocalestub.a ;
199 HAIKU_LIBRARY_NAME_MAP_$(architecture)_shared
200 = <$(architecture)>libshared.a ;
201 if $(architecture) = $(HAIKU_PACKAGING_ARCHS[1]) {
202 HAIKU_LIBRARY_NAME_MAP_$(architecture)_input_server
205 HAIKU_LIBRARY_NAME_MAP_$(architecture)_input_server
206 = <$(architecture)>input_server ;
211 rule KernelArchitectureSetup architecture
213 # KernelArchitectureSetup <architecture> ;
216 # don't have a packaging architecture suffix, since they are only set for
217 # the primary packaging architecture. <architecture> is the primary
218 # packaging architecture (supplied for convenience).
223 local cpu = $(HAIKU_CPU_$(architecture)) ;
338 [ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR_$(architecture)) system
340 $(HAIKU_PRIVATE_SYSTEM_HEADERS_$(architecture))
353 if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
357 HAIKU_KERNEL_CCFLAGS = $(HAIKU_CCFLAGS_$(architecture)) $(ccBaseFlags) ;
358 HAIKU_KERNEL_C++FLAGS = $(HAIKU_C++FLAGS_$(architecture)) $(c++BaseFlags) ;
363 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
369 HAIKU_BOOT_CCFLAGS = $(HAIKU_CCFLAGS_$(architecture)) $(ccBaseFlags) ;
370 HAIKU_BOOT_C++FLAGS = $(HAIKU_C++FLAGS_$(architecture)) $(c++BaseFlags) ;
469 if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
476 if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
508 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
513 if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
521 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
526 if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
555 HAIKU_KERNEL_WARNING_CCFLAGS = $(HAIKU_WARNING_CCFLAGS_$(architecture)) ;
556 HAIKU_KERNEL_WARNING_C++FLAGS = $(HAIKU_WARNING_C++FLAGS_$(architecture)) ;
563 = $(HAIKU_DEBUG_$(level)_CCFLAGS_$(architecture)) ;
565 = $(HAIKU_DEBUG_$(level)_C++FLAGS_$(architecture)) ;
573 HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = <$(architecture)>crtbeginS.o
574 <src!system!glue!$(architecture)>haiku_version_glue.o ;
575 HAIKU_KERNEL_ADDON_END_GLUE_CODE = <$(architecture)>crtendS.o ;
579 rule ArchitectureSetupWarnings architecture
581 # ArchitectureSetupWarnings <architecture> ;
584 # the given packaging architecture.
586 if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
592 local cpu = $(HAIKU_CPU_$(architecture)) ;
606 HAIKU_WERROR_ARCH = $(architecture) ;
611 if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
630 if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
791 rule MultiArchIfPrimary ifValue : elseValue : architecture
794 # [ : <architecture> = $(TARGET_PACKAGING_ARCH) ] ;
797 # <architecture> is the primary packaging architecture.
799 architecture ?= $(TARGET_PACKAGING_ARCH) ;
801 if $(architecture) = $(TARGET_PACKAGING_ARCHS[1]) {
809 : architecture
812 # : <secondaryGrist> [ : <architecture> = $(TARGET_PACKAGING_ARCH) ] ;
815 # <secondaryGrist> depending on whether <architecture> is the primary
816 # packaging architecture.
818 architecture ?= $(TARGET_PACKAGING_ARCH) ;
821 : $(architecture) ] ;
826 rule MultiArchDefaultGristFiles files : gristPrefix : architecture
829 # [ : <architecture> = $(TARGET_PACKAGING_ARCH) ] ;
832 # case that for a secondary packaging architecture the packaging
833 # architecture name shall be appended to the grist while it shall be omitted
834 # for the primary packaging architecture. IOW, if architecture is the
835 # primary packaging architecture, <files> are returned with their grist set
837 # <gristPrefix>!<architecture> respectively <architecture> (if <gristPrefix>
840 architecture ?= $(TARGET_PACKAGING_ARCH) ;
842 local secondaryGrist = $(gristPrefix)!$(architecture) ;
843 secondaryGrist ?= $(architecture) ;
846 $(secondaryGrist) : $(architecture) ] ;
858 # variables for the respective packaging architecture. Most notably
860 # respective packaging architecture. The per-subdir variables SOURCE_GRIST,
867 local architecture ;
868 for architecture in $(architectures) {
869 if ! $(architecture) in $(TARGET_PACKAGING_ARCHS) {
873 local architectureObject = $(architecture:G=<arch-object>) ;
877 # variables for the primary architecture.
878 TARGET_PACKAGING_ARCH on $(architectureObject) = $(architecture) ;
882 $(var) on $(architectureObject) = $($(var)_$(architecture)) ;
893 = $(SOURCE_GRIST:E=)!$(architecture) ;
896 = $(HDRGRIST:E=)!$(architecture) ;
898 # Adjust the subdir's object dirs that are architecture dependent. To