diff options
author | Felix Kauselmann <licorn@gmail.com> | 2017-08-09 21:44:31 +0200 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-09 20:14:43 +0000 |
commit | 00334675c18a0203f313cceb670c970a77280f49 (patch) | |
tree | 431cc04539913358cedf9f1386b7dda0e3982562 /fpdfsdk/fpdf_sysfontinfo.cpp | |
parent | d0f2dcd0802969494e991d8cef00b4bd81aefc8d (diff) | |
download | pdfium-00334675c18a0203f313cceb670c970a77280f49.tar.xz |
Add a build target and a proper export header for shared library builds.
This CL adds support for Chromium's component build feature to pdfium.
The export header stub in fpdfview.h is expanded to match Chromium's
export mechanisms and patterns (fixes pdfium:825).
A component/shared library build can be triggered by adding
is_component_build = true
as a gn argument. Please note that setting this will also affect some
of pdfiums dependencies like v8, which will be build as components
too.
Additionally, this CL provides a "pdf_source_set" template which
dynamically enables the use of "source_set" when building a complete
static library or a shared library to reduce build time.
When testing this it is recommended to only build the pdfium target as
most of pdfiums test rely on non-public functions which aren't exported
by the shared library.
Bug: pdfium:825,pdfium:826
Change-Id: Icedc538ec535e11d1e53c4d5fabc8c064b275752
Reviewed-on: https://pdfium-review.googlesource.com/8970
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdf_sysfontinfo.cpp')
-rw-r--r-- | fpdfsdk/fpdf_sysfontinfo.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/fpdfsdk/fpdf_sysfontinfo.cpp b/fpdfsdk/fpdf_sysfontinfo.cpp index 5dca4814d4..9228326096 100644 --- a/fpdfsdk/fpdf_sysfontinfo.cpp +++ b/fpdfsdk/fpdf_sysfontinfo.cpp @@ -103,14 +103,15 @@ class CFX_ExternalFontInfo final : public IFX_SystemFontInfo { FPDF_SYSFONTINFO* const m_pInfo; }; -DLLEXPORT void STDCALL FPDF_AddInstalledFont(void* mapper, - const char* name, - int charset) { +FPDF_EXPORT void FPDF_CALLCONV FPDF_AddInstalledFont(void* mapper, + const char* name, + int charset) { CFX_FontMapper* pMapper = static_cast<CFX_FontMapper*>(mapper); pMapper->AddInstalledFont(name, charset); } -DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) { +FPDF_EXPORT void FPDF_CALLCONV +FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) { if (pFontInfoExt->version != 1) return; @@ -118,7 +119,7 @@ DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) { pdfium::MakeUnique<CFX_ExternalFontInfo>(pFontInfoExt)); } -DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap() { +FPDF_EXPORT const FPDF_CharsetFontMap* FPDF_CALLCONV FPDF_GetDefaultTTFMap() { return CPWL_FontMap::defaultTTFMap; } @@ -191,7 +192,7 @@ static void DefaultDeleteFont(struct _FPDF_SYSFONTINFO* pThis, void* hFont) { pDefault->m_pFontInfo->DeleteFont(hFont); } -DLLEXPORT FPDF_SYSFONTINFO* STDCALL FPDF_GetDefaultSystemFontInfo() { +FPDF_EXPORT FPDF_SYSFONTINFO* FPDF_CALLCONV FPDF_GetDefaultSystemFontInfo() { std::unique_ptr<IFX_SystemFontInfo> pFontInfo = IFX_SystemFontInfo::CreateDefault(nullptr); if (!pFontInfo) @@ -212,7 +213,7 @@ DLLEXPORT FPDF_SYSFONTINFO* STDCALL FPDF_GetDefaultSystemFontInfo() { return pFontInfoExt; } -DLLEXPORT void STDCALL +FPDF_EXPORT void FPDF_CALLCONV FPDF_FreeDefaultSystemFontInfo(FPDF_SYSFONTINFO* pDefaultFontInfo) { FX_Free(static_cast<FPDF_SYSFONTINFO_DEFAULT*>(pDefaultFontInfo)); } |