Skip to content

Commit 76bdbcc

Browse files
committed
[BRANCHES/TRANSITION_PTE]
- Sync to trunk head 70646 svn path=/branches/TransitionPte/; revision=70648
2 parents 6d4a068 + f6cd52a commit 76bdbcc

File tree

10,021 files changed

+1119130
-560984
lines changed

Some content is hidden

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

10,021 files changed

+1119130
-560984
lines changed

.hgeol

Lines changed: 0 additions & 31 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 67 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11

2-
cmake_minimum_required(VERSION 2.6)
2+
cmake_minimum_required(VERSION 2.8.12)
33

44
if(POLICY CMP0017)
55
# Shadow cmake provided modules
66
cmake_policy(SET CMP0017 OLD)
77
endif()
88

9+
if(POLICY CMP0026)
10+
# Allow use of the LOCATION property
11+
cmake_policy(SET CMP0026 OLD)
12+
endif()
13+
14+
if(POLICY CMP0051)
15+
# List TARGET_OBJECTS in SOURCES target property
16+
cmake_policy(SET CMP0051 NEW)
17+
endif()
18+
919
project(REACTOS)
1020

1121
# Versioning
@@ -27,8 +37,8 @@ set(CMAKE_COLOR_MAKEFILE OFF)
2737
#set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
2838
set(CMAKE_SKIP_INSTALL_RULES ON)
2939

30-
if(NOT CMAKE_VERSION STREQUAL "2.8.12.1-ReactOS")
31-
set(CMAKE_DISABLE_NINJA_DEPSLOG TRUE)
40+
if(NOT DEFINED NEW_STYLE_BUILD)
41+
set(NEW_STYLE_BUILD TRUE)
3242
endif()
3343

3444
if(NOT ARCH)
@@ -55,8 +65,25 @@ include(cmake/compilerflags.cmake)
5565

5666
add_definitions(-D__REACTOS__)
5767

68+
if(MSVC_IDE)
69+
add_compile_flags("/MP")
70+
endif()
71+
72+
# We don't need CMake importlib handling.
73+
# FIXME: Remove the MSVC_IDE condition when the upcoming RosBE lands.
74+
if(NOT MSVC_IDE)
75+
unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
76+
endif()
77+
78+
# Bison and Flex support
79+
# include(cmake/bison-flex.cmake)
80+
5881
if(NOT CMAKE_CROSSCOMPILING)
5982

83+
if(NEW_STYLE_BUILD)
84+
set(TOOLS_FOLDER ${CMAKE_CURRENT_BINARY_DIR})
85+
endif()
86+
6087
add_definitions(-DTARGET_${ARCH})
6188

6289
if(MSVC)
@@ -79,14 +106,23 @@ if(NOT CMAKE_CROSSCOMPILING)
79106
add_subdirectory(tools)
80107
add_subdirectory(lib)
81108

