81 | | * ''Release'' or ''Debug''? The default compilation will do a ''Release'' build. You may think that it may be worthy to actually do a ''Debug'' build since you are planning to start hacking and make use of ''gdb''. However, a ''Debug'' build will take longer, more hard drive space and more RAM. In addition, running a debug build in ''gdb'' may be a pain. Because of this, most of the WebKit hackers choose to just use a ''Release'' build and make an extensive usage of ''printf'' as debugging tool. Also, there is the possibility to ''tweak'' a ''Release'' build to keep [wiki:WebKitGTK/Debugging#DebuggingWebKitGTK certain debugging helpers] and yet not being a full ''Debug'' build. |
82 | | - In any case, don't worry too much since a ''Release'' and a ''Debug'' build can co-exist as WebKit store the resulting objects in different directories. |
83 | | * You may want to disable the compilation of unneeded pieces for if you are not working on them. For example, you can pass: |
| 81 | * ''Release'' or ''Debug''? The default compilation will do a ''Release'' build. You may think that it may be worthy to actually do a ''Debug'' build since you are planning to start hacking and make use of ''gdb''. However, a ''Debug'' build will take longer, more hard drive space and more RAM. In addition, running a debug build in ''gdb'' may be a pain. Because of this, most of the WebKit hackers choose to just use a ''Release'' build and make an extensive usage of ''printf'' as debugging tool. |
| 82 | * In any case, don't worry too much since a ''Release'' and a ''Debug'' build can co-exist as WebKit store the resulting objects in different directories. |
| 83 | * Also, there is the possibility to ''tweak'' a ''Release'' build to keep [wiki:WebKitGTK/Debugging#DebuggingWebKitGTK certain debugging helpers] and yet not being a full ''Debug'' build. For example, you may want to disable the compilation of unneeded pieces for if you are not working on them. For example, you can pass: |
91 | | - You should check all the possible flags to pass to the building script: |
| 91 | * You may also turn some debug flags in a ''Release'' build. For example, you can turn on the logging support setting the C macro "LOG_DISABLED=0". |
| 92 | {{{ |
| 93 | #!sh |
| 94 | $ export CPPFLAGS="-DLOG_DISABLED=0" |
| 95 | $ ./Tools/Scripts/build-webkit --gtk |
| 96 | }}} |
| 97 | * You may also want to pass extra parameters to the ''make'' command. This can be done with the ''--makeargs'' argument: |
| 98 | {{{ |
| 99 | #!sh |
| 100 | $ ./Tools/Scripts/build-webkit --gtk --makeargs="-j2" |
| 101 | }}} |
| 102 | * You should check all the possible flags to pass to the building script: |