[json-glib] Visual Studio Builds: Don't Generate .def File



commit a8c56f54d5f47e35921e50a63e2a59190da13ad0
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Thu Mar 20 10:23:36 2014 +0800

    Visual Studio Builds: Don't Generate .def File
    
    The symbols for json-glib is now exported via a visibility-based method,
    like GLib and GTK+, so do likewise for the Visual Studio builds, by using
    __declspec(dllexport).  This will also mean that the .def file is no longer
    needed to export the symbols for json-glib.

 build/win32/config.h.win32.in                |    7 +++++
 build/win32/vs10/json-glib-gen-srcs.props    |    7 -----
 build/win32/vs10/json-glib.vcxproj.filtersin |    1 -
 build/win32/vs10/json-glib.vcxprojin         |   18 ------------
 build/win32/vs9/json-glib-gen-srcs.vsprops   |    7 -----
 build/win32/vs9/json-glib.vcprojin           |   38 --------------------------
 6 files changed, 7 insertions(+), 71 deletions(-)
---
diff --git a/build/win32/config.h.win32.in b/build/win32/config.h.win32.in
index 05dc55b..f150ce1 100644
--- a/build/win32/config.h.win32.in
+++ b/build/win32/config.h.win32.in
@@ -91,3 +91,10 @@
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
+
+/* defines how to decorate public symbols while building */
+#ifdef _MSC_VER
+#define _JSON_EXTERN __declspec(dllexport) extern
+#else
+#define _JSON_EXTERN __attribute__((visibility("default"))) __declspec(dllexport) extern
+#endif
diff --git a/build/win32/vs10/json-glib-gen-srcs.props b/build/win32/vs10/json-glib-gen-srcs.props
index 2022846..f5629eb 100644
--- a/build/win32/vs10/json-glib-gen-srcs.props
+++ b/build/win32/vs10/json-glib-gen-srcs.props
@@ -5,10 +5,6 @@
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     <CopyConfigH>copy ..\config.h.win32 ..\..\..\config.h</CopyConfigH>
-    <JsonGlibGenerateDef>
-echo EXPORTS &gt;$(DefDir)\json-glib.def
-cl /EP ..\..\..\json-glib\json-glib.symbols &gt;&gt;$(DefDir)\json-glib.def
-    </JsonGlibGenerateDef>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>jsonglibgensrcsprops</_PropertySheetDisplayName>
@@ -17,8 +13,5 @@ cl /EP ..\..\..\json-glib\json-glib.symbols &gt;&gt;$(DefDir)\json-glib.def
     <BuildMacro Include="CopyConfigH">
       <Value>$(CopyConfigH)</Value>
     </BuildMacro>
-    <BuildMacro Include="JsonGlibGenerateDef">
-      <Value>$(JsonGlibGenerateDef)</Value>
-    </BuildMacro>
   </ItemGroup>
 </Project>
diff --git a/build/win32/vs10/json-glib.vcxproj.filtersin b/build/win32/vs10/json-glib.vcxproj.filtersin
index 4428831..30ea641 100644
--- a/build/win32/vs10/json-glib.vcxproj.filtersin
+++ b/build/win32/vs10/json-glib.vcxproj.filtersin
@@ -19,6 +19,5 @@
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\config.h.win32"><Filter>Resource Files</Filter></CustomBuild>
-    <CustomBuild Include="..\..\..\json-glib\json-glib.symbols"><Filter>Resource Files</Filter></CustomBuild>
   </ItemGroup>
 </Project>
diff --git a/build/win32/vs10/json-glib.vcxprojin b/build/win32/vs10/json-glib.vcxprojin
index e896065..b41c6c4 100644
--- a/build/win32/vs10/json-glib.vcxprojin
+++ b/build/win32/vs10/json-glib.vcxprojin
@@ -89,7 +89,6 @@
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
@@ -113,7 +112,6 @@
     <Link>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
@@ -138,7 +136,6 @@
     </ClCompile>
     <Link>
       <OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -161,7 +158,6 @@
     <Link>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
-      <ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -188,20 +184,6 @@
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(CopyConfigH)</Command>
       <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\config.h;%(Outputs)</Outputs>
     </CustomBuild>
-    <CustomBuild Include="..\..\..\json-glib\json-glib.symbols">
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating 
json-glib.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(JsonGlibGenerateDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating json-glib.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(JsonGlibGenerateDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating 
json-glib.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(JsonGlibGenerateDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating 
json-glib.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(JsonGlibGenerateDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
-    </CustomBuild>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/build/win32/vs9/json-glib-gen-srcs.vsprops b/build/win32/vs9/json-glib-gen-srcs.vsprops
index 117026c..aa4fee6 100644
--- a/build/win32/vs9/json-glib-gen-srcs.vsprops
+++ b/build/win32/vs9/json-glib-gen-srcs.vsprops
@@ -9,11 +9,4 @@
                Name="CopyConfigH"
                Value="copy ..\config.h.win32 ..\..\..\config.h"
        />
-       <UserMacro
-               Name="JsonGlibGenerateDef"
-               Value="
-echo EXPORTS &gt;$(DefDir)\json-glib.def&#x0D;&#x0A;
-cl /EP ..\..\..\json-glib\json-glib.symbols &gt;&gt;$(DefDir)\json-glib.def
-                     "
-       />
 </VisualStudioPropertySheet>
diff --git a/build/win32/vs9/json-glib.vcprojin b/build/win32/vs9/json-glib.vcprojin
index 2fba9e7..4f13c72 100644
--- a/build/win32/vs9/json-glib.vcprojin
+++ b/build/win32/vs9/json-glib.vcprojin
@@ -42,7 +42,6 @@
                                Name="VCLinkerTool"
                                
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
                                LinkIncremental="2"
-                               ModuleDefinitionFile="$(IntDir)\json-glib.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -71,7 +70,6 @@
                                AdditionalDependencies=""
                                
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
                                LinkIncremental="2"
-                               ModuleDefinitionFile="$(IntDir)\json-glib.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
@@ -102,7 +100,6 @@
                                Name="VCLinkerTool"
                                
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
                                LinkIncremental="1"
-                               ModuleDefinitionFile="$(IntDir)\json-glib.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -130,7 +127,6 @@
                                AdditionalDependencies=""
                                
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
                                LinkIncremental="2"
-                               ModuleDefinitionFile="$(IntDir)\json-glib.def"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -195,40 +191,6 @@
                                        />
                                </FileConfiguration>
                        </File>
-                       <File RelativePath="..\..\..\json-glib\json-glib.symbols">
-                               <FileConfiguration Name="Debug|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating json-glib.def..."
-                                               CommandLine="$(JsonGlibGenerateDef)"
-                                               Outputs="$(IntDir)\json-glib.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating json-glib.def..."
-                                               CommandLine="$(JsonGlibGenerateDef)"
-                                               Outputs="$(IntDir)\json-glib.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating json-glib.def..."
-                                               CommandLine="$(JsonGlibGenerateDef)"
-                                               Outputs="$(IntDir)\json-glib.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating json-glib.def..."
-                                               CommandLine="$(JsonGlibGenerateDef)"
-                                               Outputs="$(IntDir)\json-glib.def"
-                                       />
-                               </FileConfiguration>
-                       </File>
                </Filter>
        </Files>
        <Globals>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]