diff --git a/reactos/cmake/gcc.cmake b/reactos/cmake/gcc.cmake index 32eff8af013..4b50e427a02 100644 --- a/reactos/cmake/gcc.cmake +++ b/reactos/cmake/gcc.cmake @@ -268,7 +268,13 @@ function(add_importlib_target _exports_file) endfunction() function(spec2def _dllname _spec_file) - get_filename_component(_file ${_spec_file} NAME_WE) + + if(${ARGC} GREATER 2) + set(_file ${ARGV2}) + else() + get_filename_component(_file ${_spec_file} NAME_WE) + endif() + add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def -n=${_dllname} --kill-at -a=${ARCH2} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} diff --git a/reactos/cmake/msvc.cmake b/reactos/cmake/msvc.cmake index 42ce7567402..151bfc4226a 100644 --- a/reactos/cmake/msvc.cmake +++ b/reactos/cmake/msvc.cmake @@ -186,7 +186,11 @@ macro(add_delay_importlibs MODULE) endmacro() function(spec2def _dllname _spec_file) - get_filename_component(_file ${_spec_file} NAME_WE) + if(${ARGC} GREATER 2) + set(_file ${ARGV2}) + else() + get_filename_component(_file ${_spec_file} NAME_WE) + endif() add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def --ms --kill-at -a=${SPEC2DEF_ARCH} -n=${_dllname} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} diff --git a/reactos/hal/halx86/CMakeLists.txt b/reactos/hal/halx86/CMakeLists.txt index 13b14ccbc11..a533fec2adf 100644 --- a/reactos/hal/halx86/CMakeLists.txt +++ b/reactos/hal/halx86/CMakeLists.txt @@ -47,6 +47,8 @@ list(APPEND HAL_GENERIC_ACPI_SOURCE generic/legacy/bus/pcibus.c) if(ARCH MATCHES i386) + list(APPEND HAL_GENERIC_ACPI_SOURCE + generic/halinit.c) list(APPEND HAL_GENERIC_UP_SOURCE generic/spinlock.c @@ -102,6 +104,24 @@ if(ARCH MATCHES i386) add_cd_file(TARGET hal DESTINATION reactos/system32 NO_CAB FOR all) + # hal acpi + spec2def(halacpi.dll ../hal.spec halacpi) + add_library(halacpi SHARED + ${HAL_GENERIC_SOURCE} + ${HAL_GENERIC_ACPI_SOURCE} + ${HAL_GENERIC_UP_SOURCE} + up/halinit_up.c + up/halup.rc + ${CMAKE_CURRENT_BINARY_DIR}/halacpi.def) + add_dependencies(halacpi psdk bugcodes) + set_entrypoint(halacpi HalInitSystem@8) + set_subsystem(halacpi native) + set_image_base(halacpi 0x00010000) + add_importlibs(halacpi ntoskrnl) + target_link_libraries(halacpi libcntpr) + set_property(TARGET halacpi PROPERTY COMPILE_DEFINITIONS CONFIG_ACPI) + add_cd_file(TARGET halacpi DESTINATION reactos/system32 NO_CAB FOR all) + # mini_hal add_library(mini_hal ${MINI_HAL_SOURCE}) set_property(TARGET mini_hal PROPERTY COMPILE_DEFINITIONS "_BLDR_;_MINIHAL_")