Commit graph

117 commits

Author SHA1 Message Date
Amine Khaldi 2bf9800b96 [CMAKE][BOOTSECT]
* Improve some inclusions (avoid ../ types).

svn path=/trunk/; revision=65368
2014-11-10 19:21:06 +00:00
Jérôme Gardou 87daca2bea [GCC/CMAKE]
- Add a way to conditionally use the GCC stack protector.
Just add -DSTACK_PROTECTOR:BOOL=TRUE as argument to configure.cmd/sh

svn path=/trunk/; revision=64527
2014-10-04 20:26:14 +00:00
Amine Khaldi 7c6eba950b [CMAKE]
* Introduce an option to compile ReactOS with dwarf symbols instead of rossym. Use NO_ROSSYM to control it.
* Dedicated to V.
CORE-8594 #resolve

svn path=/trunk/; revision=64483
2014-10-03 09:56:36 +00:00
Jérôme Gardou 9d617372d5 [SPEC2DEF/CMAKE]
- add a way to enable "relay tracing" (à la wine) to modules.
This uses wine's TRACE routine, debug channel being "relay"
Use "WITH_RELAY" argument to cmake macro spec2def to activate.

svn path=/trunk/; revision=64281
2014-09-25 18:25:02 +00:00
Amine Khaldi bef3d82f99 [CMAKE]
* Use the full path of the PCH file when including it.

svn path=/trunk/; revision=64238
2014-09-23 17:43:18 +00:00
Amine Khaldi 0548cdea30 [CMAKE/CLANG]
* Properly initialize compiler flags.
CORE-8516

svn path=/trunk/; revision=64202
2014-09-20 17:36:37 +00:00
Jérôme Gardou 836ae31c1d [NTOSKRNL/GCC]
- Use 0x00800000 as base address. This doesn't change anything (still loaded at 0x80800000) and it produces debug symbols that GDB can understand
[CMAKE]
 - Get back to using DWARF2 symbols. They are a lot bigger, but at least they work
Now GDB can be used to source-level debug ntoskrnl.

svn path=/trunk/; revision=64128
2014-09-12 22:56:22 +00:00
Jérôme Gardou 9cc2b4e75c [KDGDB]
- introduce KDGDB, a KDCOM-like DLL, wrapping the KD protocol and the GDB remote protocol together.
It is not fully functional, but for now it permits source-level debugging in some modules. More will be added as I feel the need and find the time to work a bit more on it. (That is, unless an angel comes and resume the work)
To use it, set GDB and _WINKD_ to TRUE in your CMakeCache.txt. Using separate debug symbols is also a good idea.

svn path=/trunk/; revision=64121
2014-09-11 20:55:42 +00:00
Amine Khaldi 9cf026de3a [CMAKE/CLANG]
* Do not add PIC and PIE related flags.
CORE-8516

svn path=/trunk/; revision=64111
2014-09-10 19:00:53 +00:00
Amine Khaldi 009e72443d [CMAKE/CLANG]
* Do not pass -mwindows when linking executables.
CORE-8516

