Commit graph

86 commits

Author SHA1 Message Date
Amine Khaldi 08a0346e9f [SDK] One step further towards ReactOS source code tree restructure: the sdk folder that groups includes, libraries and tools. CORE-9111
svn path=/trunk/; revision=71184
2016-04-20 12:36:25 +00:00
Amine Khaldi e670224c35 [CMAKE] Print the build type so it's clearly visible at configure time whether we are doing a Debug or a Release build for example.
svn path=/trunk/; revision=69738
2015-10-30 09:55:58 +00:00
Amine Khaldi 6d8909a8aa [CMAKE] Enable the new style build by default. CORE-10121
svn path=/trunk/; revision=69597
2015-10-18 11:29:34 +00:00
Amine Khaldi 46d3d0d940 [CMAKE] We don't need this case anymore.
svn path=/trunk/; revision=69596
2015-10-18 11:21:56 +00:00
David Quintana 2f3a69e66f [FATTEN]
* Fix folder creation and external file access.
* Add fatten as a host-tool.
* Add a target for creating efisys.bin from the bootmgfw
TODO: Make the name of the boot*.efi depend on the platform (ia32/x64/arm).
TODO: Add efisys as a dependency to the bootcd, when we need to make use of the efisys.bin file for the iso (waiting for hbelusca's cdmake work).

svn path=/trunk/; revision=69109
2015-09-08 03:37:47 +00:00
Thomas Faber 525668eff1 [XDK][DDK][PSDK]
- Generate XDK headers during build. To make changes to wdm.h, ntddk.h, ntifs.h, devioctl.h, ntdef.h or winnt.h, edit the appropriate files in include/xdk (as you should already have been doing for a long time).
CORE-9586 #resolve

svn path=/trunk/; revision=69083
2015-09-07 09:46:43 +00:00
Amine Khaldi 8f3fc52eb3 [CMAKE] Introduce a way to compile ReactOS without invoking CMake twice. You can enable it by running configure with -DNEW_STYLE_BUILD=1. Once the transition goes smoothly we can enable this by default. CORE-10121
svn path=/trunk/; revision=69060
2015-09-06 16:44:30 +00:00
Amine Khaldi e950972731 [CMAKE] Fix broken PCH handling since r67483.
svn path=/trunk/; revision=68843
2015-08-28 09:24:39 +00:00
Amine Khaldi 17228d9d3e [CMAKE] Introduce a way to use auto generation using bison and flex. Dedicated to Eric Kohl. CORE-10055
svn path=/trunk/; revision=68840
2015-08-27 23:00:49 +00:00
Amine Khaldi 6c6dae8b30 [CMAKE] Add and use baseaddress_msvc.cmake.
svn path=/trunk/; revision=68839
2015-08-27 22:35:06 +00:00
Daniel Reimer c1ae42088e [CMAKE] Include TARGET_OBJECTS expressions in SOURCES target property output. Patch by Amine Khaldi
svn path=/trunk/; revision=68649
2015-08-09 09:50:46 +00:00
Amine Khaldi e7a9440fb8 [CMAKE] Default to Debug for the build type in GCC builds.
svn path=/trunk/; revision=67862
2015-05-23 11:45:59 +00:00
Amine Khaldi 5db57580e8 [CMAKE] Fix setting CMake build type so we can use other types too (like Release).
svn path=/trunk/; revision=67859
2015-05-23 10:31:52 +00:00
Amine Khaldi a7fea1598b [CMAKE] Do not unset this in MSVC_IDE mode. Will be removed when the upcoming RosBE lands as there seems to be a bug in the current CMake version.
svn path=/trunk/; revision=67773
2015-05-16 13:11:43 +00:00
Timo Kreuzer 9b8b564ef5 [CMAKE]
Make sure WIN32 is defined for ARM builds

svn path=/trunk/; revision=67732
2015-05-14 22:30:56 +00:00
Amine Khaldi 05a5f2bb89 [CMAKE] Prevent CMake from doing importlib handling as we do that on our own.
svn path=/trunk/; revision=67690
2015-05-12 12:19:41 +00:00
Amine Khaldi cec93846d6 [CMAKE] Set the /MP flag for MSVC_IDE globally.
svn path=/trunk/; revision=67686
2015-05-12 11:38:32 +00:00
Amine Khaldi 75b42e9678 [CMAKE] Set "Debug" as the default build type globally.
svn path=/trunk/; revision=67685
2015-05-12 11:35:19 +00:00
David Quintana 3933ca6bce This commit brings support for compiling ReactOS with Visual Studio 2015 RC (and possibly the final release).
[BUILD]
msvc.cmake: Disable thread-local static initialization.
CMakeLists.txt: Disable PCH for VS2015.
configure.cmd: Make it aware of cl.exe version 19.x

[CPPRT]
Add alias for the new variants of the delete operators.

[BROWSEUI]
[MFIFS]
[FRAMEDYN]
[NDIS]
[DDK]
[PSDK]
[STLPORT]
Add explicit declarations of the new delete operators for those modules that don't use the WITH_RUNTIME option.

[WIDL]
[WPP]
Do not alias the snprintf family of functions to the _snprintf variants, since VS14 already declares them internally.

svn path=/trunk/; revision=67483
2015-04-30 21:48:26 +00:00
Timo Kreuzer 2530602c53 [FREELDR]
Fix ARM build

svn path=/trunk/; revision=67164
2015-04-11 14:03:19 +00:00
Timo Kreuzer 7ee7d29258 [CMAKE]
Use native OS tools for concatenating files. Remove cat from host tools.

svn path=/trunk/; revision=66989
2015-03-30 22:31:43 +00:00
Timo Kreuzer 04cbcf8063 [CMAKE/BOOTDATA]
Implement support for decentralized registry inf files.
This is done with the new add_registry_inf() cmake function, which takes one or more inf files, which are then converted to UTF-16 and merged into a single registry.inf, which is then used to create the livecd hives and imported by usetup. Move the registry entries for some drivers out of hivesys.inf into separate files next to the driver.

svn path=/trunk/; revision=66952
2015-03-29 11:38:05 +00:00
Hermès Bélusca-Maïto c1324010e5 [ROSAPPS][HOST-TOOLS]:
- Take the best of the two CAT rosapps and turn them into a host-tool. Will be used later on in the build process.
- Few comment cleaning in bin2c tool.

svn path=/trunk/; revision=66942
2015-03-29 00:13:25 +00:00
Amine Khaldi 1a045cb4b3 [CMAKE] Just check for ReactOS in CMake version for PCH, not a specific version.
svn path=/trunk/; revision=66484
2015-02-28 09:59:39 +00:00
Amine Khaldi 34c7987e0d [CMAKE] Move ccache related handling to the gcc set.
svn path=/trunk/; revision=66389
2015-02-21 14:40:14 +00:00
Amine Khaldi 8c7c00cbc2 * Addendum to r66386.
svn path=/trunk/; revision=66387
2015-02-21 14:34:42 +00:00
Sylvain Petreolle 661bad6b05 Disable PCH use in ccache builds.
svn path=/trunk/; revision=66386
2015-02-21 14:24:19 +00:00
Amine Khaldi c094a9b51f [CMAKE]
* Allow the use of the LOCATION property with new CMake versions.

svn path=/trunk/; revision=64894
2014-10-22 16:56:56 +00:00
Amine Khaldi 2ebfae067a [CMAKE]
* Let the minimum required CMake version be 2.8.12 so that *cough* people with old RosBE would be warned to update it! (I'm looking at you, Arch).

svn path=/trunk/; revision=64801
2014-10-18 13:13:20 +00:00
Amine Khaldi 2bdcf8789d [CMAKE]
* Make the minimum required version 2.8.
* Remove redundant psdk dependencies.
* Tidy up CMake files.

svn path=/trunk/; revision=64795
2014-10-17 23:28:29 +00:00
Amine Khaldi 25161b54ac [CMAKE/BASEADDRESS]
* Take the dwarf builds (NO_ROSSYM on) into account when assigning base addresses.
* Dedicated to V.

svn path=/trunk/; revision=64666
2014-10-11 13:36:08 +00:00
Amine Khaldi 64fdd77f12 [CMAKE/CLANG]
* Enable PCH in Clang builds too now.
CORE-8516

svn path=/trunk/; revision=64239
2014-09-23 17:44:42 +00:00
Jérôme Gardou cbb6d64036 [CMAKE]
- Use cache to decide whether we use precompiled headers or not.

svn path=/trunk/; revision=63799
2014-08-04 11:05:09 +00:00
Kamil Hornicek 9e5dfae220 [CMAKE/MSVC]
- define _ALLOW_KEYWORD_MACROS for VS11 too

svn path=/trunk/; revision=63376
2014-05-19 20:28:35 +00:00
Amine Khaldi ac454fae84 [CMAKE/MSVC]
* Define _ALLOW_KEYWORD_MACROS to get the news MSVC toolchain to allow us to redefine inline (it became a keyword). Reported by David Quintana.

svn path=/trunk/; revision=63353
2014-05-18 14:39:03 +00:00
Thomas Faber 9a02edda36 [UTF16LE]
- Add to build
CORE-8221

svn path=/trunk/; revision=63278
2014-05-13 20:00:51 +00:00
Amine Khaldi 4916e626c0 [CMAKE]
* Disable PCH in Clang builds. We'll inspect this later.

svn path=/trunk/; revision=62391
2014-03-02 20:47:34 +00:00
Amine Khaldi 8bc446901a [CMAKE]
* Set the default PCH value only if it's not already set.

svn path=/trunk/; revision=62241
2014-02-18 11:12:26 +00:00
Amine Khaldi 870e60a3df [CMAKE]
* Set the new ninja deps mode as on by default for RosBE 2.1.1 users.
CORE-7887

svn path=/trunk/; revision=62153
2014-02-13 22:24:30 +00:00
Amine Khaldi 83164605f5 [CMAKE]
* Set PCH as on by default for RosBE 2.1.1 users.
* You guys no longer need to alter anything now, just grab RosBE 2.1.1 and have fun ;)
CORE-7716

svn path=/trunk/; revision=62151
2014-02-13 21:42:05 +00:00
Amine Khaldi e0fbecaa35 [CMAKE]
* Speedup GCC and MSVC builds by making use of the new ninja deps mode.
* It will be in effect once you update to RosBE 2.1.1. It's disabled now in the transition phase.
CORE-7887

svn path=/trunk/; revision=62137
2014-02-12 19:36:19 +00:00
Amine Khaldi f6955a0388 [CMAKE]
* Disable the generation of unneeded installation rules. This speeds up build and reduces the build folder files count/overall size.
* It will be in effect once you update to RosBE 2.1.1.
CORE-7888 #resolve

svn path=/trunk/; revision=62136
2014-02-12 19:25:45 +00:00
Jérôme Gardou 1a41980788 [INCLUDE/CRT]
- add intrin.h which redirects to compiler specific version
 - Do not add a global include directory for two headers
 - Update float.h accordingly

svn path=/trunk/; revision=61450
2013-12-27 16:25:52 +00:00
Amine Khaldi 61fde33ba7 [CMAKE]
* Add a proper way to enable/disable PSEH3.

svn path=/trunk/; revision=60190
2013-09-17 22:31:33 +00:00
Amine Khaldi 1f1d1b19dc [WPP]
* Introduce wpp as a cross compiling lib, and rename out host one as wpphost.
[WIDL]
* Update the link reference to the host wpp.
[PSDK]
* Update d3d9types.h and import d3d11shader.h and d3dcompiler.h from Wine.
[DXGUID]
* Introduce dx10guid to contain some GUIDs needed only by Wine DirectX modules.
[D3DCOMPILER_43]
* Import from Wine 1.7.1.

svn path=/trunk/; revision=60098
2013-09-14 10:30:44 +00:00
Cameron Gutman 4ed049cc7b [CMAKE]
- Define i386 on x86 MSVC builds
- Probably fixes the infamous MSVC networking issues caused by tcpip.h assuming it was a big-endian platform and never byte-swapping anything
[TCPIP][LAN]
- Fix byteswapping on AMD64 and ARM builds too

svn path=/trunk/; revision=59704
2013-08-12 01:12:25 +00:00
Amine Khaldi fe0958fb25 * Improve the way we create bootcd, livecd and bootcdregtest. The effort results in ~28% *smaller* build folder, and *much* faster generation of the ISOs.
[CDMAKE]
* Introduce a way to create an iso using a file map instead of the current on-disk layout. This allows us to massively reduce the IO and the disk space needed to perform the creation of the 3 ISOs, and at the same time speed up the process. Brought to you by Art Yerkes (arty) with review/bug fix by Thomas Faber.
[CMAKE]
* Leverage the newly introduced cdmake feature.
* Silence cdmake verbosity.
* Write the contents of the file lists at once, instead of appending to it one item by one.
[VGAFONTS]
* Don't include the cab file twice.

svn path=/trunk/; revision=59547
2013-07-21 13:33:03 +00:00
Thomas Faber 29cb1bacd5 [CMAKE]
- Fix MSVC 64 bit host-tools build

svn path=/trunk/; revision=59536
2013-07-20 11:07:30 +00:00
Amine Khaldi 4f0694e3af * Improve the way we create rossym debug info. The effort results in ~85% *smaller* build folder with ninja all with no code changes.
[DBGHELPHOST]
* Introduce a self-contained, static library version of dbghelp, in order to leverage its PE DWARF support. Thanks to Jerome Gardou for his work on the compatibility layer, and to Thomas Faber for helping me with the review/improvements.
* Unify the new host lib with the existing dll codebase using preprocessor conditions. This prevents code duplication.
* Skip as much unneeded functionality as possible when compiling dbghelphost to keep it light and straight to the point.
[RSYM]
* Introduce the required functions that allow parsing DWARF (using dbghelphost) and using it (along with coff symbols) to create the rossym debug info. Brought to you by Awesome Arty with some bugfixes from Jerome Gardou. Many thanks to Thomas Faber for assisting me with the testing/bug hunting.
[CMAKE/GCC]
* Introduce a combination of dwarf and debug emission flags that ensure the smallest debug info size among all the possible options we have.
* Introduce compressed debug sections that I already included the support for in RosBE 2.1. Thanks to the mingw-w64 folks (Kai Tietz) for the patch.
* Don't compress debug sections of C++ modules for now due to a bug in the toolchain that leads to spamming the build at link time with a warning.
* Don't run rsym on the RC shared libraries. Thanks to Thomas Faber for spotting this.
[DBGHELP]
* Update the ros diff to reflect the changes introduced by the dbghelphost unification.

svn path=/trunk/; revision=59505
2013-07-18 21:03:01 +00:00
Thomas Faber 50b0c50023 [CMAKE]
- Add configure support for VS 2013
- Add a missing /nologo to assembler invocations
- Properly complain about old MSVC versions during configure instead of failing the build

svn path=/trunk/; revision=59488
2013-07-14 21:00:42 +00:00