Rémi Verschelde
d8f32637be
SCons: Add option to toggle warnings (on by default)
...
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.
(cherry picked from commit 31107daa1a
)
2017-03-26 21:58:37 +02:00
Ferenc Arn
7a85d25218
Use -Ofast on x11. Also introduced use_lto option.
...
debug_release doesn't turn off optimizations for release target now. Ensure that sanitizer options apply to both C and C++ files.
Built-in optimization/debug flags are prepended such that user-specified flags can override them.
Based on and around the discussion in PR #5194 .
2017-01-26 19:32:27 -06:00
Rémi Verschelde
d945c4e58e
x11: Improve logic for cross-dependencies between freetype, zlib and libpng
...
Fixes #7373 .
2017-01-08 17:17:05 +01:00
Rémi Verschelde
2a38a5eaa8
Remove bundled glew, obsoleted by glad
...
Also make Haiku load the glad header for GLES3 too,
though I haven't test it.
2017-01-06 22:56:51 +01:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
4965ddfaa1
png: Allow building shared freetype with bundled libpng
...
This was the behaviour when building Godot 2.1, which allows to build against
Ubuntu 12.04 and its freetype that links old libpng12, while still bundling
libpng16.
2016-11-19 14:09:01 +01:00
Rémi Verschelde
c32766a482
Revert "libpng: Fix erroneously linking against libpng12 on old distros"
...
This reverts commits 5fa1bb331a
and ec4be71fad
.
Looks like Debian/Ubuntu are not even shipping libpng16 nowadays in their
stable releases, we'll have to go back to statically linking our own
libpng16 to wait for them to stop being 5 years behind everybody.
2016-11-19 13:39:03 +01:00
Rémi Verschelde
5fa1bb331a
libpng: Fix erroneously linking against libpng12 on old distros
...
This bit us for 2.1.1 binaries built on Ubuntu 12.04 LTS where
libpng.pc apparently prioritizes libpng12.
2016-11-19 12:59:48 +01:00
Rémi Verschelde
cc95d4448c
scons: Reorder options for clarity
...
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-03 07:45:08 +01:00
Rémi Verschelde
817dd7ccbb
style: Fix PEP8 blank lines issues in Python files
...
Done with `autopep8 --select=E3,W3`, fixes:
- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e
style: Start applying PEP8 to Python files, indentation issues
...
Done with `autopep8 --select=E1`, fixes:
- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Rémi Verschelde
c6c13eb8fc
Merge pull request #6490 from zaps166/webm-pr
...
Add WebM support
2016-10-30 18:12:00 +01:00
Błażej Szczygieł
d710b265f8
Add WebM module
...
Use already existing libraries: libvorbis and libopus. Also use newly
added libraries: libvpx, libwebm, libsimplewebm.
2016-10-23 02:46:06 +02:00
Błażej Szczygieł
2bf4553fe0
SCons: Use colored output if available, change "colored"->"verbose"
2016-10-17 22:40:14 +02:00
Błażej Szczygieł
4ffa8f224d
Theora: Don't compile unnecessary files, rename "x86_opt_*"
2016-10-16 22:31:27 +02:00
Rémi Verschelde
edbc0c0d0b
freetype: Make it a module and split thirdparty library
...
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.
2016-10-15 18:10:17 +02:00
Rémi Verschelde
cbf52606f4
zlib: Split thirdparty files, simplify scons option
2016-10-15 12:20:47 +02:00
Rémi Verschelde
36738ddda4
glew: Split thirdparty files and isolate env
...
Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.
2016-10-15 12:01:28 +02:00
Rémi Verschelde
8311a78df5
squish: Move to a module and split thirdparty lib
2016-10-15 12:01:28 +02:00
Rémi Verschelde
cfcc8a20e8
theora: Move to a module and split thirdparty lib
...
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
422196759f
openssl: Move to a module and split thirdparty lib
...
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
d9a291f641
ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
...
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.
TODO: Fix the platform/ stuff for opus.
2016-10-15 11:50:40 +02:00
Rémi Verschelde
ee3cf211c6
webp: Make it a module and unbundle libwebp thirdparty files
...
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
c31ad71f10
enet: Split enet thirdparty files and allow unbundling
...
Building against shared libraries only implemented for Linux X11 so far.
TODO: Document Godot's modifications of upstream enet.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
5fef84a135
png: Split library to thirdparty dir and allow unbundling
...
Uses the new structure agreed upon in #6157 , but the thirdparty/ folder
does not behave following a logic similar to that of modules/ yet.
The png driver can't be moved to a module as discussed in #6157 , as it's
required by core together with a few other ImageLoader implementations
(see drivers/register_driver_types.cpp:register_core_driver_types())
Dropped the possibility to disable PNG support, it's a core component
of Godot.
2016-10-15 11:50:39 +02:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
romeojulietthotel
94d6757a0d
Use pkgconfig to locate ALSA libs ( #6119 )
...
* This allows building when ALSA libs are in a non-standard location. PKG_CONFIG_PATH alone is not enough as the final link fails. Adding this makes the final link succeed.
* The extra LIBS flag for alsa is not needed so removing.
2016-09-23 07:38:57 +02:00
Mario Schlack
503f9ab9d9
Code cleanup in platform/x11
2016-07-21 21:11:34 +02:00
Juan Linietsky
587826f879
remove GLU dependency, closes #3787
2016-07-18 17:25:03 -03:00
eska
a2386bd2b2
Link libdl only on Linux, fix BSD build
2016-07-04 18:39:27 +02:00
Ferdinand Thiessen
9e751178eb
Fix compiling for X11 on non-86, this fixes #5444
2016-06-27 03:03:42 +02:00
Juan Linietsky
3b2c96139b
Merge pull request #4905 from Hinsbart/x11_dpi
...
x11: Implemented dpi detection
2016-06-11 17:52:10 -03:00
Juan Linietsky
94a6ff3d7a
-make freetype build for all platforms the same, default as builtin except on x11.
...
closes #5119
2016-06-09 21:28:07 -03:00
Andreas Haas
18c941bbec
x11: Implemented dpi detection
...
depends on XRandR.
Had to dynamically load `XRRGetMonitors` as Ubuntu 12.04 doesn't have it.
Also removed libudev from travis install list.
2016-06-09 18:54:06 +02:00
Rémi Verschelde
768e925271
GLEW: Define static + enabled and includes via SCons
...
This allows us not to have to hack our definitions in the upstream files,
making it easier to upgrade to newer versions in the future.
For the include paths to work, the headers are moved to a GL subfolder to
match their upstream location.
2016-06-08 00:16:27 +02:00
Juan Linietsky
3e8eb396d7
Finalized DynamicFont implementation
...
-DynamicFont uses Freetype by default
-Editor fonts are now scalable thanks to this
-Cleaned up documentation browser and added fonts for this
2016-05-29 11:37:52 -03:00
Rémi Verschelde
0a5472e697
Remove trailing spaces
2016-04-02 20:26:12 +02:00
hondres
b350ece864
x11: make dependancy on libudev optional
2016-02-14 15:13:11 +01:00
Juan Linietsky
9010a25c01
added option to link libstdc++ statically
2016-02-04 20:47:19 -03:00
hondres
29353808f0
remove dependancy on libevdev
2016-01-26 23:04:57 +01:00
eska
56e65f9e29
Enable ALSA driver in non-linux X11 when available
2016-01-10 17:52:15 +01:00
Rémi Verschelde
a98aa0bbbe
Make joydev build using udev and evdev opt-out but blocking (linux)
...
It is enabled by default, users have to specifically ask for it if they don't want gamepad support. If libudev or libevdev are missing, the build aborts and tells the user the reason and that they can disable gamepad support with the "gamepad=no" option.
2016-01-06 19:21:37 +01:00
hondres
541c9039c5
Check pkg-config for libudev and enable gamepad code only if found. Linux only for now
2015-12-21 22:39:03 +01:00
Juan Linietsky
46dee92c8e
-fixed build system to use pkg-config for evdev
2015-12-21 10:37:26 -03:00
hondres
af633c7941
Better gamepad support
2015-12-18 06:12:53 +01:00
Juan Linietsky
708ff381d6
changed a bit to use system()
2015-12-08 20:36:48 -03:00
Juan Linietsky
78b5404434
improve detection of linux, fixes #3201
2015-12-08 20:35:40 -03:00
Juan Linietsky
ac414c5581
Merge pull request #2849 from a12n/compobsd2
...
Compile on OpenBSD
2015-12-08 17:16:45 -03:00
koalefant
bd396c5cfa
Enabled debug symbols for x11 when using platform=release_debug and debug_release=yes together
2015-11-29 20:56:27 +01:00