82-
if(NOT MSVC)
83-
export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
84-
else()
85-
export(TARGETS bin2c widl gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
109+
if(NOT NEW_STYLE_BUILD)
110+
if(NOT MSVC)
111+
export(TARGETS bin2c widl gendib cabman cdmake fatten hpp mkhive obj2bin spec2def geninc rsym mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
112+
else()
113+
export(TARGETS bin2c widl gendib cabman cdmake fatten hpp mkhive obj2bin spec2def geninc mkshelllink utf16le FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- )
114+
endif()
86115
endif()
87116

88117
else()
89118

119+
if(NEW_STYLE_BUILD)
120+
include(cmake/host-tools.cmake)
121+
endif()
122+
123+
# Print build type
124+
message("-- Build Type: ${CMAKE_BUILD_TYPE}")
125+
90126
# adjust the default behaviour of the FIND_XXX() commands:
91127
# search headers and libraries in the target environment, search
92128
# programs in the host environment
@@ -97,15 +133,6 @@ else()
97133
#useful stuff!
98134
include(CMakeParseArguments)
99135

100-
if(ENABLE_CCACHE)
101-
set(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
102-
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
103-
endif()
104-
105-
# Default to Debug for the build type
106-
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
107-
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
108-
109136
# Do some cleanup
110137
file(REMOVE
111138
${REACTOS_BINARY_DIR}/dependencies.graphml
@@ -116,13 +143,14 @@ else()
116143
${REACTOS_BINARY_DIR}/boot/ros_cab.txt
117144
${REACTOS_BINARY_DIR}/boot/ros_cab_target.txt)
118145

119-
if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR)
120-
set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build)
146+
if(NOT NEW_STYLE_BUILD)
147+
if(NOT DEFINED REACTOS_BUILD_TOOLS_DIR)
148+
set(REACTOS_BUILD_TOOLS_DIR ${REACTOS_SOURCE_DIR}/build)
149+
endif()
150+
set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
151+
include(${IMPORT_EXECUTABLES})
121152
endif()
122153

123-
set(IMPORT_EXECUTABLES "${REACTOS_BUILD_TOOLS_DIR}/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
124-
include(${IMPORT_EXECUTABLES})
125-
126154
if(DBG)
127155
add_definitions(-DDBG=1 -D_SEH_ENABLE_TRACE)
128156
else()
@@ -137,7 +165,7 @@ else()
137165
add_definitions(-D_WINKD_=1)
138166
endif()
139167

140-
if(CMAKE_VERSION STREQUAL "2.8.12.1-ReactOS")
168+
if(CMAKE_VERSION MATCHES "ReactOS")
141169
set(PCH 1 CACHE BOOL "Whether to use precompiled headers")
142170
else()
143171
set(PCH 0 CACHE BOOL "Whether to use precompiled headers")
@@ -157,7 +185,10 @@ else()
157185
add_definitions(-D_M_AMD64 -D_AMD64_ -D__x86_64__ -D_WIN64)
158186
elseif(ARCH STREQUAL "arm")
159187
# _M_ARM is already defined by toolchain
160-
add_definitions(-D_ARM_ -D__arm__)
188+
add_definitions(-D_ARM_ -D__arm__ -DWIN32)
189+
if(SARCH STREQUAL "omap-zoom2")
190+
add_definitions(-D_ZOOM2_)
191+
endif()
161192
endif()
162193

163194
# Other
@@ -166,7 +197,7 @@ else()
166197
elseif(ARCH STREQUAL "amd64")
167198
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
168199
elseif(ARCH STREQUAL "arm")
169-
add_definitions(-DUSE_COMPILER_EXCEPTIONS)
200+
add_definitions(-DUSE_COMPILER_EXCEPTIONS -DNO_UNDERSCORE_PREFIX)
170201
endif()
171202

172203
# Activate support for assembly source files
@@ -202,6 +233,7 @@ else()
202233
${REACTOS_BINARY_DIR}/include
203234
${REACTOS_BINARY_DIR}/include/psdk
204235
${REACTOS_BINARY_DIR}/include/dxsdk
236+
${REACTOS_BINARY_DIR}/include/ddk
205237
${REACTOS_BINARY_DIR}/include/reactos
206238
include/crt
207239
include/ddk
@@ -215,13 +247,20 @@ else()
215247

216248
add_dependency_header()
217249

250+
add_subdirectory(include/xdk)
218251
add_subdirectory(include/psdk)
219252
add_subdirectory(include/dxsdk)
220253
add_subdirectory(include/reactos/wine)
221254
add_subdirectory(include/reactos/mc)
222255
add_subdirectory(include/asm)
223256

224-
include(cmake/baseaddress.cmake)
257+
if(NO_ROSSYM)
258+
include(cmake/baseaddress_dwarf.cmake)
259+
elseif(MSVC)
260+
include(cmake/baseaddress_msvc.cmake)
261+
else()
262+
include(cmake/baseaddress.cmake)
263+
endif()
225264

226265
# For MSVC builds, this puts all debug symbols file in the same directory.
227266
set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/msvc_pdb")
@@ -240,6 +279,9 @@ else()
240279
add_subdirectory(tools/wpp)
241280
add_subdirectory(win32ss)
242281

282+
# Create the registry hives
283+
create_registry_hives()
284+
243285
# Create {bootcd, livecd, bootcdregtest}.lst
244286
create_iso_lists()
245287

CREDITS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Brian Palmer <[email protected]>
1313
Cameron M. Gutman <[email protected]>
1414
Casper S. Hornstrup <[email protected]>
1515
Christoph von Wittich <[email protected]>
16+
Colin Finck <[email protected]>
1617
Daniel Reimer <[email protected]>
1718
David Welch <[email protected]>
1819
Dmitry Chapyshev <[email protected]>
@@ -67,7 +68,7 @@ Robert Dickenson <[email protected]>
6768
Royce Mitchell III <[email protected]>
6869
Samuel Serapi�n <[email protected]>
6970
Saveliy Tretiakov <[email protected]>
70-
Stefan Ginsberg <[email protected]>
71+
Stefan Ginsberg <[email protected]>
7172
Steven Edwards <[email protected]>
7273
Thomas Weidenmueller <[email protected]>
7374
Timo Kreuzer <[email protected]>

INSTALL

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,41 @@
11
1. Build environment
2+
--------------------
23

3-
To build the system you need either mingw32 installed on Windows or a mingw32
4-
cross compiler running on unix. You may obtain MinGW binaries that build
5-
ReactOS from http://www.reactos.org/.
4+
To build the system it is strongly advised to use the ReactOS Build Environment
5+
(RosBE). Up-to-date versions for Windows and for Unix/GNU-Linux are available
6+
from our download page at: http://www.reactos.org/wiki/Build_Environment/
7+
8+
Alternatively one can use Microsoft Visual C++ (MSVC) version 2010+, together
9+
with separate installations of CMake and the Ninja build utility.
610

711

812
2. Building ReactOS
13+
-------------------
14+
15+
A throughout guide for how to build ReactOS can be found at:
16+
http://www.reactos.org/wiki/Building_ReactOS
17+
18+
In the following we only make a quick overview.
19+
920

1021
2.1 Building the binaries
1122

12-
To build ReactOS run 'make' (without the quotes) if you are building on Linux
13-
or 'mingw32-make' if you are building on Windows (or ReactOS) from the top
14-
directory. If you are using RosBE, follow on-screen instructions.
23+
To build ReactOS run 'ninja' (without the quotes), or alternatively run
24+
'make' if you are using the Make utility, from the top directory.
25+
NOTE: In the other examples listed in the following, similar modification
26+
holds if you are using the Make utility instead of Ninja.
27+
If you are using RosBE, follow on-screen instructions.
1528

1629

1730
2.2 Building a bootable CD image
1831

19-
To build a bootable CD image run 'make bootcd' (without the quotes) if you are
20-
building on Linux or 'mingw32-make bootcd' if you are building on Windows (or
21-
ReactOS) from the top directory. This will create a CD image with a filename,
22-
ReactOS.iso, in the top directory.
32+
To build a bootable CD image run 'ninja bootcd' (without the quotes) from the
33+
top directory. This will create a CD image with a filename, ReactOS.iso, in
34+
the top directory.
2335

2436

2537
3. Installation
38+
---------------
2639

2740
ReactOS can only be installed on a machine that has a FAT16 or FAT32 partition
2841
as the active (bootable) partition. The partition on which ReactOS is to be
@@ -41,13 +54,13 @@ build a bootable CD as described above. Burn the CD image, boot from it, and
4154
follow the instructions to install ReactOS.
4255

4356
If you have an existing ReactOS installation you want to upgrade, then to
44-
install ReactOS after building it, type 'make install' or
45-
'mingw32-make install'. This will create the directory 'reactos' in the top
46-
directory. Copy the contents of this directory over the existing installation.
57+
install ReactOS after building it, type 'ninja install'. This will create
58+
the directory 'reactos' in the top directory. Copy the contents of this
59+
directory over the existing installation.
4760

4861
If you don't want to copy the files manually every time you run a
49-
'make install' or 'mingw32-make install', then you can specify the directory
50-
where the files are to be copied to during installation.
62+
'ninja install', then you can specify the directory where the files are
63+
to be copied to during installation.
5164

5265
Set the ROS_INSTALL environment variable. If you are on Windows this could be
5366
done by:
@@ -58,8 +71,7 @@ If you are on Linux this could be done by:
5871

5972
export ROS_INSTALL=/mnt/windows/reactos
6073

61-
Now run 'make install' or 'mingw32-make install' to install the files to the
62-
new location.
74+
Now run 'ninja install' to install the files to the new location.
6375

6476

6577
3.2 Installation from bootable CD distribution
@@ -68,12 +80,13 @@ To install ReactOS from the bootable CD distribution, extract the archive
6880
contents. Then burn the CD image, boot from it, and follow instructions.
6981

7082

71-
5. Help
83+
4. Help
84+
-------
7285

7386
If you run into problems or have suggestions for making ReactOS better, please
7487
visit the address below. Mailing lists are available for a variety of topics,
7588
bugs should be submitted to JIRA and general chat takes place in the forums,
76-
or #reactos on freenode
89+
or #reactos on freenode.
7790

7891
http://www.reactos.org/
7992

README

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
========================
2-
ReactOS Version 0.3.x
3-
Updated Dec 16, 2006
2+
ReactOS Version 0.4.x
3+
Updated January 5, 2016
44
========================
55

66
1. What is ReactOS?
7+
-------------------
78

8-
ReactOS is an Open Source effort to develop a quality operating system
9-
that is compatible with Windows NT applications and drivers.
9+
ReactOS� is an Open Source effort to develop a quality operating system that is
10+
compatible with applications and drivers written for the Microsoft� Windows� NT
11+
family of operating systems (NT4, 2000, XP, 2003, Vista, Seven).
1012

11-
The ReactOS project, although currently focused on Windows XP/2003
12-
drivers compatibility, is always keeping an eye toward compatibility with
13-
older version of Windows NT family ( NT 4.0, 2000 (NT 5.0)) and new
14-
Windows NT releases (Vista, etc). Applications (Win32 API) compatibility
15-
focus is Windows XP.
13+
The ReactOS project, although currently focused on Windows Server 2003
14+
compatibility, is always keeping an eye toward compatibility with
15+
Windows Vista and future Windows NT releases.
1616

17-
More information is available at http://www.reactos.org/.
17+
More information is available at: http://www.reactos.org
1818

1919
2. Building ReactOS
20+
-------------------
2021

2122
See the INSTALL file for more details.
2223

2324
3. More information
25+
-------------------
2426

2527
See the media\doc subdirectory for some sparse notes.
2628

2729
4. Who is responsible
30+
---------------------
2831

2932
See the CREDITS file.

0 commit comments

Comments
 (0)