mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 02:05:50 +00:00
[HAL]
* Leverage the object library option provided by CMake 2.8.8+ which will speed up the build even further. * Compared strings using STREQUAL. * These wrapping conditions will go away as soon as we ship the new BE. svn path=/trunk/; revision=56909
This commit is contained in:
parent
9622dedd9f
commit
56747bcf8f
1 changed files with 81 additions and 23 deletions
|
@ -20,14 +20,19 @@ list(APPEND HAL_GENERIC_SOURCE
|
||||||
generic/sysinfo.c
|
generic/sysinfo.c
|
||||||
generic/usage.c)
|
generic/usage.c)
|
||||||
|
|
||||||
if(ARCH MATCHES i386)
|
if(ARCH STREQUAL i386)
|
||||||
list(APPEND HAL_GENERIC_SOURCE
|
list(APPEND HAL_GENERIC_SOURCE
|
||||||
generic/bios.c
|
generic/bios.c
|
||||||
generic/portio.c)
|
generic/portio.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(lib_hal_generic ${HAL_GENERIC_SOURCE})
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
add_dependencies(lib_hal_generic asm)
|
add_library(lib_hal_generic OBJECT ${HAL_GENERIC_SOURCE})
|
||||||
|
else()
|
||||||
|
add_library(lib_hal_generic ${HAL_GENERIC_SOURCE})
|
||||||
|
add_dependencies(lib_hal_generic asm)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_pch(lib_hal_generic include/hal.h)
|
add_pch(lib_hal_generic include/hal.h)
|
||||||
|
|
||||||
list(APPEND HAL_LEGACY_SOURCE
|
list(APPEND HAL_LEGACY_SOURCE
|
||||||
|
@ -41,9 +46,17 @@ list(APPEND HAL_LEGACY_SOURCE
|
||||||
legacy/halpnpdd.c
|
legacy/halpnpdd.c
|
||||||
legacy/halpcat.c)
|
legacy/halpcat.c)
|
||||||
|
|
||||||
add_library(lib_hal_legacy ${HAL_LEGACY_SOURCE})
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
add_library(lib_hal_legacy OBJECT ${HAL_LEGACY_SOURCE})
|
||||||
|
else()
|
||||||
|
add_library(lib_hal_legacy ${HAL_LEGACY_SOURCE})
|
||||||
|
endif()
|
||||||
|
|
||||||
#add_pch(lib_hal_legacy include/hal.h)
|
#add_pch(lib_hal_legacy include/hal.h)
|
||||||
target_link_libraries(lib_hal_legacy lib_hal_generic)
|
|
||||||
|
if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
target_link_libraries(lib_hal_legacy lib_hal_generic)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND HAL_ACPI_SOURCE
|
list(APPEND HAL_ACPI_SOURCE
|
||||||
acpi/halacpi.c
|
acpi/halacpi.c
|
||||||
|
@ -51,14 +64,25 @@ list(APPEND HAL_ACPI_SOURCE
|
||||||
acpi/busemul.c
|
acpi/busemul.c
|
||||||
legacy/bus/pcibus.c)
|
legacy/bus/pcibus.c)
|
||||||
|
|
||||||
add_library(lib_hal_acpi ${HAL_ACPI_SOURCE})
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
add_library(lib_hal_acpi OBJECT ${HAL_ACPI_SOURCE})
|
||||||
|
else()
|
||||||
|
add_library(lib_hal_acpi ${HAL_ACPI_SOURCE})
|
||||||
|
endif()
|
||||||
#add_pch(lib_hal_acpi include/hal.h)
|
#add_pch(lib_hal_acpi include/hal.h)
|
||||||
target_link_libraries(lib_hal_acpi lib_hal_generic)
|
|
||||||
|
if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
target_link_libraries(lib_hal_acpi lib_hal_generic)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND HAL_UP_SOURCE
|
list(APPEND HAL_UP_SOURCE
|
||||||
generic/spinlock.c
|
generic/spinlock.c
|
||||||
up/processor.c)
|
up/processor.c)
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
add_library(lib_hal_up OBJECT ${HAL_UP_SOURCE})
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND HAL_PIC_SOURCE
|
list(APPEND HAL_PIC_SOURCE
|
||||||
generic/profil.c
|
generic/profil.c
|
||||||
generic/timer.c
|
generic/timer.c
|
||||||
|
@ -67,6 +91,10 @@ list(APPEND HAL_PIC_SOURCE
|
||||||
up/halinit_up.c
|
up/halinit_up.c
|
||||||
up/pic.c)
|
up/pic.c)
|
||||||
|
|
||||||
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
add_library(lib_hal_pic OBJECT ${HAL_PIC_SOURCE})
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND HAL_APIC_SOURCE
|
list(APPEND HAL_APIC_SOURCE
|
||||||
apic/apic.c
|
apic/apic.c
|
||||||
apic/apictimer.c
|
apic/apictimer.c
|
||||||
|
@ -76,7 +104,7 @@ list(APPEND HAL_APIC_SOURCE
|
||||||
apic/tsc.c
|
apic/tsc.c
|
||||||
apic/tsccal.S)
|
apic/tsccal.S)
|
||||||
|
|
||||||
if(ARCH MATCHES i386)
|
if(ARCH STREQUAL i386)
|
||||||
list(APPEND MINI_HAL_SOURCE
|
list(APPEND MINI_HAL_SOURCE
|
||||||
generic/portio.c
|
generic/portio.c
|
||||||
generic/systimer.S
|
generic/systimer.S
|
||||||
|
@ -106,13 +134,28 @@ if(ARCH MATCHES i386)
|
||||||
spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
|
spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
|
||||||
|
|
||||||
# hal
|
# hal
|
||||||
add_library(hal SHARED
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
${HAL_UP_SOURCE}
|
add_library(hal SHARED
|
||||||
${HAL_PIC_SOURCE}
|
$<TARGET_OBJECTS:lib_hal_generic>
|
||||||
generic/v86.S
|
$<TARGET_OBJECTS:lib_hal_legacy>
|
||||||
up/halup.rc
|
$<TARGET_OBJECTS:lib_hal_up>
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/hal.def)
|
$<TARGET_OBJECTS:lib_hal_pic>
|
||||||
target_link_libraries(hal lib_hal_generic lib_hal_legacy libcntpr)
|
generic/v86.S
|
||||||
|
up/halup.rc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/hal.def)
|
||||||
|
else()
|
||||||
|
add_library(hal SHARED
|
||||||
|
${HAL_UP_SOURCE}
|
||||||
|
${HAL_PIC_SOURCE}
|
||||||
|
generic/v86.S
|
||||||
|
up/halup.rc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/hal.def)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
target_link_libraries(hal lib_hal_generic lib_hal_legacy)
|
||||||
|
endif()
|
||||||
|
target_link_libraries(hal libcntpr)
|
||||||
add_importlibs(hal ntoskrnl)
|
add_importlibs(hal ntoskrnl)
|
||||||
#add_pch(hal include/hal.h)
|
#add_pch(hal include/hal.h)
|
||||||
add_dependencies(hal psdk bugcodes)
|
add_dependencies(hal psdk bugcodes)
|
||||||
|
@ -126,13 +169,28 @@ if(ARCH MATCHES i386)
|
||||||
|
|
||||||
# hal acpi
|
# hal acpi
|
||||||
spec2def(halacpi.dll ../hal.spec)
|
spec2def(halacpi.dll ../hal.spec)
|
||||||
add_library(halacpi SHARED
|
if(CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
${HAL_UP_SOURCE}
|
add_library(halacpi SHARED
|
||||||
${HAL_PIC_SOURCE}
|
$<TARGET_OBJECTS:lib_hal_generic>
|
||||||
generic/v86.S
|
$<TARGET_OBJECTS:lib_hal_acpi>
|
||||||
acpi/halacpi.rc
|
$<TARGET_OBJECTS:lib_hal_up>
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/halacpi.def)
|
$<TARGET_OBJECTS:lib_hal_pic>
|
||||||
target_link_libraries(halacpi lib_hal_generic lib_hal_acpi libcntpr)
|
generic/v86.S
|
||||||
|
acpi/halacpi.rc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/halacpi.def)
|
||||||
|
else()
|
||||||
|
add_library(halacpi SHARED
|
||||||
|
${HAL_UP_SOURCE}
|
||||||
|
${HAL_PIC_SOURCE}
|
||||||
|
generic/v86.S
|
||||||
|
acpi/halacpi.rc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/halacpi.def)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_VERSION VERSION_GREATER 2.8.7)
|
||||||
|
target_link_libraries(halacpi lib_hal_generic lib_hal_acpi)
|
||||||
|
endif()
|
||||||
|
target_link_libraries(halacpi libcntpr)
|
||||||
add_importlibs(halacpi ntoskrnl)
|
add_importlibs(halacpi ntoskrnl)
|
||||||
add_dependencies(halacpi psdk bugcodes)
|
add_dependencies(halacpi psdk bugcodes)
|
||||||
set_entrypoint(halacpi HalInitSystem@8)
|
set_entrypoint(halacpi HalInitSystem@8)
|
||||||
|
@ -149,7 +207,7 @@ if(ARCH MATCHES i386)
|
||||||
add_target_compile_definitions(mini_hal _BLDR_ _MINIHAL_)
|
add_target_compile_definitions(mini_hal _BLDR_ _MINIHAL_)
|
||||||
add_dependencies(mini_hal psdk bugcodes asm)
|
add_dependencies(mini_hal psdk bugcodes asm)
|
||||||
|
|
||||||
elseif(ARCH MATCHES amd64)
|
elseif(ARCH STREQUAL amd64)
|
||||||
|
|
||||||
spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
|
spec2def(hal.dll ../hal.spec ADD_IMPORTLIB)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue