[build] Fortify dllexport/dllimport attributes (#53969,#54330).
We no longer use predefined _DLL, which can be defined for static builds too with /MD. We use DLL_EXPORT and DLL_IMPORT instead, following libtool convention. * CMakeLists.txt [WIN32], builds/windows/vc2010/freetype.vcxproj: Define DLL_EXPORT manually. * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h, builds/windows/vc2010/index.html, src/base/ftver.rc: /_DLL/d, s/FT2_DLLIMPORT/DLL_IMPORT/.
This commit is contained in:
parent
d8ea52dee5
commit
4b97ab98a8
|
@ -353,6 +353,10 @@ target_compile_definitions(
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_compile_definitions(
|
target_compile_definitions(
|
||||||
freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
|
freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
target_compile_definitions(
|
||||||
|
freetype PRIVATE DLL_EXPORT)
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (BUILD_SHARED_LIBS)
|
if (BUILD_SHARED_LIBS)
|
||||||
|
|
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
||||||
|
2018-07-24 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
[build] Fortify dllexport/dllimport attributes (#53969,#54330).
|
||||||
|
|
||||||
|
We no longer use predefined _DLL, which can be defined for static
|
||||||
|
builds too with /MD. We use DLL_EXPORT and DLL_IMPORT instead,
|
||||||
|
following libtool convention.
|
||||||
|
|
||||||
|
* CMakeLists.txt [WIN32], builds/windows/vc2010/freetype.vcxproj:
|
||||||
|
Define DLL_EXPORT manually.
|
||||||
|
|
||||||
|
* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in,
|
||||||
|
builds/vms/ftconfig.h, builds/windows/vc2010/index.html,
|
||||||
|
src/base/ftver.rc: /_DLL/d, s/FT2_DLLIMPORT/DLL_IMPORT/.
|
||||||
|
|
||||||
2018-07-24 Werner Lemberg <wl@gnu.org>
|
2018-07-24 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
[type1] Check relationship between number of axes and designs.
|
[type1] Check relationship between number of axes and designs.
|
||||||
|
|
|
@ -489,7 +489,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#ifdef FT2_BUILD_LIBRARY
|
#ifdef FT2_BUILD_LIBRARY
|
||||||
|
|
||||||
#if defined( _WIN32 ) && ( defined( _DLL ) || defined( DLL_EXPORT ) )
|
#if defined( _WIN32 ) && defined( DLL_EXPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||||
|
@ -503,7 +503,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined( FT2_DLLIMPORT )
|
#if defined( _WIN32 ) && defined( DLL_IMPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
||||||
#elif defined( __cplusplus )
|
#elif defined( __cplusplus )
|
||||||
#define FT_EXPORT( x ) extern "C" x
|
#define FT_EXPORT( x ) extern "C" x
|
||||||
|
|
|
@ -441,7 +441,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#ifdef FT2_BUILD_LIBRARY
|
#ifdef FT2_BUILD_LIBRARY
|
||||||
|
|
||||||
#if defined( _WIN32 ) && ( defined( _DLL ) || defined( DLL_EXPORT ) )
|
#if defined( _WIN32 ) && defined( DLL_EXPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||||
|
@ -455,7 +455,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined( FT2_DLLIMPORT )
|
#if defined( _WIN32 ) && defined( DLL_IMPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
||||||
#elif defined( __cplusplus )
|
#elif defined( __cplusplus )
|
||||||
#define FT_EXPORT( x ) extern "C" x
|
#define FT_EXPORT( x ) extern "C" x
|
||||||
|
|
|
@ -121,7 +121,7 @@
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ResourceCompile>
|
<ResourceCompile>
|
||||||
<PreprocessorDefinitions>_DEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_DEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib>
|
<Lib>
|
||||||
|
@ -149,7 +149,7 @@
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ResourceCompile>
|
<ResourceCompile>
|
||||||
<PreprocessorDefinitions>_DEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_DEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib>
|
<Lib>
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ResourceCompile>
|
<ResourceCompile>
|
||||||
<PreprocessorDefinitions>NDEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>NDEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib>
|
<Lib>
|
||||||
|
@ -274,7 +274,7 @@
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
@ -298,7 +298,7 @@
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ResourceCompile>
|
<ResourceCompile>
|
||||||
<PreprocessorDefinitions>NDEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>NDEBUG;DLL_EXPORT;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<Culture>0x0409</Culture>
|
<Culture>0x0409</Culture>
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib>
|
<Lib>
|
||||||
|
|
|
@ -33,7 +33,7 @@ simplifies automated (command-line) builds using <a
|
||||||
href="http://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p>
|
href="http://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p>
|
||||||
|
|
||||||
<p>To link your executable with FreeType DLL, you may want to define
|
<p>To link your executable with FreeType DLL, you may want to define
|
||||||
FT2_DLLIMPORT so that the imported functions are appropriately
|
DLL_IMPORT so that the imported functions are appropriately
|
||||||
attributed with <tt>dllimport<tt>.</p>
|
attributed with <tt>dllimport<tt>.</p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -457,7 +457,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#ifdef FT2_BUILD_LIBRARY
|
#ifdef FT2_BUILD_LIBRARY
|
||||||
|
|
||||||
#if defined( _WIN32 ) && ( defined( _DLL ) || defined( DLL_EXPORT ) )
|
#if defined( _WIN32 ) && defined( DLL_EXPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
#define FT_EXPORT( x ) __declspec( dllexport ) x
|
||||||
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
#elif defined( __GNUC__ ) && __GNUC__ >= 4
|
||||||
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
|
||||||
|
@ -471,7 +471,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined( FT2_DLLIMPORT )
|
#if defined( _WIN32 ) && defined( DLL_IMPORT )
|
||||||
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
#define FT_EXPORT( x ) __declspec( dllimport ) x
|
||||||
#elif defined( __cplusplus )
|
#elif defined( __cplusplus )
|
||||||
#define FT_EXPORT( x ) extern "C" x
|
#define FT_EXPORT( x ) extern "C" x
|
||||||
|
|
|
@ -28,7 +28,7 @@ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS VS_FF_DEBUG
|
FILEFLAGS VS_FF_DEBUG
|
||||||
#endif
|
#endif
|
||||||
#ifdef _DLL
|
#ifdef DLL_EXPORT
|
||||||
FILETYPE VFT_DLL
|
FILETYPE VFT_DLL
|
||||||
#define FT_FILENAME "freetype.dll"
|
#define FT_FILENAME "freetype.dll"
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue