mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 10:00:16 +02:00
Windows: Generate import libraries for private ntdll and wow64 APIs
The MinGW supplied import libraries are incomplete and miss a lot of functions necessary to implement lower level windows code. To avoid needing to many resolve every function, pull in .def files from wine that detail the entire ntdll and wow64 APIs.
This commit is contained in:
1 parent
f46fd42977
commit
9612133088
4 files changed
+1430
No files matched your search
@@ -1,2 +1,6 @@
|
||||
add_subdirectory(Common/)
|
||||
add_subdirectory(Tools/)
|
||||
|
||||
if (MINGW_BUILD)
|
||||
add_subdirectory(Windows/)
|
||||
endif()
|
||||
@@ -0,0 +1,15 @@
|
||||
function(build_implib name)
|
||||
add_custom_target(${name}lib ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.a)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.a
|
||||
COMMAND ${CMAKE_DLLTOOL} -d ${CMAKE_CURRENT_SOURCE_DIR}/Defs/${name}.def -k -l lib${name}.a
|
||||
COMMENT "Building lib${name}.a"
|
||||
)
|
||||
|
||||
add_library(${name} SHARED IMPORTED)
|
||||
set_property(TARGET ${name} PROPERTY IMPORTED_IMPLIB ${CMAKE_CURRENT_BINARY_DIR}/lib${name}.a)
|
||||
add_dependencies(${name} ${name}lib)
|
||||
endfunction()
|
||||
|
||||
build_implib(ntdll)
|
||||
build_implib(wow64)
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,33 @@
|
||||
; File generated automatically from wine/dlls/wow64/wow64.spec; do not edit!
|
||||
; To generate: winebuild --def -E wine/dlls/wow64/wow64.spec > wow64.def
|
||||
|
||||
LIBRARY wow64.dll
|
||||
|
||||
EXPORTS
|
||||
Wow64AllocThreadHeap @1 PRIVATE
|
||||
Wow64AllocateHeap @2 PRIVATE
|
||||
Wow64AllocateTemp @3
|
||||
Wow64ApcRoutine @4
|
||||
Wow64CheckIfNXEnabled @5 PRIVATE
|
||||
Wow64EmulateAtlThunk @6 PRIVATE
|
||||
Wow64FreeHeap @7 PRIVATE
|
||||
Wow64FreeThreadHeap @8 PRIVATE
|
||||
Wow64GetWow64ImageOption @9 PRIVATE
|
||||
Wow64IsControlFlowGuardEnforced @10 PRIVATE
|
||||
Wow64IsStackExtentsCheckEnforced @11 PRIVATE
|
||||
Wow64KiUserCallbackDispatcher @12
|
||||
Wow64LdrpInitialize @13
|
||||
Wow64LogPrint @14 PRIVATE
|
||||
Wow64NotifyUnsimulateComplete @15 PRIVATE
|
||||
Wow64PassExceptionToGuest @16
|
||||
Wow64PrepareForDebuggerAttach @17 PRIVATE
|
||||
Wow64PrepareForException @18
|
||||
Wow64RaiseException @19
|
||||
Wow64ShallowThunkAllocObjectAttributes32TO64_FNC @20 PRIVATE
|
||||
Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC @21 PRIVATE
|
||||
Wow64ShallowThunkSIZE_T32TO64 @22 PRIVATE
|
||||
Wow64ShallowThunkSIZE_T64TO32 @23 PRIVATE
|
||||
Wow64SuspendLocalThread @24
|
||||
Wow64SystemServiceEx @25
|
||||
Wow64ValidateUserCallTarget @26 PRIVATE
|
||||
Wow64ValidateUserCallTargetFilter @27 PRIVATE
|
||||
Reference in new issue
Block a user