svn path=/trunk/; revision=64104
2014-09-10 15:34:05 +00:00
Amine Khaldi 58d6989040 [CMAKE/CLANG]
* Add -Wno-microsoft only for C modules at the moment (as we're using g++ for c++ modules).
CORE-8516

svn path=/trunk/; revision=64097
2014-09-09 18:42:43 +00:00
Amine Khaldi d269d9c801 [CMAKE/CLANG]
* Properly set CMAKE_STATIC_LIBRARY_SUFFIX and CMAKE_LINK_LIBRARY_SUFFIX for Clang builds.

svn path=/trunk/; revision=64064
2014-09-07 17:19:14 +00:00
Amine Khaldi d7d700b347 [CMAKE/CLANG]
* Fix Clang def file handling.
* Clang doesn't have -Wold-style-declaration (yet?).

svn path=/trunk/; revision=64060
2014-09-07 12:36:26 +00:00
Dmitry Gorbachev f8abce1e28 [CMAKE]
Thin & Slim link-time optimization (requires up-to-date binutils).

svn path=/trunk/; revision=63893
2014-08-15 11:12:09 +00:00
Timo Kreuzer a5cffd2542 [MCISEQ] Silence a warning
[CMAKE] Get rid of -Wtype-limits, it's noisy, it doesn't provide any reasonable benefit and it's almost impossible to "fix" these warnings without huge haxxory.

svn path=/trunk/; revision=63520
2014-05-31 21:26:26 +00:00
Pierre Schweitzer 108e081fe5 [CMAKE]
This was not meant to be committed. Sorry.

svn path=/trunk/; revision=63171
2014-05-05 21:06:13 +00:00
Pierre Schweitzer c6b63983da [CMAKE]
Don't activate specific warnings for release builds

svn path=/trunk/; revision=63170
2014-05-05 21:03:20 +00:00
Pierre Schweitzer aba903d969 [CMAKE]
Enable -Wdeclaration-after-statement for C builds

svn path=/trunk/; revision=63162
2014-05-04 18:11:11 +00:00
Pierre Schweitzer a9cd01c98b [CMAKE]
Enable -Wold-style-declaration for C builds

svn path=/trunk/; revision=63155
2014-05-04 09:49:21 +00:00
Amine Khaldi 6687753892 [CMAKE]
* Enable the PCH related warnings globally.

svn path=/trunk/; revision=62764
2014-04-17 13:49:49 +00:00
Thomas Faber c362a06522 [CMAKE]
- Remove unnecessary allow_warnings throughout the code base
- Make -Wnarrowing an error unless excepted specifically (only done in explorer)

svn path=/trunk/; revision=62566
2014-03-26 11:08:45 +00:00
Hermès Bélusca-Maïto c1560dcc24 [CMAKE]
- GCC: Cosmetic changes only.
- MSVC:
  * Cosmetic changes (the same as in GCC).
  * Only VS 10+ resource compiler supports /nologo , therefore define a rc_nologo_flag that sets /nologo for VS 10+ rc.exe, and nothing for VS < 10.
CORE-6997 #comment Only VS10+ rc.exe supports /nologo, modify the fix in revision 62559.
CORE-8023

svn path=/trunk/; revision=62559
2014-03-24 20:54:01 +00:00
Amine Khaldi 35bcabdf00 [CMAKE]
* Don't treat warnings like errors in the Clang build just yet.

svn path=/trunk/; revision=62403
2014-03-02 22:11:49 +00:00
Amine Khaldi 2675d2c145 [CMAKE]
* Disable the MS extensions warning in Clang build.

svn path=/trunk/; revision=62388
2014-03-02 20:41:36 +00:00
Amine Khaldi dd0002fc05 [CMAKE]
* Use the GCC compatible dialect in Clang builds.

svn path=/trunk/; revision=62387
2014-03-02 20:27:39 +00:00
Amine Khaldi 6d213f3658 [CMAKE]
* Remove some unsupported flags from the Clang build options.

svn path=/trunk/; revision=62386
2014-03-02 20:08:07 +00:00
Amine Khaldi 8eef16640f [CMAKE]
* Improve the dummy definitions.

svn path=/trunk/; revision=62141
2014-02-12 22:12:52 +00:00
Amine Khaldi 57168c30e9 [CMAKE]
* *Significantly* speedup our GCC and MSVC builds by bringing-in precompiled headers support.
* Grab RosBE 2.1.1, set PCH to 1 and enjoy ;)
CORE-7716

svn path=/trunk/; revision=62139
2014-02-12 19:55:12 +00:00
Amine Khaldi d1360273fb [CMAKE/GCC]
* Improve the ccache check.

