blob: dfe2d8aa12285df2d1b289990e2104c49cbcde6d [file] [log] [blame]
scroggo@google.com7def5e12013-05-31 14:00:10 +00001/*
2 * Copyright 2013 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "SkForceLinking.h"
9#include "SkImageDecoder.h"
10
11// This method is required to fool the linker into not discarding the pre-main
12// initialization and registration of the decoder classes. Passing true will
13// cause memory leaks.
14int SkForceLinking(bool doNotPassTrue) {
15 if (doNotPassTrue) {
16 SkASSERT(false);
17 CreateJPEGImageDecoder();
18 CreateWEBPImageDecoder();
19 CreateBMPImageDecoder();
20 CreateICOImageDecoder();
robertphillips@google.com8cf81e02014-05-22 18:40:29 +000021 CreatePKMImageDecoder();
scroggo@google.com7def5e12013-05-31 14:00:10 +000022 CreateWBMPImageDecoder();
scroggo@google.com7def5e12013-05-31 14:00:10 +000023 // Only link GIF and PNG on platforms that build them. See images.gyp
scroggo@google.comd5936922013-05-31 14:27:55 +000024#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_NACL) \
25 && !defined(SK_BUILD_FOR_IOS)
scroggo@google.com7def5e12013-05-31 14:00:10 +000026 CreateGIFImageDecoder();
27#endif
scroggo@google.comd5936922013-05-31 14:27:55 +000028#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS)
scroggo@google.com7def5e12013-05-31 14:00:10 +000029 CreatePNGImageDecoder();
30#endif
31 return -1;
32 }
33 return 0;
34}