Commit graph

194 commits

Author SHA1 Message Date
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
Juan Linietsky
b987d2113b 0theora compilation fixes 2015-11-25 00:28:03 -03:00
Anton Yabchinskiy
0931eed7be Enable ALSA only for Linux 2015-11-20 23:35:19 +03:00
Juan Linietsky
dd09215c90 Revert "libao audio driver" 2015-11-19 20:05:26 -03:00
Anton Yabchinskiy
3b9868d2e4 Merge branch 'master' of github.com:okamstudio/godot 2015-11-02 20:25:01 +03:00
Juan Linietsky
c858515785 Fixed theora playback. Removed theoraplayer.
Still need to get proper audio output latency in some platforms.
2015-09-26 14:50:42 -03:00
Juan Linietsky
56c907ad04 fix to builtin freetype defines on linux 2015-09-10 22:15:00 -03:00
Juan Linietsky
751202768c fix to freetype detection 2015-09-10 21:40:34 -03:00
Juan Linietsky
700fdf5c0c fix build issue with ssl, closes #2384 2015-08-23 20:54:13 -03:00
Juan Linietsky
e1e54d39e4 damn github built-in editor 2015-08-21 22:33:49 -03:00
Juan Linietsky
2de5e12116 fix for built-in ssl (easier to build 32 bits export) 2015-08-21 22:31:06 -03:00
Anton Yabchinskiy
dc8df8a91a Merge branch 'master' of github.com:okamstudio/godot 2015-07-29 23:01:36 +03:00
Juan Linietsky
4e46143499 some optimizations in godot memory handling 2015-06-12 18:27:48 -03:00
Rémi Verschelde
5f0bb18d55 Fix building release target with debug symbols
This forced the -g2 CCFLAG in release builds, making them relatively heavy.
Fixes #1781.
2015-05-22 22:19:16 +02:00
Juan Linietsky
21939ce08b -some cleanups
-added tesselation function to curve and curve2d
2015-04-30 10:06:18 -03:00
Juan Linietsky
59154cccf9 -Changed Godot exit to be clean.
-Added more debug information on memory cleanliness on exit (if run with -v)
-Fixed several memory leaks, fixes #1731, fixes #755
2015-04-20 19:38:02 -03:00
Anton Yabchinskiy
16746f157f Merge branch 'master' of github.com:okamstudio/godot 2015-04-04 09:31:21 +03:00
rollenrolm
ca0b3ce1f6 New API: build fixes for x11 2015-03-23 01:31:38 +01:00
Anton Yabchinskiy
e024ff89b2 Merge branch 'master' of https://github.com/okamstudio/godot 2015-02-17 15:57:24 +03:00
hurikhan
f5d2e1f42c Renamed EXPERIMENTAL_WM_API to NEW_WM_API 2015-02-15 18:26:49 +08:00
hurikhan
a13e180052 Merge remote-tracking branch 'upstream/master' into x11-window-management 2015-02-12 15:58:29 +01:00
sambler
8baa00a6e4 Adjust x11/detect.py
Test if clang is defined in CC/CXX/LD - this allows a specific version of clang to be defined
move appending -DTYPED_METHOD_BIND to keep clang options together
move sanitize option out of use_llvm test, gcc48+ also supports sanitize=address
2015-01-27 20:40:17 +10:30
Anton Yabchinskiy
fa38e9b838 Merge branch 'master' of github.com:okamstudio/godot 2015-01-17 18:27:08 +03:00
hurikhan
dee27ce991 Merge remote-tracking branch 'upstream/master' into x11-window-management 2015-01-17 22:19:57 +09:00
Juan Linietsky
7ac7956baf Merge pull request #1188 from hurikhan/scons_colored
Scons colored
2015-01-17 09:47:02 -03:00
Anton Yabchinskiy
d6998995b5 Merge branch 'master' of github.com:okamstudio/godot
Conflicts:
	platform/x11/detect.py
2015-01-14 23:17:15 +03:00
hurikhan
8a30feebbe Merge remote-tracking branch 'upstream/master' into x11-window-management
Conflicts:
	platform/x11/detect.py
2015-01-14 13:31:16 +08:00
Juan Linietsky
823d7ae3b5 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-13 11:23:05 -03:00
Juan Linietsky
7c7ab30c4e fixes 2015-01-13 11:22:56 -03:00
hurikhan
f55c0e9285 Using Xinerama extension for getting screen info 2015-01-13 21:01:24 +08:00
hurikhan
c0d3632667 introduced the scons experimental_wm_api switch:
================================================

Usage:
    scons p=x11 experimental_wm_api=yes
2015-01-13 15:44:39 +08:00
hurikhan
f9a4e6890b SCons: colored compilation 2015-01-12 12:54:17 +08:00
Juan Linietsky
8997084831 2D Rewrite Step [1]
-=-=-=-=-=-=-=-=-=-

-Moved drawing code to a single function that takes linked list (should make it easier to optimize in the future).
-Implemented Z ordering of 2D nodes. Node2D and those that inherit have a visibility/Z property that affects drawing order (besides the tree order)
-Removed OpenGL ES 1.x support. Good riddance!
2015-01-10 17:35:26 -03:00
Anton Yabchinskiy
4ab1bcde35 Merge branch 'master' of github.com:okamstudio/godot
Conflicts:
	drivers/SCsub
	platform/x11/detect.py
	platform/x11/os_x11.h
2014-12-23 23:44:07 +03:00
Alexander Stillich
f2843209a5 Implemented PulseAudio backend and fixed audio driver selection on X11 2014-12-19 13:44:34 +01:00
Anton Yabchinskiy
e696dba522 Merge branch 'libao' 2014-11-22 17:43:20 +03:00
Anton Yabchinskiy
c26a1b9d7b Use libao driver on X11 platform 2014-11-22 13:37:50 +03:00
Anton Yabchinskiy
4a1fd94f0d Enable ALSA only for Linux 2014-11-22 13:23:12 +03:00
Gerold31
ab0974448b Fix compilation error on 32-bit linux 2014-11-09 10:09:41 +01:00
Juan Linietsky
e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
Juan Linietsky
0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Juan Linietsky
6572d51288 -Fixes to OpenSSL compilation (more)
-Fix bug in GDScript, now static functions can call static functions.
2014-05-01 11:34:10 -03:00
Juan Linietsky
4dc4e96c8a -OpenSSL Fixes 2014-05-01 09:53:37 -03:00
Juan Linietsky
87f37bc5a3 -Added OpenSSL and HTTPS support
-Built-in version of the library for Windows, Android and iOS (other OSs use system one)
-Small fixes all around
2014-04-28 21:56:43 -03:00
Juan Linietsky
768fc7ec81 fixie 2014-02-26 14:25:42 -03:00
Juan Linietsky
0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00