[pango] Export symbols with compiler directives if possible
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango] Export symbols with compiler directives if possible
- Date: Wed, 29 Jun 2016 09:34:11 +0000 (UTC)
commit 1147da131ad13e583e73fed956e5c944e1497bf4
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Mon Jun 6 19:49:25 2016 +0800
Export symbols with compiler directives if possible
Add a configure check to see whether compiler directives are available
for exporting symbols, and use them if so. Likewise, update
the Visual Studio projects and config.h.win32.in to do likewise for
Windows builds.
We can then drop the .def files that were used to export symbols on
Windows builds, which should clean up things a bit.
build/win32/vs10/pango.vcxprojin | 4 -
build/win32/vs10/pangocairo.vcxprojin | 8 -
build/win32/vs10/pangoft2.vcxprojin | 4 -
build/win32/vs10/pangowin32.vcxprojin | 4 -
build/win32/vs9/pango.vcprojin | 4 -
build/win32/vs9/pangocairo.vcprojin | 8 -
build/win32/vs9/pangoft2.vcprojin | 4 -
build/win32/vs9/pangowin32.vcprojin | 4 -
config.h.win32.in | 7 +
configure.ac | 35 +++
pango/Makefile.am | 33 +--
pango/check.defs | 34 ---
pango/pango.def | 412 ---------------------------------
pango/pangocairo.def | 35 ---
pango/pangoft2.def | 88 -------
pango/pangowin32.def | 30 ---
pango/pangoxft.def | 24 --
17 files changed, 55 insertions(+), 683 deletions(-)
---
diff --git a/build/win32/vs10/pango.vcxprojin b/build/win32/vs10/pango.vcxprojin
index 2458361..9aa7a1a 100644
--- a/build/win32/vs10/pango.vcxprojin
+++ b/build/win32/vs10/pango.vcxprojin
@@ -86,7 +86,6 @@
</ClCompile>
<Link>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pango.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -105,7 +104,6 @@
<Link>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
- <ModuleDefinitionFile>..\..\..\pango\pango.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@@ -127,7 +125,6 @@
</ClCompile>
<Link>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pango.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -145,7 +142,6 @@
</ClCompile>
<Link>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pango.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
diff --git a/build/win32/vs10/pangocairo.vcxprojin b/build/win32/vs10/pangocairo.vcxprojin
index d756f2d..cba0088 100644
--- a/build/win32/vs10/pangocairo.vcxprojin
+++ b/build/win32/vs10/pangocairo.vcxprojin
@@ -151,7 +151,6 @@
<AdditionalDependencies>cairo.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
<IgnoreSpecificDefaultLibraries>$(OutDir)pangoft2-$(ApiVersion).lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -172,7 +171,6 @@
<AdditionalDependencies>cairo.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
<IgnoreSpecificDefaultLibraries>$(OutDir)pangoft2-$(ApiVersion).lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -198,7 +196,6 @@
<AdditionalDependencies>cairo.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
<IgnoreSpecificDefaultLibraries>$(OutDir)pangoft2-$(ApiVersion).lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -218,7 +215,6 @@
<Link>
<AdditionalDependencies>cairo.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -243,7 +239,6 @@
<Link>
<AdditionalDependencies>cairo.lib;$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -263,7 +258,6 @@
<Link>
<AdditionalDependencies>cairo.lib;$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -288,7 +282,6 @@
<Link>
<AdditionalDependencies>cairo.lib;$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -308,7 +301,6 @@
<Link>
<AdditionalDependencies>cairo.lib;$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangocairo.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
diff --git a/build/win32/vs10/pangoft2.vcxprojin b/build/win32/vs10/pangoft2.vcxprojin
index d7a3f58..0a81e6b 100644
--- a/build/win32/vs10/pangoft2.vcxprojin
+++ b/build/win32/vs10/pangoft2.vcxprojin
@@ -88,7 +88,6 @@
<Link>
<AdditionalDependencies>$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangoft2.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -108,7 +107,6 @@
<Link>
<AdditionalDependencies>$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangoft2.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -133,7 +131,6 @@
<Link>
<AdditionalDependencies>$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangoft2.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -153,7 +150,6 @@
<Link>
<AdditionalDependencies>$(PangoFT2Libs);%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangoft2.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
diff --git a/build/win32/vs10/pangowin32.vcxprojin b/build/win32/vs10/pangowin32.vcxprojin
index c9d5d47..ba458c8 100644
--- a/build/win32/vs10/pangowin32.vcxprojin
+++ b/build/win32/vs10/pangowin32.vcxprojin
@@ -103,7 +103,6 @@
<Link>
<AdditionalDependencies>usp10.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangowin32.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -122,7 +121,6 @@
<Link>
<AdditionalDependencies>usp10.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangowin32.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -146,7 +144,6 @@
<Link>
<AdditionalDependencies>usp10.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangowin32.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
@@ -165,7 +162,6 @@
<Link>
<AdditionalDependencies>usp10.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll</OutputFile>
- <ModuleDefinitionFile>..\..\..\pango\pangowin32.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
diff --git a/build/win32/vs9/pango.vcprojin b/build/win32/vs9/pango.vcprojin
index f1a54e1..a00dd87 100644
--- a/build/win32/vs9/pango.vcprojin
+++ b/build/win32/vs9/pango.vcprojin
@@ -41,7 +41,6 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pango.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -69,7 +68,6 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pango.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -99,7 +97,6 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pango.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -124,7 +121,6 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pango.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
diff --git a/build/win32/vs9/pangocairo.vcprojin b/build/win32/vs9/pangocairo.vcprojin
index 8f014bb..8725d0a 100644
--- a/build/win32/vs9/pangocairo.vcprojin
+++ b/build/win32/vs9/pangocairo.vcprojin
@@ -43,7 +43,6 @@
AdditionalDependencies="cairo.lib $(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -77,7 +76,6 @@
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
IgnoreDefaultLibraryNames="$(OutDir)\pangoft2-$(ApiVersion).lib"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -107,7 +105,6 @@
AdditionalDependencies="cairo.lib $(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -140,7 +137,6 @@
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
IgnoreDefaultLibraryNames="$(OutDir)\pangoft2-$(ApiVersion).lib"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -172,7 +168,6 @@
AdditionalDependencies="cairo.lib $(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -203,7 +198,6 @@
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
IgnoreDefaultLibraryNames="$(OutDir)\pangoft2-$(ApiVersion).lib"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -230,7 +224,6 @@
AdditionalDependencies="cairo.lib $(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -259,7 +252,6 @@
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangocairo.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
diff --git a/build/win32/vs9/pangoft2.vcprojin b/build/win32/vs9/pangoft2.vcprojin
index 598d5a8..74dbcfb 100644
--- a/build/win32/vs9/pangoft2.vcprojin
+++ b/build/win32/vs9/pangoft2.vcprojin
@@ -45,7 +45,6 @@
AdditionalDependencies="$(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -75,7 +74,6 @@
AdditionalDependencies="$(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -107,7 +105,6 @@
AdditionalDependencies="$(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -134,7 +131,6 @@
AdditionalDependencies="$(PangoFT2Libs)"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangoft2.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
diff --git a/build/win32/vs9/pangowin32.vcprojin b/build/win32/vs9/pangowin32.vcprojin
index 71bb4a2..6c06721 100644
--- a/build/win32/vs9/pangowin32.vcprojin
+++ b/build/win32/vs9/pangowin32.vcprojin
@@ -44,7 +44,6 @@
AdditionalDependencies="usp10.lib"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -74,7 +73,6 @@
AdditionalDependencies="usp10.lib"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
@@ -105,7 +103,6 @@
AdditionalDependencies="usp10.lib"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="2"
- ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -132,7 +129,6 @@
AdditionalDependencies="usp10.lib"
OutputFile="$(OutDir)\$(PangoDllPrefix)$(ProjectName)$(PangoDllSuffix).dll"
LinkIncremental="1"
- ModuleDefinitionFile="..\..\..\pango\pangowin32.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
diff --git a/config.h.win32.in b/config.h.win32.in
index 15dadba..4f05e11 100644
--- a/config.h.win32.in
+++ b/config.h.win32.in
@@ -144,3 +144,10 @@
/* Version number of package */
#define VERSION "@PANGO_VERSION@"
+
+/* defines how to decorate public symbols while building */
+#ifdef _MSC_VER
+#define _PANGO_EXTERN __declspec(dllexport) extern
+#else
+#define _PANGO_EXTERN __attribute__((visibility("default"))) __declspec(dllexport) extern
+#endif
diff --git a/configure.ac b/configure.ac
index b8ca930..e43e134 100644
--- a/configure.ac
+++ b/configure.ac
@@ -556,6 +556,41 @@ AC_ARG_ENABLE(installed_tests,
AM_CONDITIONAL(BUILDOPT_INSTALL_TESTS, test x$enable_installed_tests = xyes)
+dnl *********************************************************************
+dnl * Check for -fvisibility=hidden to determine if we can do GNU-style *
+dnl * visibility attributes for symbol export control *
+dnl *********************************************************************
+
+PANGO_HIDDEN_VISIBILITY_CFLAGS=""
+case "$host" in
+ *-*-mingw*)
+ dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+ AC_DEFINE([_PANGO_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+ [defines how to decorate public symbols while building])
+ CFLAGS="${CFLAGS} -fvisibility=hidden"
+ ;;
+ *)
+ dnl on other compilers, check if we can do -fvisibility=hidden
+ SAVED_CFLAGS="${CFLAGS}"
+ CFLAGS="-fvisibility=hidden"
+ AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+ AC_TRY_COMPILE([], [return 0],
+ AC_MSG_RESULT(yes)
+ enable_fvisibility_hidden=yes,
+ AC_MSG_RESULT(no)
+ enable_fvisibility_hidden=no)
+ CFLAGS="${SAVED_CFLAGS}"
+
+ AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+ AC_DEFINE([_PANGO_EXTERN], [__attribute__((visibility("default"))) extern],
+ [defines how to decorate public symbols while building])
+ PANGO_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+ ])
+ ;;
+esac
+AC_SUBST(PANGO_HIDDEN_VISIBILITY_CFLAGS)
+
+
AC_HEADER_DIRENT
AC_CHECK_HEADERS(unistd.h)
diff --git a/pango/Makefile.am b/pango/Makefile.am
index b239170..423d374 100644
--- a/pango/Makefile.am
+++ b/pango/Makefile.am
@@ -29,7 +29,8 @@ INCLUDES = \
$(FREETYPE_CFLAGS) \
$(FONTCONFIG_CFLAGS) \
$(LIBTHAI_CFLAGS) \
- $(X_CFLAGS)
+ $(X_CFLAGS) \
+ $(PANGO_HIDDEN_VISIBILITY_CFLAGS)
BUILT_SOURCES = pango-enum-types.h pango-enum-types.c pango-features.h
@@ -55,8 +56,8 @@ libpango_1_0_la_LIBADD += mini-fribidi/libmini-fribidi.la
libpango_1_0_la_DEPENDENCIES = mini-fribidi/libmini-fribidi.la
if PLATFORM_WIN32
-libpango_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pango.def -Wl,pango-win32-res.o
-libpango_1_0_la_DEPENDENCIES += pango-win32-res.o pango.def
+libpango_1_0_la_LDFLAGS += -Wl,pango-win32-res.o
+libpango_1_0_la_DEPENDENCIES += pango-win32-res.o
endif
pango-win32-res.o: pango.rc
$(AM_V_GEN) $(WINDRES) $< $@
@@ -211,8 +212,8 @@ libpangoft2_1_0_la_SOURCES = \
if PLATFORM_WIN32
-libpangoft2_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoft2.def -Wl,pangoft2-win32-res.o
-libpangoft2_1_0_la_DEPENDENCIES += pangoft2-win32-res.o pangoft2.def
+libpangoft2_1_0_la_LDFLAGS += -Wl,pangoft2-win32-res.o
+libpangoft2_1_0_la_DEPENDENCIES += pangoft2-win32-res.o
endif
pangoft2-win32-res.o: pangoft2.rc
$(AM_V_GEN) $(WINDRES) $< $@
@@ -256,8 +257,8 @@ libpangoxft_1_0_la_DEPENDENCIES = \
libpango-$(PANGO_API_VERSION).la
if PLATFORM_WIN32
-libpangoxft_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoxft.def -Wl,pangoxft-win32-res.o
-libpangoxft_1_0_la_DEPENDENCIES += pangoxft-win32-res.o pangoxft.def
+libpangoxft_1_0_la_LDFLAGS += -Wl,pangoxft-win32-res.o
+libpangoxft_1_0_la_DEPENDENCIES += pangoxft-win32-res.o
endif
pangoxft-win32-res.o: pangoxft.rc
$(AM_V_GEN) $(WINDRES) $< $@
@@ -313,8 +314,8 @@ libpangocairo_1_0_la_SOURCES = $(pangocairo_core_sources)
if HAVE_CAIRO_WIN32
if PLATFORM_WIN32
-libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def -Wl,pangocairo-win32-res.o
-libpangocairo_1_0_la_DEPENDENCIES += pangocairo-win32-res.o pangocairo.def
+libpangocairo_1_0_la_LDFLAGS += -Wl,pangocairo-win32-res.o
+libpangocairo_1_0_la_DEPENDENCIES += pangocairo-win32-res.o
endif
pangocairo-win32-res.o: pangocairo.rc
$(AM_V_GEN) $(WINDRES) $< $@
@@ -399,8 +400,8 @@ libpangowin32_1_0_la_SOURCES = \
pangowin32-shape.c
if PLATFORM_WIN32
-libpangowin32_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangowin32.def -Wl,pangowin32-win32-res.o
-libpangowin32_1_0_la_DEPENDENCIES += pangowin32-win32-res.o pangowin32.def
+libpangowin32_1_0_la_LDFLAGS += -Wl,pangowin32-win32-res.o
+libpangowin32_1_0_la_DEPENDENCIES += pangowin32-win32-res.o
endif
pangowin32-win32-res.o: pangowin32.rc
$(AM_V_GEN) $(WINDRES) $< $@
@@ -423,11 +424,6 @@ EXTRA_DIST = \
pango-enum-types.h \
pango-enum-types.h.template \
pango-enum-types.c.template \
- pango.def \
- pangocairo.def \
- pangowin32.def \
- pangoft2.def \
- pangoxft.def \
pango.rc \
pango.rc.in \
pangoft2.rc \
@@ -440,8 +436,7 @@ EXTRA_DIST = \
pangoxft.rc.in \
break-arabic.c \
break-indic.c \
- break-thai.c \
- check.defs
+ break-thai.c
CLEANFILES = \
pango-enum-types.h \
@@ -548,6 +543,4 @@ dist-hook: \
$(top_builddir)/build/win32/vs9/pango.headers \
$(INTROSPECTION_INTERMEDIATE_ITEMS)
-TESTS = check.defs
-
-include $(top_srcdir)/git.mk
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]