summaryrefslogtreecommitdiffstats
path: root/platform/osx/detect.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Using DisplayLink to emulate vsync on OSXBastiaan Olij2019-01-291-1/+1
|
* Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam2019-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
* SCons: Allow building Mono module with OSXCrossRémi Verschelde2018-12-221-1/+5
| | | | | | | Improve the test logic to only assume that we're building for macOS if OSXCROSS_ROOT is defined *and* we requested p=osx. Supersedes #24480.
* Merge pull request #21339 from Placinta/masterRémi Verschelde2018-11-201-0/+6
|\ | | | | Fix regular macOS build by passing -isysroot to compiler so correct system headers are found
| * Pass -isysroot to compiler / linker when doing a macOS buildAlexandru Croitor2018-08-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the compiler would use system headers located at /System/Library/Frameworks, which could result in compilation failures due to the headers not always being up-to-date in regards to the latest installed macOS SDK headers that come with Xcode. Fix the issue by passing the SDK path via the -isysroot option to the compiler and linker invocations. If no custom SDK path is given, the build system queries the SDK path via xcrun --show-sdk-path, which returns something similar to /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ /Developer/SDKs/MacOSX.sdk/ Querying via xcrun is now also done for iphone (and simulator) platforms as well. Here is an example of a compilation failure message due to outdated headers: platform/osx/os_osx.mm:1421:41: error: use of undeclared identifier 'NSAppKitVersionNumber10_12'; did you mean 'NSAppKitVersionNumber'? if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_12) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ NSAppKitVersionNumber /System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:26:28: note: 'NSAppKitVersionNumber' declared here
* | Dont use equality operators with None singleton in python fileslupoDharkael2018-10-271-1/+1
|/
* change framework name CoreMidi to CoreMIDIPanPan2018-07-261-1/+1
|
* Merge pull request #20154 from marcelofg55/midi_driverRémi Verschelde2018-07-251-2/+2
|\ | | | | Added a new MIDIDriver class
| * Added a new MIDIDriver classMarcelo Fernandez2018-07-211-2/+2
| |
* | -Fix disable_3d flagJuan Linietsky2018-07-211-2/+9
|/ | | | -Add extra flag optimize=[size,speed] to be able to prioritize size
* Tweak some help texts in the build systemHugo Locurcio2018-06-071-2/+2
| | | | | This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
* Fix IPhone and OSX cross compilationFabio Alessandrelli2018-03-281-0/+1
|
* Fix WebM SIMD optimizations on macOS.bruvzg2018-03-011-1/+1
|
* Fix previous commit, "bits" still needed for buildsystemRémi Verschelde2018-02-191-1/+4
|
* OSX: Remove unnecessary bits assignmentRémi Verschelde2018-02-191-4/+1
|
* OSX: Remove support for 32-bit and fat binariesRémi Verschelde2018-02-191-20/+6
| | | | | | Mac OS X is 64-bit only since 10.7 (Lion), which has reached End-Of-Life in October 2014. Therefore it no longer makes sense to support exporting 32-bit binaries for Mac OS X, and we can now default to 64-bit instead of bigger "fat" binaries.
* Fix macOS build after #16092bruvzg2018-01-261-1/+1
|
* Make separate debug symbols opt-inHein-Pieter van Braam2018-01-261-0/+1
| | | | | | | This adds a separate_debug_symbols option to the x11, windows, and osx targets. This will default to adding normal debugging symbols to the artifacts and only splits them when separate_debug_symbols=yes on the Scons command line.
* SCons: Fix usage of LD when we meant LINKRémi Verschelde2018-01-051-2/+2
| | | | | | | Also made LINK and CXXFLAGS configurable as command line options. Note that LINK currently expects the *compiler* that will be used for linking and will call its configured linker behind the scenes (so g++, clang++, etc., not ld.gold). See #15364 for details.
* -Removed OpenMP support, replaced by a custom class.Juan Linietsky2017-12-241-3/+0
| | | | -Disabled Opus, implementation is wrong.
* Do not require OpenMP for non-tools builds (export templates)Rémi Verschelde2017-12-221-1/+1
|
* MacPorts clang version selection, and OpenMP linking fix.bruvzg2017-12-141-9/+9
|
* Adds `macports_clang` build flag to build using clang-5.0 form MacPorts ↵bruvzg2017-12-141-0/+13
| | | | (with OpenMP support).
* Cleanup old references to GLES2 rendererRémi Verschelde2017-11-191-1/+1
| | | | | | | | | There are still some left in the Android Java code, even stuff to swap between GLES1 and GLES2 support from early Godot days... would be good to see some cleanup there too one day. The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported. It can be readded when GLES 2.0 support comes back. Fixes #13004.
* change matrix and enable caching for Android, iOS and macOS (cross-compile)Rhody Lugo2017-11-131-2/+9
|
* Fix python 3 build in osx-specific platformN0hbdy2017-10-071-1/+1
|
* Merged iphone and osx audio drivers into drivers/coreaudioMarcelo Fernandez2017-09-301-1/+1
|
* Use BoolVariable for third-party options.Elliott Sales de Andrade2017-09-251-1/+1
|
* Use EnumVariable for choice-based build options.Elliott Sales de Andrade2017-09-251-1/+2
|
* Create separate debug info files by defaultHein-Pieter van Braam2017-09-161-1/+10
| | | | | | | | | | | | | | | | | | | | | | Now that we have a built-in stacktrace on a segfault it would be useful to have debug information on debug_release builds so that bugreports can include this information. Without this debug info we will still get function names in the backtrace but not file location. This commit will by default build all targets with minimal debug info and then strip the information into separate files. On MacOS this is a .dSYM file, on Linux/MingW this is a .debug file. MacOSX will automatically load a dSYM file if it exists in its debugger. On Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends will automatically find the debug symbols if they exist. Existing workflow for developers does not change at all, except that we now create two instead of one build artifact by default. This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW targets. The default is 'yes' which corresponds to -g1. The alternatives are 'no' (don't generate debug infos at all) or 'full' which runs with -g2. A target=debug build will now build with -g3.
* Make build scripts Python3 compatibleMatthias Hoelzl2017-08-271-1/+1
| | | | | | | | - The Windows, UWP, Android (on Windows) and Linux builds are tested with Scons 3.0 alpha using Python 3. - OSX and iOS should hopefully work but are not tested since I don't have a Mac. - Builds using SCons 2.5 and Python 2 should not be impacted.
* Allow building fat binaries with osxcrossFabio Alessandrelli2017-08-231-2/+6
|
* Reinit audio device when the system default device changes on OS XMarcelo Fernandez2017-07-161-1/+1
|
* Buildsystem: Improve detect.py readability and fix issuesRémi Verschelde2017-07-011-38/+32
| | | | | | | | | | | | | | | | | | | Tried to organize the configure(env) calls in sections, using the same order for all platforms whenever possible. Apart from cosmetic changes, the following issues were fixed: - Android: cleanup linkage, remove GLESv1_CM and GLESv2 - iPhone: Remove obsolete "ios_gles22_override" option - OSX: * Fix bits detection (default to 64) and remove obsolete "force_64_bits" option (closes #9449) * Make "fat" bits argument explicit - Server: sync with X11 - Windows: clean up old DirectX 9 stuff - X11: * Do not require system OpenSSL for building (closes #9443) * Fix typo'ed use_leak_sanitizer option * Fix .llvm suffix overriding custom extra_suffix
* SCons: Add option to toggle warnings (on by default)Rémi Verschelde2017-03-261-1/+1
| | | | | | | | 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 31107daa1a41fe9ab3c7c1868479e78e16848333)
* Add API to access battery power stateJulian Murgia2017-03-041-0/+1
| | | | | | | | | | | | | | Done: - X11, server (tested) - Windows (developed, would be nice to retest) - OSX (not tested) Prepared (not developed): - Android (code is here, but may not compile) - iphone - winrt - bb10 - haiku - javascript
* Set minimum version to 10.9 building OSXBastiaanOlij2016-11-251-0/+2
|
* style: Fix PEP8 blank lines issues in Python filesRémi Verschelde2016-11-011-6/+4
| | | | | | | | | | | 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.
* style: Fix PEP8 whitespace issues in Python filesRémi Verschelde2016-11-011-32/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* style: Start applying PEP8 to Python files, indentation issuesRémi Verschelde2016-11-011-59/+59
| | | | | | | | | | | | | | | | | | | 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.
* SCons: Use colored output if available, change "colored"->"verbose"Błażej Szczygieł2016-10-171-3/+0
|
* Theora: Don't compile unnecessary files, rename "x86_opt_*"Błażej Szczygieł2016-10-161-1/+1
|
* freetype: Make it a module and split thirdparty libraryRémi Verschelde2016-10-151-4/+0
| | | | | Comment out the weird workaround for building on Windows at it might not be needed anymore. Testing needed to confirm.
* zlib: Split thirdparty files, simplify scons optionRémi Verschelde2016-10-151-1/+0
|
* glew: Split thirdparty files and isolate envRémi Verschelde2016-10-151-3/+1
| | | | | | 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.
* osx: Support gamepad input.Andreas Haas2016-09-061-1/+1
| | | | | | | Fixes #3881 Vibration support is not optimal yet as it doesn't try to emulate the "weak" and "strong" motor strength, but just takes the parameter with the highest value for the vibration gain.
* -make freetype build for all platforms the same, default as builtin except ↵Juan Linietsky2016-06-091-7/+0
| | | | | | on x11. closes #5119
* GLEW: Define static + enabled and includes via SConsRémi Verschelde2016-06-081-5/+2
| | | | | | | | 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.
* fix freetype paths on osx and mingwJuan Linietsky2016-05-291-2/+2
|
* Added 'fat' option for bits param on scons for osx, this will produce a fat ↵marcelofg552016-05-201-1/+4
| | | | binary that contains both 32 bits and 64 bits binaries