8 ${REACTOS_SOURCE_DIR}/ntoskrnl/include)
10 list(APPEND HAL_GENERIC_SOURCE
23 if(ARCH STREQUAL "i386")
24 list(APPEND HAL_GENERIC_SOURCE
29 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
30 add_library(lib_hal_generic OBJECT ${HAL_GENERIC_SOURCE})
32 add_library(lib_hal_generic ${HAL_GENERIC_SOURCE})
33 add_dependencies(lib_hal_generic asm)
36 add_pch(lib_hal_generic include/hal.h)
38 if(ARCH STREQUAL "i386")
40 #####################################
41 # Generate the pcidata source files in the x86 build
44 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pci_classes.c ${CMAKE_CURRENT_BINARY_DIR}/pci_classes.h
45 COMMAND native-bin2c ${CMAKE_CURRENT_SOURCE_DIR}/legacy/bus/pci_classes.ids ${CMAKE_CURRENT_BINARY_DIR}/pci_classes.c ${CMAKE_CURRENT_BINARY_DIR}/pci_classes.h ClassTable INIT_FUNCTION ${CMAKE_CURRENT_SOURCE_DIR}/include/hal.h
46 DEPENDS native-bin2c ${CMAKE_CURRENT_SOURCE_DIR}/legacy/bus/pci_classes.ids)
49 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pci_vendors.c ${CMAKE_CURRENT_BINARY_DIR}/pci_vendors.h
50 COMMAND native-bin2c ${CMAKE_CURRENT_SOURCE_DIR}/legacy/bus/pci_vendors.ids ${CMAKE_CURRENT_BINARY_DIR}/pci_vendors.c ${CMAKE_CURRENT_BINARY_DIR}/pci_vendors.h VendorTable INIT_FUNCTION ${CMAKE_CURRENT_SOURCE_DIR}/include/hal.h
51 DEPENDS native-bin2c ${CMAKE_CURRENT_SOURCE_DIR}/legacy/bus/pci_vendors.ids)
52 #####################################
54 list(APPEND HAL_LEGACY_SOURCE
59 ${CMAKE_CURRENT_BINARY_DIR}/pci_classes.c
60 ${CMAKE_CURRENT_BINARY_DIR}/pci_vendors.c
66 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
67 add_library(lib_hal_legacy OBJECT ${HAL_LEGACY_SOURCE})
69 add_library(lib_hal_legacy ${HAL_LEGACY_SOURCE})
72 #add_pch(lib_hal_legacy include/hal.h)
74 if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
75 target_link_libraries(lib_hal_legacy lib_hal_generic)
80 list(APPEND HAL_ACPI_SOURCE
86 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
87 add_library(lib_hal_acpi OBJECT ${HAL_ACPI_SOURCE})
89 add_library(lib_hal_acpi ${HAL_ACPI_SOURCE})
91 #add_pch(lib_hal_acpi include/hal.h)
93 if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
94 target_link_libraries(lib_hal_acpi lib_hal_generic)
97 list(APPEND HAL_UP_SOURCE
101 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
102 add_library(lib_hal_up OBJECT ${HAL_UP_SOURCE})
105 list(APPEND HAL_APIC_SOURCE
114 if(ARCH STREQUAL "i386")
115 list(APPEND HAL_PIC_SOURCE
123 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
124 add_library(lib_hal_pic OBJECT ${HAL_PIC_SOURCE})
127 list(APPEND MINI_HAL_SOURCE
130 legacy/bus/bushndlr.c
153 spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
156 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
157 add_library(hal SHARED
158 $<TARGET_OBJECTS:lib_hal_generic>
159 $<TARGET_OBJECTS:lib_hal_legacy>
160 $<TARGET_OBJECTS:lib_hal_up>
161 $<TARGET_OBJECTS:lib_hal_pic>
164 ${CMAKE_CURRENT_BINARY_DIR}/hal.def)
166 add_library(hal SHARED
171 ${CMAKE_CURRENT_BINARY_DIR}/hal.def)
174 if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
175 target_link_libraries(hal lib_hal_generic lib_hal_legacy)
177 target_link_libraries(hal libcntpr)
178 add_importlibs(hal ntoskrnl)
179 #add_pch(hal include/hal.h)
180 add_dependencies(hal psdk bugcodes)
181 set_entrypoint(hal HalInitSystem 8)
182 set_subsystem(hal native)
183 set_image_base(hal 0x00010000)
184 add_cd_file(TARGET hal DESTINATION reactos/system32 NO_CAB FOR all)
186 add_target_link_flags(hal "/ignore:4216 /ignore:4078")
190 spec2def(halacpi.dll ../hal.spec)
191 if(CMAKE_VERSION VERSION_GREATER 2.8.7)
192 add_library(halacpi SHARED
193 $<TARGET_OBJECTS:lib_hal_generic>
194 $<TARGET_OBJECTS:lib_hal_acpi>
195 $<TARGET_OBJECTS:lib_hal_up>
196 $<TARGET_OBJECTS:lib_hal_pic>
199 ${CMAKE_CURRENT_BINARY_DIR}/halacpi.def)
201 add_library(halacpi SHARED
206 ${CMAKE_CURRENT_BINARY_DIR}/halacpi.def)
209 if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
210 target_link_libraries(halacpi lib_hal_generic lib_hal_acpi)
212 target_link_libraries(halacpi libcntpr)
213 add_importlibs(halacpi ntoskrnl)
214 add_dependencies(halacpi psdk bugcodes)
215 set_entrypoint(halacpi HalInitSystem@8)
216 set_subsystem(halacpi native)
217 set_image_base(halacpi 0x00010000)
218 add_target_compile_definitions(halacpi CONFIG_ACPI)
219 add_cd_file(TARGET halacpi DESTINATION reactos/system32 NO_CAB FOR all)
221 add_target_link_flags(halacpi "/ignore:4216 /ignore:4078")
225 add_library(mini_hal ${MINI_HAL_SOURCE})
226 add_target_compile_definitions(mini_hal _BLDR_ _MINIHAL_)
227 add_dependencies(mini_hal psdk bugcodes asm)
229 elseif(ARCH STREQUAL "amd64")
231 spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
233 list(APPEND HAL_SOURCE
234 ${HAL_GENERIC_SOURCE}
241 ${CMAKE_CURRENT_BINARY_DIR}/hal.def)
244 add_library(hal SHARED ${HAL_SOURCE})
245 add_pch(hal include/hal.h)
246 add_dependencies(hal psdk bugcodes)
248 set_entrypoint(hal HalInitSystem)
249 set_subsystem(hal native)
250 set_image_base(hal 0x00010000)
251 add_importlibs(hal ntoskrnl)
252 target_link_libraries(hal libcntpr)
254 add_target_link_flags(hal "/ignore:4216")
257 add_cd_file(TARGET hal DESTINATION reactos/system32 NO_CAB FOR all)