summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Gustin <cedric.gustin@gmail.com>2006-04-06 12:42:28 +0000
committerCedric Gustin <gustin@src.gnome.org>2006-04-06 12:42:28 +0000
commit367228bc2218bcc71a628b3d4514d08deab6d4b4 (patch)
tree3d82d1b8bec709caf59302f2e4c6cd058e4be130
parent5fc9d0f797da4f5377ffc3be77cf441ce9646f25 (diff)
downloadglibmm-367228bc2218bcc71a628b3d4514d08deab6d4b4.tar.gz
Embed the manifest file into executables in the case of the Debug target.
2006-04-06 Cedric Gustin <cedric.gustin@gmail.com> * MSVC_Net2003/*.vcproj: Embed the manifest file into executables in the case of the Debug target. * README.win32: Fixed a few typos. * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to the extra_defines compiler flags (switch between dllexport/dllimport on win32). * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for gtkmm) active with these two platforms, as required by bug #309030. * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
-rw-r--r--ChangeLog15
-rwxr-xr-xMSVC_Net2003/examples/dispatcher/dispatcher.vcproj2
-rwxr-xr-xMSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj2
-rwxr-xr-xMSVC_Net2003/examples/markup/markup.vcproj2
-rwxr-xr-xMSVC_Net2003/examples/options/options.vcproj2
-rwxr-xr-xMSVC_Net2003/examples/thread/thread.vcproj2
-rwxr-xr-xMSVC_Net2003/examples/thread_pool/thread_pool.vcproj2
-rwxr-xr-xMSVC_Net2003/gendef/gendef.vcproj2
-rwxr-xr-xMSVC_Net2003/glibmm/glibmm.vcproj10
-rwxr-xr-xMSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj2
-rw-r--r--README.win322
-rw-r--r--build_shared/Makefile_build.am_fragment5
-rw-r--r--glib/glibmm/object.h4
-rw-r--r--glib/glibmm/objectbase.h4
-rw-r--r--glib/glibmmconfig.h.in1
15 files changed, 36 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 854b5bc3..b0e1e3d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2006-04-06 Cedric Gustin <cedric.gustin@gmail.com>
+
+ * MSVC_Net2003/*.vcproj: Embed the manifest file into executables
+ in the case of the Debug target.
+ * README.win32: Fixed a few typos.
+ * build_shared/Makefile_build.am_fragment: Add -DGLIBMM_BUILD to
+ the extra_defines compiler flags (switch between
+ dllexport/dllimport on win32).
+ * glib/glibmmconfig.h.in: Define GLIBMM_DLL when building with
+ mingw32/cygwin. This makes the GLIBMM_API tag (and GTKMM_API for
+ gtkmm) active with these two platforms, as required by bug
+ #309030.
+ * glib/glibmm/object.h, glib/glibmm/objectbase.h : Tag the Object
+ and ObjectBase classes with GLIBMM_API to make Visual Studio happy.
+
2.10.0:
2006-02-25 Murray Cumming <murrayc@murrayc.com>
diff --git a/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj b/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj
index 8def9309..674a9acd 100755
--- a/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj
+++ b/MSVC_Net2003/examples/dispatcher/dispatcher.vcproj
@@ -66,7 +66,7 @@
AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/dispatcher.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj b/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj
index 3f8a5ff5..bc9fff96 100755
--- a/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj
+++ b/MSVC_Net2003/examples/dispatcher2/dispatcher2.vcproj
@@ -65,7 +65,7 @@
AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/dispatcher2.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/examples/markup/markup.vcproj b/MSVC_Net2003/examples/markup/markup.vcproj
index 4ad425d5..af9d2c39 100755
--- a/MSVC_Net2003/examples/markup/markup.vcproj
+++ b/MSVC_Net2003/examples/markup/markup.vcproj
@@ -65,7 +65,7 @@
AdditionalDependencies="glib-2.0.lib"
OutputFile="$(OutDir)/markup.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/examples/options/options.vcproj b/MSVC_Net2003/examples/options/options.vcproj
index 1d22c7e9..a360d8d2 100755
--- a/MSVC_Net2003/examples/options/options.vcproj
+++ b/MSVC_Net2003/examples/options/options.vcproj
@@ -66,7 +66,7 @@
AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/options.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/examples/thread/thread.vcproj b/MSVC_Net2003/examples/thread/thread.vcproj
index dfb85676..77197ab6 100755
--- a/MSVC_Net2003/examples/thread/thread.vcproj
+++ b/MSVC_Net2003/examples/thread/thread.vcproj
@@ -65,7 +65,7 @@
AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/thread.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj b/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj
index 74c18bd7..320d6f54 100755
--- a/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj
+++ b/MSVC_Net2003/examples/thread_pool/thread_pool.vcproj
@@ -65,7 +65,7 @@
AdditionalDependencies="gthread-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/thread_pool.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/gendef/gendef.vcproj b/MSVC_Net2003/gendef/gendef.vcproj
index 6a0aa64f..fb05b485 100755
--- a/MSVC_Net2003/gendef/gendef.vcproj
+++ b/MSVC_Net2003/gendef/gendef.vcproj
@@ -62,7 +62,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/gendef.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/MSVC_Net2003/glibmm/glibmm.vcproj b/MSVC_Net2003/glibmm/glibmm.vcproj
index ae7d3596..04128f46 100755
--- a/MSVC_Net2003/glibmm/glibmm.vcproj
+++ b/MSVC_Net2003/glibmm/glibmm.vcproj
@@ -69,7 +69,7 @@
Name="VCLinkerTool"
AdditionalDependencies="glib-2.0.lib gobject-2.0.lib gmodule-2.0.lib sigc-2.0d.lib"
OutputFile="$(OutDir)/$(ProjectName)d.dll"
- GenerateManifest="false"
+ GenerateManifest="true"
ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
GenerateDebugInformation="true"
/>
@@ -302,10 +302,6 @@
>
</File>
<File
- RelativePath="..\..\glib\glibmm\sarray.cc"
- >
- </File>
- <File
RelativePath="..\..\glib\glibmm\shell.cc"
>
</File>
@@ -524,10 +520,6 @@
>
</File>
<File
- RelativePath="..\..\glib\glibmm\sarray.h"
- >
- </File>
- <File
RelativePath="..\..\glib\glibmm\shell.h"
>
</File>
diff --git a/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj b/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj
index 5b53fa0e..8bd70c97 100755
--- a/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj
+++ b/MSVC_Net2003/tests/glibmm_value/glibmm_value.vcproj
@@ -65,7 +65,7 @@
Name="VCLinkerTool"
OutputFile="$(OutDir)/glibmm_value.exe"
LinkIncremental="2"
- GenerateManifest="false"
+ GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
diff --git a/README.win32 b/README.win32
index 4cb1128a..97221761 100644
--- a/README.win32
+++ b/README.win32
@@ -1,7 +1,7 @@
Building glibmm on Win32
===========================
-Currently, only both mingw (native win32) gcc compiler and MS Visual
+Currently, both the mingw (native win32) gcc compiler and MS Visual
Studio 2005 are supported. glibmm can be built with mingw32-gcc using
the gnu autotools (automake, autoconf, libtool). As explicitly stated
in the gtk+ for win32 distribution (http://www.gimp.org/win32/), the
diff --git a/build_shared/Makefile_build.am_fragment b/build_shared/Makefile_build.am_fragment
index 2ce34b56..95a39412 100644
--- a/build_shared/Makefile_build.am_fragment
+++ b/build_shared/Makefile_build.am_fragment
@@ -29,9 +29,12 @@ files_all_win32_cc = $(files_built_win32_cc)
# libraries at link time to resolve symbols (remember a dll is like an
# executable).
if PLATFORM_WIN32
+extra_win32_defines = \
+ -D$(shell echo $(sublib_name) | tr [:lower:] [:upper:])_BUILD
no_undefined = -no-undefined -Wl,--export-all-symbols
win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
else
+extra_win32_defines =
no_undefined =
win32_dlls_extra_libs =
endif
@@ -41,7 +44,7 @@ common_ldflags = -version-info $(LIBGLIBMM_SO_VERSION) $(no_undefined)
all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \
$(sublib_cflags) $(GTHREAD_CFLAGS)
-extra_defines = -DG_LOG_DOMAIN=\"$(sublib_name)\" \
+extra_defines = -DG_LOG_DOMAIN=\"$(sublib_name)\" $(extra_win32_defines) \
$(DISABLE_DEPRECATED_CFLAGS) $(DISABLE_DEPRECATED_API_CFLAGS)
dist_sources = $(files_built_all_cc) $(files_extra_all_cc) \
diff --git a/glib/glibmm/object.h b/glib/glibmm/object.h
index 0335e92f..a1cc756f 100644
--- a/glib/glibmm/object.h
+++ b/glib/glibmm/object.h
@@ -28,6 +28,8 @@
#include <glibmm/containerhandle_shared.h> //Because its specializations may be here.
#include <glibmm/value.h>
+#include <glibmmconfig.h>
+
#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C"
{
@@ -84,7 +86,7 @@ private:
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-class Object : virtual public ObjectBase
+class GLIBMM_API Object : virtual public ObjectBase
{
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
diff --git a/glib/glibmm/objectbase.h b/glib/glibmm/objectbase.h
index 137a7159..2b152fbb 100644
--- a/glib/glibmm/objectbase.h
+++ b/glib/glibmm/objectbase.h
@@ -28,6 +28,8 @@
#include <glibmmconfig.h>
#include <glibmm/debug.h>
+#include <glibmmconfig.h>
+
GLIBMM_USING_STD(type_info)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -50,7 +52,7 @@ class GSigConnectionNode;
* constructor runs before all others, either implicitly or explicitly. Each of
* the available constructors initializes custom_type_name_ in a different way.
*/
-class ObjectBase : virtual public sigc::trackable
+class GLIBMM_API ObjectBase : virtual public sigc::trackable
{
protected:
/** This default constructor is called implicitly from the constructor of user-derived
diff --git a/glib/glibmmconfig.h.in b/glib/glibmmconfig.h.in
index f4deb5c7..d3081cae 100644
--- a/glib/glibmmconfig.h.in
+++ b/glib/glibmmconfig.h.in
@@ -17,6 +17,7 @@
#define GLIBMM_CONFIGURE
#elif defined(__MINGW32__)
#define GLIBMM_WIN32
+#define GLIBMM_DLL
#define GLIBMM_CONFIGURE
#else
//AIX clR compiler complains about this even though it doesn't get this far: