aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp/common_conditions.gypi
Commit message (Collapse)AuthorAge
* Make skia_sanitizer work on Macs too.Gravatar mtklein2015-12-09
| | | | | | | | | This is of course limited by what the compiler suppports. -fsanitize=address seems to work OK. BUG=skia: Review URL: https://codereview.chromium.org/1512853005
* Add RTTI to all sanitizers.Gravatar herb2015-12-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1510843003
* Disable sanitizers with a blacklist.Gravatar mtklein2015-12-08
| | | | | | | | | | | | We think this might be more flexible. It allows, e.g, function-level blacklisting, and here an easy one-stop-shop blacklist for all of third_party/externals. BUG=skia: CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot NOTREECHECKS=true Review URL: https://codereview.chromium.org/1509733003
* Add sk_careful_memcpy to catch undefined behavior in memcpy.Gravatar mtklein2015-12-08
| | | | | | | | | | | | | | | | | | It's undefined behavior to pass null as src or dst to memcpy, even if len is 0. This currently triggers -fsanitize=attribute-nonnull warnings, but also can lead to very unexpected code generation with GCC. sk_careful_memcpy() checks len first before calling memcpy(), which prevents that weird undefined situation. This allows me to mark all sanitizers as no-recover, i.e. make-the-bots-red fatal. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot BUG=skia:4641 NOTREECHECKS=true Review URL: https://codereview.chromium.org/1510683002
* When was SkPDiff last used?Gravatar mtklein2015-12-07
| | | | | | BUG=skia:1451,skia:1463,skia:1798,skia:1859,skia:2710,skia:2711,skia:2712,skia:2713 Review URL: https://codereview.chromium.org/1502173003
* Create a define for nanobench builds to dump statsGravatar joshualitt2015-12-02
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1499453002
* update iOS build flagsGravatar mtklein2015-11-16
| | | | | | | | | | This makes it match OS X build more closely. The most important change is that CLANG_CXX_LIBRARY sets -stdlib=libc++ for both the compiler and the linker. BUG=skia: Review URL: https://codereview.chromium.org/1451913002
* turn on libc++ for iOSGravatar mtklein2015-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1442103002
* Target Mac bots at 10.7+libc++ to approximate Chrome's 10.6+libc++.Gravatar mtklein2015-11-12
| | | | | | | | | | | | | | This is necessary if we want to start using C++11 library features. Chrome's got their own custom libc++-for-10.6. This is a somewhat lazy approximation of that. Chrome should still guard us from using 10.7-specific features until 10.6-10.8 all go away. BUG=skia: Review URL: https://codereview.chromium.org/1437173002
* Wire up SDL on macGravatar joshualitt2015-11-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1428633003
* Comments Style: s/skbug.com/bug.skia.org/Gravatar halcanary2015-11-07
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1432503003 Review URL: https://codereview.chromium.org/1432503003
* skia: Add ANGLE support on MacGravatar hendrikw2015-10-28
| | | | | | | I want to be able to compare ANGLE vs CommandBuffer for dm and nanobench on Mac, so enabling ANGLE on mac. Review URL: https://codereview.chromium.org/1395783003
* skia: Fix command buffer support on the macGravatar hendrikw2015-10-27
| | | | | | | | | | | | | | | | | | The extension on the mac is .dylib, updated the name. EGL.h isn't available on mac (unless we include skia_angle.h). I've got a somewhat bad hack of defining the types that I need to get this running. GetProcedureAddress was somehow successfully grabbing gl functions from another lib. Removed this call, I copied it from ANGLE impl, but it isn't required. lib load path works differently, fixed in GYP BUG=skia:2992 Review URL: https://codereview.chromium.org/1403153002
* Clean up iOS build filesGravatar jvanverth2015-10-15
| | | | Review URL: https://codereview.chromium.org/1409663002
* Skia: Add Command Buffer support to Linux/MacGravatar hendrikw2015-10-01
| | | | | | | Code added to load libcommand_buffer_gles2.so on linux or mac. Review URL: https://codereview.chromium.org/1346423002
* skia: roll ANGLE and remove compile flagsGravatar hendrikw2015-09-29
| | | | | | | Recent angle change allows us to remove some of the ANGLE specific compile flags Review URL: https://codereview.chromium.org/1376803003
* skia: Add support for ANGLE on linuxGravatar hendrikw2015-09-23
| | | | | | | This will allow the ANGLE guys to test the ANGLE gl backend with nanobench and DM Review URL: https://codereview.chromium.org/1343193005
* unplumb sknx_no_simdGravatar mtklein2015-09-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1355833002
* Mimic Chrome better in our GYPs.Gravatar mtklein2015-09-09
| | | | | | | | | | To match Chrome, make sure we've disabled thread-safe statics, RTTI, and exceptions. Linux needed -fno-threadsafe-statics, Mac needed all three. Nothing important triggered this CL. I just got confused when I saw exception handling (calls to delete, stack unwinding) in some generated code on my laptop. BUG=skia: Review URL: https://codereview.chromium.org/1323533003
* Remove SK_OFFSETOF from SkTypes, clean up offsetof usage.Gravatar bungeman2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this was to remove SK_OFFSETOF from SkTypes, but this CL is mostly about cleaning up our use of offsetof generally. SK_OFFSETOF is removed to SkTypes and added to the two places it is actually used (for the non standard behavior of finding the offset of fields in types which are not standard layout). Older versions of gcc required POD for offsetof to be used without warning. Newer versions require the more relaxed standard layout. Now that we no longer build on older versions of gcc, remove the old warning suppressions. PODMatrix is renamed to AggregateMatrix. SkMatrix is already POD (trivial and standard layout). The PODMatrix name implies that the POD-ness is needed for the offsetof, but it is actually the aggregate attribute which is needed for compile time constant initialization. This makes it more obvious that this can be revisited after we can rely on constexpr constructors. This also adds skstd::declval since this allows removal of existing awkward code which casts a constant to a pointer to find the size of a field. TBR=reed@google.com No API change, only removes unused macro. Review URL: https://codereview.chromium.org/1309523003
* A bit of misc cleanup.Gravatar mtklein2015-08-14
| | | | | | | | | | | - Update comments about skia_shared_lib - Remove dead code (system_preferences) - Remove non-building code (techtalk1) - Turn gm/annotated_text back on. BUG=skia: Review URL: https://codereview.chromium.org/1286133004
* Detect MIPS DSP and DSPR2 programattically.Gravatar mtklein2015-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | Procedure: $ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -dM -E - < /dev/null | sort > vanilla.mips $ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdsp -dM -E - < /dev/null | sort > dsp.mips $ platform_tools/android/toolchains/ndk-r10c-mips-darwin_v14/bin/mipsel-linux-android-gcc -mdspr2 -dM -E - < /dev/null | sort > dspr2.mips $ diff vanilla.mips dsp.mips 239a240,241 > #define __mips_dsp 1 > #define __mips_dsp_rev 1 $ diff vanilla.mips dspr2.mips 239a240,242 > #define __mips_dsp 1 > #define __mips_dsp_rev 2 > #define __mips_dspr2 1 So, defined(__mips_dsp) -> SK_MIPS_HAS_DSP, defined(__mips_dspr2) -> SK_MIPS_HAS_DSPR2. BUG=skia: Review URL: https://codereview.chromium.org/1274873002
* Remove IGNORE_ROT_AA_RECT_OPT flagGravatar robertphillips2015-08-04
| | | | | | It looks like the positive version was added (SHADER_AA_FILL_RECT) but the negative version wasn't removed. Review URL: https://codereview.chromium.org/1271903003
* Remove skia_arch_width, fold into skia_arch_type.Gravatar Brian Salomon2015-07-27
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=1228553010 BUG=skia:4042 R=borenet@google.com, mtklein@google.com Review URL: https://codereview.chromium.org/1228553010
* Add skia_use_android_framework_defines GYP_DEFINEGravatar borenet2015-07-22
| | | | | | BUG=skia:4082 Review URL: https://codereview.chromium.org/1243383002
* Compile with VS2015.Gravatar bungeman2015-07-21
| | | | | | | | | | | | | | | | Visual Studio 2015 has additional warnings around noexcept and disabling exceptions, which can be worked around with the (undocumented) _HAS_EXCEPTIONS macro. Visual Studio 2013 and 2015 have roundf in math.h, so use it to avoid extra work and casts. We avoid using cmath, as it undefs isfinite on gcc, but Visual Studio 2015 no longer provides overloads of copysign from math.h (which is actually correct). As a result, use copysignf (which is available in math.h in 2013 and 2015) directly. Review URL: https://codereview.chromium.org/1244173005
* Add a GYP flag to define SKNX_NO_SIMD when set.Gravatar mtklein2015-07-14
| | | | | | | | Will use this with a new -SKNX_NO_SIMD bot. BUG=skia: Review URL: https://codereview.chromium.org/1227163016
* Add scripts for running LLVM coverageGravatar borenet2015-07-06
| | | | | | BUG=skia:2430 Review URL: https://codereview.chromium.org/1213063009
* Default iOS builds to our code signing identity.Gravatar mtklein2015-04-16
| | | | | | | | | It's super tedious to keep setting it every time I rerun ./gyp_skia. Doesn't look like it'll bother the bots. BUG=skia: Review URL: https://codereview.chromium.org/1053493005
* Remove all code related to NaClGravatar borenet2015-04-02
| | | | | | | BUG=skia:3600 DOCS_PREVIEW= https://skia.org/?cl=1036283002 Review URL: https://codereview.chromium.org/1036283002
* Streamline Thumb config.Gravatar mtklein2015-04-02
| | | | | | | | Enable Thumb2 iff ARM v7. (We don't turn it on today for ARM <v7, and ARM v8 doesn't support it.) BUG=skia: Review URL: https://codereview.chromium.org/1054993002
* Use a wrapper for SkDebugf in SkCodec.Gravatar scroggo2015-03-26
| | | | | | | | | | | It can be silenced or not with one flag. Always print when building for the android framework. Also remove the meaningless define of override to override. BUG=skia:3257 Review URL: https://codereview.chromium.org/1032093004
* Add a go-fast button to Skia GYP configs.Gravatar mtklein2015-03-26
| | | | | | | | | | | | | | | | | | | | | | ./gyp_skia -Dskia_fast=1 will - always optimize for the current machine as much as possible - drop the frame pointer - optimize floating point arithmetic ignoring IEEE compliance This allows things like 3-argument VEX prefix SSE instructions and NEON autovectorization, and can give some seriously helpful clues about how to rearrange floating point math for speed. I've been having trouble with LTO linking, so I'll leave that out for now. I don't think we should set up bots with this mode. -ffast-math means I'm forced to run DM with --match ~Blend ~Path ~Rect ~Math ~Scalar ~Matrix ~Point before it passes, which is a disconcerting chunk of tests to disable (including all of PathOps). BUG=skia: Review URL: https://codereview.chromium.org/1036533003
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Add copyright headers to remaining gyp files.Gravatar scroggo2015-03-25
| | | | | | | | Prevents some PRESUBMIT errors. TBR=mtklein@google.com Review URL: https://codereview.chromium.org/1035523003
* Remove SkLONGLONG.Gravatar bungeman2015-03-17
| | | | | | | | | All users now define SkLONGLONG. This fixes a long outstanding TODO now that int64_t is required. BUG=skia:179 Review URL: https://codereview.chromium.org/1000933003
* Clean up SkDynamicAnnotations.Gravatar mtklein2015-03-12
| | | | | | | | | | | | | | | | Unprotected reads -> relaxed reads. Unprotected write -> relaxed write. The only unprotected write we had was in SkTraceEvent, which it looks like we nabbed from Chrome at some point and changed only to silence TSAN. Chrome's version uses AtomicWord / NoBarrier_Load / NoBarrier_Store, which boils down to the same as here, intptr_t / relaxed load / relaxed store. This leaves one place where we're lying a bit to TSAN, in include/core/SkLazyPtr.h where we're doing a data-dependent consume load. We're telling TSAN it's consume, but telling any other compiler to compile it as relaxed, given how they all upgrade consume to acquire. This eliminates a barrier for us on ARM. How do you guys deal with this? Just use a consume memory order, take the hit, and hope compilers get smarter one day? BUG=chromium:465721 No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/996763002
* miniz support in SkFlate / PDFGravatar mtklein2015-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | - Adds miniz.c v115_r4 (latest release) to third_party. - Merges SkDeflateWStream into SkFlate so including "miniz.c" links without duplicating symbols. The only interesting code change I've made is to remove the line fImpl->fZStream.data_type = Z_BINARY; from SkDeflateWStream::SkDeflateWStream(). miniz doesn't have Z_BINARY defined, and as far as I can tell, both zlib and miniz ignore data_type. We should be able to swap skflate.gyp's dependency between zlib.gyp:zlib and zlib.gyp:miniz at will (except of course on Windows) if we're interested in zlib itself. I've left android framework on its own zlib. I think this all means we can stop defining SK_NO_FLATE on Windows. I'll leave the possible cleanup of SK_NO_FLATE itself for another time. Might be we always want to keep this dependency optional. CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-ShuttleA-HD7770-x86-Debug-Trybot BUG=skia: Review URL: https://codereview.chromium.org/957323003
* SK_NO_FLATEGravatar mtklein2015-02-17
| | | | | | | | | | | Also remove skia_zlib_static. We're not using it. We don't even have zlib in DEPS. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/936583002
* Stop adding mssse3 & m32/m64 for Android framework.Gravatar scroggo2015-02-12
| | | | | | BUG=skia:3423 Review URL: https://codereview.chromium.org/920703005
* Don't use m32 cflag for x86_64.Gravatar scroggo2015-02-12
| | | | | | | | | | | | | | | | | When checking the skia_arch_type for "x86", instead of doing an == compare, check if "x86" in skia_arch_type, so it will cover both x86 and x86_64. Except when we specifically want x86. Set skia_arch_width based on "64" in skia_arch_type. No need to specify in scripts. In gyp_to_android.py, create a separate var_dict for x86_64. BUG=skia:3419 Review URL: https://codereview.chromium.org/916113002
* Only define SK_CRASH_HANDLER in crash_handler.Gravatar scroggo2015-02-10
| | | | | | | | | The macro is only used in CrashHandler.* Removes SK_CRASH_HANDLER from Android's SkUserConfig, where it is not needed. Review URL: https://codereview.chromium.org/915663002
* Build in C++11 mode on Unix-like bots.Gravatar mtklein2015-02-05
| | | | | | | | | | | | | | | | Mac and Windows bots are already building in C++11 mode. This turns on the rest, mostly to see what work remains. This will probably break a few bots. It'd be nice if we could let those all come in as red before reverting this so I can see the full list to fix. BUG=skia: Committed: https://skia.googlesource.com/skia/+/779e49602a9c8f4d2799504822e01bcafbcaa534 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu13.10-GCC4.8-NaCl-Release-Trybot,Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot Review URL: https://codereview.chromium.org/868233008
* Revert of Build in C++11 mode on Unix-like bots. (patchset #4 id:60001 of ↵Gravatar mtklein2015-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/868233008/) Reason for revert: Perf-Ubuntu12, and Test-Ubuntu12, Build-Nacl all too old. Android and Chrome OS builders look ok. Android testers look ok. Chrome OS testers haven't run yet. Original issue's description: > Build in C++11 mode on Unix-like bots. > > Mac and Windows bots are already building in C++11 mode. > This turns on the rest, mostly to see what work remains. > > This will probably break a few bots. It'd be nice if we could let those > all come in as red before reverting this so I can see the full list to fix. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/779e49602a9c8f4d2799504822e01bcafbcaa534 TBR=stephana@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/879803003
* Build in C++11 mode on Unix-like bots.Gravatar mtklein2015-02-04
| | | | | | | | | | | | Mac and Windows bots are already building in C++11 mode. This turns on the rest, mostly to see what work remains. This will probably break a few bots. It'd be nice if we could let those all come in as red before reverting this so I can see the full list to fix. BUG=skia: Review URL: https://codereview.chromium.org/868233008
* Build in C++11 mode on Macs.Gravatar mtklein2015-02-03
| | | | | | | | | Build trybots are not triggering. NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/894773002
* Define SK_OVERRIDE when building for Android framework.Gravatar scroggo2015-01-30
| | | | Review URL: https://codereview.chromium.org/868243003
* Setup Android framework builds to use the appropriate shared lib defines.Gravatar djsollen2015-01-27
| | | | Review URL: https://codereview.chromium.org/864043005
* Update compiler warning flagsGravatar mtklein2015-01-23
| | | | | | | | | | | | - add -Wsign-compare, which has been catching useful issues for Kimmo; - add -Winit-self and -Wpointer-arith to Mac builds so everyone's using the same flags; - try try removing -Wno-uninitialized. This was only for the old 10.6 compiler that we have warnings set as non-errors now. BUG=skia: Review URL: https://codereview.chromium.org/872793002
* Don't require -DSK_USE_POSIX_THREADS.Gravatar mtklein2015-01-21
| | | | | | | | | | | | | To compile SkCondVar, we already require either pthreads or Windows. This simplifies that code to not need SK_USE_POSIX_THREADS to be explicitly defined. We'll just look to see if we're targeting Windows, and if not, assume pthreads. Both before and after this CL, that code will fail to compile if we're not on Windows and don't have pthreads. BUG=skia: Review URL: https://codereview.chromium.org/869443003