Skip to content

Commit cdb02bd

Browse files
committed
WIP
1 parent 4695c6c commit cdb02bd

File tree

297 files changed

+3768
-171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

297 files changed

+3768
-171
lines changed

configure.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ if "%BUILD_ENVIRONMENT%" == "MinGW" (
203203
) else if %USE_CLANG_CL% == 1 (
204204
cmake -G %CMAKE_GENERATOR% -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% -DUSE_CLANG_CL:BOOL=1 %CMAKE_PARAMS% "%REACTOS_SOURCE_DIR%"
205205
) else (
206-
cmake -G %CMAKE_GENERATOR% %CMAKE_ARCH% -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% %CMAKE_PARAMS% "%REACTOS_SOURCE_DIR%"
206+
cmake -G %CMAKE_GENERATOR% %CMAKE_ARCH% -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=%ARCH% %BUILD_TOOLS_FLAG% %CMAKE_PARAMS% "%REACTOS_SOURCE_DIR%
207207
)
208208

209209
if %ERRORLEVEL% NEQ 0 (

dll/win32/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ add_subdirectory(itss)
7575
add_subdirectory(jscript)
7676
add_subdirectory(jsproxy)
7777
add_subdirectory(kernel32)
78+
add_subdirectory(kernelbase)
7879
add_subdirectory(loadperf)
7980
add_subdirectory(lpk)
8081
add_subdirectory(lsasrv)

dll/win32/kernel32/CMakeLists.txt

Lines changed: 1 addition & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,34 @@
11

2-
add_subdirectory(kernel32_vista)
3-
42
add_definitions(-D_KERNEL32_)
53
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
64
spec2def(kernel32.dll kernel32.spec ADD_IMPORTLIB)
75

8-
# Shared between kernel32 and kernel32_vista
9-
add_library(kernel32_shared
10-
client/shared_utils.c
11-
client/file/fileutils.c
12-
)
13-
target_link_libraries(kernel32_shared PRIVATE pseh)
14-
add_dependencies(kernel32_shared psdk)
15-
166
list(APPEND SOURCE
17-
client/actctx.c
18-
client/appcache.c
19-
client/atom.c
207
client/atomansi.c
21-
client/compname.c
22-
client/debugger.c
23-
client/dosdev.c
248
client/dllmain.c
25-
client/environ.c
26-
client/except.c
27-
client/fiber.c
28-
client/handle.c
29-
client/heapmem.c
309
client/job.c
31-
client/loader.c
32-
client/path.c
3310
client/pathansi.c
34-
client/perfcnt.c
3511
client/power.c
36-
client/proc.c
3712
client/procansi.c
38-
client/resntfy.c
39-
client/session.c
40-
client/synch.c
41-
client/synchansi.c
42-
client/sysinfo.c
43-
client/sysinfoansi.c
44-
client/time.c
45-
client/timerqueue.c
46-
client/toolhelp.c
47-
client/utils.c
48-
client/thread.c
49-
client/vdm.c
50-
client/version.c
5113
client/versionansi.c
52-
client/virtmem.c
53-
client/console/alias.c
54-
client/console/console.c
55-
client/console/history.c
56-
client/console/init.c
57-
client/console/readwrite.c
58-
client/file/backup.c
59-
client/file/cnotify.c
60-
client/file/copy.c
6114
client/file/copyansi.c
62-
client/file/create.c
63-
client/file/delete.c
64-
client/file/deviceio.c
65-
client/file/dir.c
6615
client/file/diransi.c
67-
client/file/disk.c
68-
client/file/fileinfo.c
6916
client/file/fileinfoansi.c
70-
client/file/filemap.c
71-
client/file/filename.c
72-
client/file/find.c
73-
client/file/hardlink.c
74-
client/file/iocompl.c
75-
client/file/lfile.c
76-
client/file/lock.c
7717
client/file/mailslot.c
78-
client/file/move.c
7918
client/file/moveansi.c
80-
client/file/mntpoint.c
8119
client/file/mntpointansi.c
82-
client/file/npipe.c
83-
client/file/rw.c
8420
client/file/tape.c
85-
client/file/volume.c
8621
client/file/volumeansi.c
87-
wine/actctx.c
88-
wine/comm.c
8922
wine/lzexpand.c
90-
wine/muldiv.c
91-
wine/profile.c
9223
wine/res.c
93-
wine/timezone.c
94-
winnls/string/casemap.c
95-
winnls/string/collation.c
96-
winnls/string/digitmap.c
97-
winnls/string/fold.c
98-
winnls/string/format_msg.c
99-
winnls/string/japanese.c
100-
winnls/string/locale.c
101-
winnls/string/localeansi.c
102-
winnls/string/lcformat.c
103-
winnls/string/lcformatansi.c
104-
winnls/string/lstring.c
105-
winnls/string/nls.c
106-
winnls/string/sortkey.c
10724
k32.h)
10825

10926
if(MSVC)
11027
# Disable warning C4146: unary minus operator applied to unsigned type, result still unsigned
11128
set_source_files_properties(wine/res.c PROPERTIES COMPILE_OPTIONS "/wd4146")
112-
113-
# Disable warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
114-
set_source_files_properties(winnls/string/locale.c PROPERTIES COMPILE_OPTIONS "/wd4267")
115-
else()
116-
# Disable warning: 'variable' defined but not used
117-
set_source_files_properties(winnls/string/locale.c PROPERTIES COMPILE_OPTIONS "-Wno-unused-variable")
11829
endif()
119-
120-
if(ARCH STREQUAL "i386")
121-
list(APPEND ASM_SOURCE
122-
client/i386/fiber.S
123-
client/i386/thread.S)
124-
elseif(ARCH STREQUAL "amd64")
125-
list(APPEND ASM_SOURCE
126-
client/amd64/fiber.S)
127-
elseif(ARCH STREQUAL "arm")
128-
list(APPEND ASM_SOURCE
129-
client/arm/fiber.S
130-
client/arm/thread.S)
131-
endif()
132-
133-
add_asm_files(kernel32_asm ${ASM_SOURCE})
13430
add_library(kernel32 MODULE
13531
${SOURCE}
136-
${kernel32_asm}
13732
kernel32.rc
13833
${CMAKE_CURRENT_BINARY_DIR}/kernel32_stubs.c
13934
${CMAKE_CURRENT_BINARY_DIR}/kernel32.def)
@@ -144,7 +39,7 @@ set_module_type(kernel32 win32dll ENTRYPOINT DllMain 12)
14439
set_subsystem(kernel32 console)
14540
################# END HACK #################
14641

147-
target_link_libraries(kernel32 psapi_static kernel32_vista_static kernel32_shared wine chkstk ${PSEH_LIB})
42+
target_link_libraries(kernel32 psapi_static wine chkstk ${PSEH_LIB})
14843
add_importlibs(kernel32 ntdll)
14944
add_pch(kernel32 k32.h SOURCE)
15045
add_dependencies(kernel32 psdk errcodes asm)

dll/win32/kernel32/kernel32.rc

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,60 +3,3 @@
33
#define REACTOS_STR_INTERNAL_NAME "kernel32"
44
#define REACTOS_STR_ORIGINAL_FILENAME "kernel32.dll"
55
#include <reactos/version.rc>
6-
7-
//#include "windows.h"
8-
#include <errcodes.rc>
9-
10-
/* UTF-8 */
11-
#pragma code_page(65001)
12-
13-
#include "winnls/locale_rc.rc"
14-
15-
/* FIXME */
16-
#define NLSRC_OFFSET 5000
17-
18-
#ifdef LANGUAGE_CS_CZ
19-
#include "winnls/lang/cs-CZ.rc"
20-
#endif
21-
#ifdef LANGUAGE_DE_DE
22-
#include "winnls/lang/de-DE.rc"
23-
#endif
24-
#ifdef LANGUAGE_EN_US
25-
#include "winnls/lang/en-US.rc"
26-
#endif
27-
#ifdef LANGUAGE_ES_ES
28-
#include "winnls/lang/es-ES.rc"
29-
#endif
30-
#ifdef LANGUAGE_FR_FR
31-
#include "winnls/lang/fr-FR.rc"
32-
#endif
33-
#ifdef LANGUAGE_IT_IT
34-
#include "winnls/lang/it-IT.rc"
35-
#endif
36-
#ifdef LANGUAGE_JA_JP
37-
#include "winnls/lang/ja-JP.rc"
38-
#endif
39-
#ifdef LANGUAGE_PL_PL
40-
#include "winnls/lang/pl-PL.rc"
41-
#endif
42-
#ifdef LANGUAGE_RO_RO
43-
#include "winnls/lang/ro-RO.rc"
44-
#endif
45-
#ifdef LANGUAGE_RU_RU
46-
#include "winnls/lang/ru-RU.rc"
47-
#endif
48-
#ifdef LANGUAGE_TR_TR
49-
#include "winnls/lang/tr-TR.rc"
50-
#endif
51-
#ifdef LANGUAGE_UK_UA
52-
#include "winnls/lang/uk-UA.rc"
53-
#endif
54-
#ifdef LANGUAGE_ZH_CN
55-
#include "winnls/lang/zh-CN.rc"
56-
#endif
57-
#ifdef LANGUAGE_ZH_HK
58-
#include "winnls/lang/zh-HK.rc"
59-
#endif
60-
#ifdef LANGUAGE_ZH_TW
61-
#include "winnls/lang/zh-TW.rc"
62-
#endif

dll/win32/kernel32/kernel32_vista/kernel32_vista.spec

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,8 @@
6161
@ stdcall GetNamedPipeClientProcessId(ptr ptr)
6262
@ stdcall SetThreadDescription(ptr wstr) # Win 10
6363
@ stdcall GetSystemTimePreciseAsFileTime(ptr) kernel32.GetSystemTimeAsFileTime
64+
65+
@ stdcall WaitForThreadpoolWorkCallbacks(ptr long) ntdll.TpWaitForWork
66+
@ stdcall CreateThreadpoolWork(ptr ptr ptr)
67+
@ stdcall TrySubmitThreadpoolCallback(ptr ptr ptr)
68+
@ stdcall SubmitThreadpoolWork(ptr) ntdll.TpPostWork

dll/win32/kernelbase/CMakeLists.txt

Lines changed: 130 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,135 @@
22
remove_definitions(-D_WIN32_WINNT=0x502 -DWINVER=0x502)
33
add_definitions(-D_WIN32_WINNT=0x601 -DWINVER=0x601)
44

5-
add_definitions(
6-
-D__WINESRC__
7-
-D_WINE
8-
-D_KERNELBASE_)
5+
if (DLL_EXPORT_VERSION LESS 0x601)
6+
set(kernelbase_name kernelbase)
7+
else()
8+
set(kernelbase_name kernelbase)
9+
endif()
910

10-
include_directories(BEFORE ${REACTOS_SOURCE_DIR}/sdk/include/wine)
11+
add_definitions(-D_KERNEL32_
12+
-D_KERNELBASE_)
13+
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
14+
include_directories(nativekernel32/)
15+
spec2def(${kernelbase_name}.dll kernelbase.spec ADD_IMPORTLIB)
1116

12-
#add_subdirectory(wine)
13-
# TODO: ReactOS Isn't ready for Kernelbase.dll
17+
list(APPEND SOURCE
18+
nativekernel32/client/actctx.c
19+
nativekernel32/client/appcache.c
20+
nativekernel32/client/compname.c
21+
nativekernel32/client/debugger.c
22+
nativekernel32/client/dosdev.c
23+
nativekernel32/client/dllmain.c
24+
nativekernel32/client/environ.c
25+
nativekernel32/client/except.c
26+
nativekernel32/client/fiber.c
27+
nativekernel32/client/handle.c
28+
nativekernel32/client/heapmem.c
29+
nativekernel32/client/loader.c
30+
nativekernel32/client/path.c
31+
nativekernel32/client/perfcnt.c
32+
nativekernel32/client/proc.c
33+
nativekernel32/client/resntfy.c
34+
nativekernel32/client/session.c
35+
nativekernel32/client/shared_utils.c
36+
nativekernel32/client/synch.c
37+
nativekernel32/client/sysinfo.c
38+
nativekernel32/client/time.c
39+
nativekernel32/client/timerqueue.c
40+
nativekernel32/client/toolhelp.c
41+
nativekernel32/client/utils.c
42+
nativekernel32/client/thread.c
43+
nativekernel32/client/vdm.c
44+
nativekernel32/client/version.c
45+
nativekernel32/client/virtmem.c
46+
nativekernel32/client/console/alias.c
47+
nativekernel32/client/console/console.c
48+
nativekernel32/client/console/history.c
49+
nativekernel32/client/console/init.c
50+
nativekernel32/client/console/readwrite.c
51+
nativekernel32/client/file/backup.c
52+
nativekernel32/client/file/cnotify.c
53+
nativekernel32/client/file/copy.c
54+
nativekernel32/client/file/create.c
55+
nativekernel32/client/file/delete.c
56+
nativekernel32/client/file/deviceio.c
57+
nativekernel32/client/file/dir.c
58+
nativekernel32/client/file/disk.c
59+
nativekernel32/client/file/fileinfo.c
60+
nativekernel32/client/file/filemap.c
61+
nativekernel32/client/file/filename.c
62+
nativekernel32/client/file/fileutils.c
63+
nativekernel32/client/file/find.c
64+
nativekernel32/client/file/hardlink.c
65+
nativekernel32/client/file/iocompl.c
66+
nativekernel32/client/file/lfile.c
67+
nativekernel32/client/file/lock.c
68+
nativekernel32/client/file/move.c
69+
nativekernel32/client/file/mntpoint.c
70+
nativekernel32/client/file/npipe.c
71+
nativekernel32/client/file/rw.c
72+
nativekernel32/client/file/volume.c
73+
nativekernel32/wine/actctx.c
74+
nativekernel32/wine/comm.c
75+
nativekernel32/wine/muldiv.c
76+
nativekernel32/wine/profile.c
77+
nativekernel32/wine/timezone.c
78+
nativekernel32/winnls/string/casemap.c
79+
nativekernel32/winnls/string/collation.c
80+
nativekernel32/winnls/string/digitmap.c
81+
nativekernel32/winnls/string/fold.c
82+
nativekernel32/winnls/string/format_msg.c
83+
nativekernel32/winnls/string/japanese.c
84+
nativekernel32/winnls/string/locale.c
85+
nativekernel32/winnls/string/lcformat.c
86+
nativekernel32/winnls/string/lstring.c
87+
nativekernel32/winnls/string/nls.c
88+
nativekernel32/winnls/string/sortkey.c
89+
nativekernel32/k32.h)
90+
91+
if(MSVC)
92+
# Disable warning C4267: 'initializing': conversion from 'size_t' to 'DWORD', possible loss of data
93+
set_source_files_properties(nativekernel32/winnls/string/locale.c PROPERTIES COMPILE_OPTIONS "/wd4267")
94+
else()
95+
# Disable warning: 'variable' defined but not used
96+
set_source_files_properties(nativekernel32/winnls/string/locale.c PROPERTIES COMPILE_OPTIONS "-Wno-unused-variable")
97+
endif()
98+
99+
if(ARCH STREQUAL "i386")
100+
list(APPEND ASM_SOURCE
101+
nativekernel32/client/i386/fiber.S
102+
nativekernel32/client/i386/thread.S)
103+
elseif(ARCH STREQUAL "amd64")
104+
list(APPEND ASM_SOURCE
105+
nativekernel32/client/amd64/fiber.S)
106+
elseif(ARCH STREQUAL "arm")
107+
list(APPEND ASM_SOURCE
108+
nativekernel32/client/arm/fiber.S
109+
nativekernel32/client/arm/thread.S)
110+
endif()
111+
112+
add_asm_files(kernelbase_asm ${ASM_SOURCE})
113+
# This isn't called KernelBase because apps will explode and we aren't win7 yet.
114+
add_library(${kernelbase_name} MODULE
115+
${SOURCE}
116+
${kernelbase_asm}
117+
kernelbase.rc
118+
${CMAKE_CURRENT_BINARY_DIR}/${kernelbase_name}_stubs.c
119+
${CMAKE_CURRENT_BINARY_DIR}/${kernelbase_name}.def)
120+
if(MSVC)
121+
# Disable warning C4133: 'function': incompatible types - from 'WICPixelFormatNumericRepresentation *' to 'DWORD *'
122+
# Disable warning C4146: unary minus operator applied to unsigned type, result still unsigned
123+
target_compile_options(${kernelbase_name} PRIVATE /wd4047 /wd4024 /wd4133 /wd4146)
124+
125+
endif()
126+
set_module_type(${kernelbase_name} win32dll ENTRYPOINT DllMain 12)
127+
#############################################
128+
## HACK FOR MSVC COMPILATION WITH win32dll ##
129+
set_subsystem(${kernelbase_name} console)
130+
################# END HACK #################
131+
132+
target_link_libraries(${kernelbase_name} win32_registry psapi_static cryptlib wine chkstk ${PSEH_LIB})
133+
add_importlibs(${kernelbase_name} ntdll)
134+
add_pch(${kernelbase_name} kernel32/k32.h SOURCE)
135+
add_dependencies(${kernelbase_name} psdk errcodes asm)
136+
add_cd_file(TARGET ${kernelbase_name} DESTINATION reactos/system32 FOR all)

0 commit comments

Comments
 (0)