libragephoto Version: 0.5.0
Loading...
Searching...
No Matches
RagePhotoLibrary.h
1/*****************************************************************************
2* libragephoto RAGE Photo Parser
3* Copyright (C) 2023 Syping
4*
5* Redistribution and use in source and binary forms, with or without modification,
6* are permitted provided that the following conditions are met:
7*
8* 1. Redistributions of source code must retain the above copyright notice,
9* this list of conditions and the following disclaimer.
10*
11* 2. Redistributions in binary form must reproduce the above copyright notice,
12* this list of conditions and the following disclaimer in the documentation
13* and/or other materials provided with the distribution.
14*
15* This software is provided as-is, no warranties are given to you, we are not
16* responsible for anything with use of the software, you are self responsible.
17*****************************************************************************/
18
19#ifndef RAGEPHOTOLIBRARY_H
20#define RAGEPHOTOLIBRARY_H
21
22#include "RagePhotoConfig.h"
23
24/* RAGEPHOTO LIBRARY BINDING BEGIN */
25#ifdef _WIN32
26#ifndef LIBRAGEPHOTO_STATIC
27#ifdef LIBRAGEPHOTO_LIBRARY
28#define LIBRAGEPHOTO_C_PUBLIC __declspec(dllexport)
29#define LIBRAGEPHOTO_CXX_PUBLIC __declspec(dllexport)
30#else
31#define LIBRAGEPHOTO_C_PUBLIC __declspec(dllimport)
32#define LIBRAGEPHOTO_CXX_PUBLIC __declspec(dllimport)
33#endif // LIBRAGEPHOTO_LIBRARY
34#else
35#define LIBRAGEPHOTO_C_PUBLIC
36#define LIBRAGEPHOTO_CXX_PUBLIC
37#endif // LIBRAGEPHOTO_STATIC
38#else
39#ifdef __EMSCRIPTEN__
40#include <emscripten/emscripten.h>
41#define LIBRAGEPHOTO_C_PUBLIC EMSCRIPTEN_KEEPALIVE
42#define LIBRAGEPHOTO_CXX_PUBLIC
43#else
44#ifdef __GNUC__
45#ifndef LIBRAGEPHOTO_STATIC
46#define LIBRAGEPHOTO_C_PUBLIC __attribute__((visibility("default")))
47#define LIBRAGEPHOTO_CXX_PUBLIC __attribute__((visibility("default")))
48#else
49#define LIBRAGEPHOTO_C_PUBLIC
50#define LIBRAGEPHOTO_CXX_PUBLIC
51#endif // LIBRAGEPHOTO_STATIC
52#else
53#define LIBRAGEPHOTO_C_PUBLIC
54#define LIBRAGEPHOTO_CXX_PUBLIC
55#endif // __GNUC__
56#endif // __EMSCRIPTEN__
57#endif // _WIN32
58/* RAGEPHOTO LIBRARY BINDING END */
59
60/* ENABLE C API FOR LIBRAGEPHOTO WASM LIBRARY BEGIN */
61#ifdef LIBRAGEPHOTO_WASM
62#ifdef LIBRAGEPHOTO_CXX_ONLY
63#undef LIBRAGEPHOTO_CXX_ONLY
64#define LIBRAGEPHOTO_CXX_C
65#endif // LIBRAGEPHOTO_CXX_ONLY
66#endif // LIBRAGEPHOTO_WASM
67/* ENABLE C API FOR LIBRAGEPHOTO WASM LIBRARY END */
68
69#endif // RAGEPHOTOLIBRARY_H