svn path=/trunk/; revision=62135
2014-02-12 18:36:46 +00:00
Dmitry Gorbachev 952460b582 [CMAKE]
Use -ffat-lto-objects option for LTCG builds. GCC 4.9 now defaults 
to slim LTO, which (owing to linker bug #13557) fails with undefined 
reference errors.
[LWIP]
Compile with -fno-builtin-malloc -fno-builtin-free. GCC bug #56578.

svn path=/trunk/; revision=61266
2013-12-13 17:50:57 +00:00
Thomas Faber 205bebdd7f [CMAKE]
- Enable -Wtype-limits in GCC builds

svn path=/trunk/; revision=61096
2013-11-25 12:30:03 +00:00
Timo Kreuzer d8cadc59dc [CMAKE/SPEC2DEF]
Fix build.

svn path=/trunk/; revision=61025
2013-11-17 22:24:02 +00:00
Timo Kreuzer 6c26b58f06 [SPEC2DEF]
Rewrite the code for generating def files. Remove useless switches. Seperate code for GCC and MSVC for easier maintainability. Make use of the new dlltool feature implemented by Kai Tietz, that allows to specify the name of an import/export. It is now possible to both export stdcall and fastcall decorated symbols as well as import from them.

svn path=/trunk/; revision=61024
2013-11-17 22:11:04 +00:00
Timo Kreuzer a7708e17cc [PSEH3] Enable it by default.
svn path=/trunk/; revision=60839
2013-11-02 20:42:13 +00:00
Dmitry Gorbachev 755334ff27 Remove some stuff added for old GCC versions.
svn path=/trunk/; revision=60833
2013-11-02 14:33:18 +00:00
Aleksey Bragin 7445605fbd [CMAKE]
- Add an option to fully disable PSEH (aka use dummy PSEH).

svn path=/trunk/; revision=60822
2013-11-01 11:58:31 +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 f47701b71d [RSYM]
* Add a flag (-s) to pass the source folder. This allows it to set the debug file paths relatively to that source folder. Brought to you by Arty.
[CMAKE]
* Leverage the new rsym flag. The rossym file paths are no longer absolute.

svn path=/trunk/; revision=59775
2013-08-18 20:05:32 +00:00
Thomas Faber d608c3cb52 [PORTCLS]
- Silence warnings. Using (unnecessary) virtual destructors here rather than final because that's what the 99 other classes already do.

svn path=/trunk/; revision=59535
2013-07-20 10:43:33 +00:00
Thomas Faber 57cbddb184 [CMAKE]
- And here's finally a reason why we shouldn't use g++'s host-headers and libraries
- Switch back to wishy-washy-what's-a-standard mode for C++ globally, and enable C++11 only for netshell

svn path=/trunk/; revision=59534
2013-07-20 10:23:07 +00:00
Thomas Faber efe732ec14 [CMAKE]
- Why the heck do we need GNU C++ extensions aka fix build

svn path=/trunk/; revision=59533
2013-07-20 10:02:50 +00:00
Thomas Faber e713afc1f4 [NETSHELL]
- Fix warnings

svn path=/trunk/; revision=59532
2013-07-20 09:56:58 +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
Thomas Faber f76d810d43 [CMAKE]
- Do not allow add_delay_importlibs to be called on static libraries

svn path=/trunk/; revision=59481
2013-07-14 11:44:21 +00:00
Thomas Faber d8b4a7bd9e [CMAKE]
- rework set_cpp to allow fine-grained control over enabled language features
CORE-6950

svn path=/trunk/; revision=59288
2013-06-22 14:44:56 +00:00
Thomas Faber cc1996b991 [CMAKE]
- Don't check for unsupported gcc 4.6
- Disable -Wmaybe-uninitialized. It's just not useful.

svn path=/trunk/; revision=59131
2013-06-01 16:24:07 +00:00
Amine Khaldi e7836734ab [CMAKE]
* Use PSEH2 again for TestBE (reverts 58603 and 58604).

svn path=/trunk/; revision=58767
2013-04-15 12:59:35 +00:00
Jérôme Gardou a6a0236a4f [CMAKE]
- Do not link drivers to supc++

svn path=/trunk/; revision=58648
2013-04-02 18:42:39 +00:00
Jérôme Gardou 4f6ab684bf [CMAKE]
* Add the wdmdriver module type

svn path=/trunk/; revision=58637
2013-04-02 08:08:36 +00:00