[glom] Fixed the Windows build



commit a1ceaa3103beed069ced1b107d4e18843b6d29bd
Author: Armin Burgmeier <armin arbur net>
Date:   Thu Oct 22 01:03:14 2009 +0200

    Fixed the Windows build
    
    2009-10-21  Armin Burgmeier  <armin arbur net>
    
    	* Makefile_libglom.am: Link against winsock on Windows.
    
    	* glom/application.cc (constructor): ifdefed out the avahi callbacks
    	setup on Windows.
    
    	* glom/dialog_existing_or_new.cc (constructor): ifdefed out the code
    	that expands the network item on Windows (because it doesn't exist
    	there).
    
    	* glom/libglom/connectionpool.h:
    	* glom/libglom/connectionpool.cc: ifdefed out the avahi callback setup
    	function, moved pgwin32_is_admin to main.cc.
    
    	* glom/main.cc: Moved pgwin32_is_admin from connectionpool.cc.
    
    	* glom/libglom/spawn_with_feedback.cc: Added <glibmm/fileutils.h>
    	include, required for the Windows build.
    
    	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
    	* glom/utility_widgets/layouttoolbar.cc:
    	* glom/utility_widgets/layouttoolbarbutton.cc:
    	* glom/xsl_utils.cc: Fixed the construction to path files
    	relative to the executable on Windows: Glib::build_filename does take
    	only two arguments, not three.
    
    	* win32/build-installer:
    	* win32/glom.iss.in: Updated.

 ChangeLog                                          |   30 ++++++
 Makefile_libglom.am                                |    3 +
 glom/application.cc                                |    2 +
 glom/dialog_existing_or_new.cc                     |    2 +
 glom/libglom/connectionpool.cc                     |  109 --------------------
 glom/libglom/connectionpool.h                      |    4 +-
 glom/libglom/spawn_with_feedback.cc                |    1 +
 glom/main.cc                                       |  109 ++++++++++++++++++++
 .../print_layouts/print_layout_toolbar_button.cc   |    4 +-
 glom/utility_widgets/layouttoolbar.cc              |    4 +-
 glom/utility_widgets/layouttoolbarbutton.cc        |    4 +-
 glom/xsl_utils.cc                                  |    4 +-
 win32/build-installer                              |   62 ++++++------
 win32/glom.iss.in                                  |   34 +++---
 14 files changed, 208 insertions(+), 164 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index acd54d8..f431335 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,35 @@
 2009-10-21  Armin Burgmeier  <armin arbur net>
 
+	* Makefile_libglom.am: Link against winsock on Windows.
+
+	* glom/application.cc (constructor): ifdefed out the avahi callbacks
+	setup on Windows.
+
+	* glom/dialog_existing_or_new.cc (constructor): ifdefed out the code
+	that expands the network item on Windows (because it doesn't exist
+	there).
+
+	* glom/libglom/connectionpool.h:
+	* glom/libglom/connectionpool.cc: ifdefed out the avahi callback setup
+	function, moved pgwin32_is_admin to main.cc.
+
+	* glom/main.cc: Moved pgwin32_is_admin from connectionpool.cc.
+
+	* glom/libglom/spawn_with_feedback.cc: Added <glibmm/fileutils.h>
+	include, required for the Windows build.
+
+	* glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
+	* glom/utility_widgets/layouttoolbar.cc:
+	* glom/utility_widgets/layouttoolbarbutton.cc:
+	* glom/xsl_utils.cc: Fixed the construction to path files
+	relative to the executable on Windows: Glib::build_filename does take
+	only two arguments, not three.
+
+	* win32/build-installer:
+	* win32/glom.iss.in: Updated.
+
+2009-10-21  Armin Burgmeier  <armin arbur net>
+
 	* macros/mm-python.m4: Fix the python library lookup on Windows: Avoid
 	a python error if get_config_var('LIBS') is None and include
 	$PREFIX/libs and $EXEC_PREFIX/libs in the search path because this is
diff --git a/Makefile_libglom.am b/Makefile_libglom.am
index 54f73dd..e844c55 100644
--- a/Makefile_libglom.am
+++ b/Makefile_libglom.am
@@ -165,5 +165,8 @@ glom_libglom_libglom_1_12_la_SOURCES +=				\
 	glom/libglom/connectionpool_backends/sqlite.h
 
 glom_libglom_libglom_1_12_la_LIBADD = $(LIBGLOM_LIBS) $(PYTHON_LIBS)
+if HOST_WIN32
+glom_libglom_libglom_1_12_la_LIBADD += -lws2_32
+endif
 
 glom_libglom_libglom_1_12_la_LDFLAGS = -no-undefined
diff --git a/glom/application.cc b/glom/application.cc
index 92cf288..69f402a 100644
--- a/glom/application.cc
+++ b/glom/application.cc
@@ -98,6 +98,7 @@ App_Glom::App_Glom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& bu
   add_mime_type("application/x-glom"); //TODO: make this actually work - we need to register it properly.
   
 #ifndef GLOM_ENABLE_CLIENT_ONLY
+#ifndef G_OS_WIN32
   //Install UI hooks for this:
   ConnectionPool* connection_pool = ConnectionPool::get_instance();
   if(!connection_pool)
@@ -105,6 +106,7 @@ App_Glom::App_Glom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& bu
       sigc::mem_fun(*this, &App_Glom::on_connection_avahi_begin),
       sigc::mem_fun(*this, &App_Glom::on_connection_avahi_progress),
       sigc::mem_fun(*this, &App_Glom::on_connection_avahi_done) );     
+#endif
 #endif // !GLOM_ENABLE_CLIENT_ONLY
 
   global_application = this;
diff --git a/glom/dialog_existing_or_new.cc b/glom/dialog_existing_or_new.cc
index 992323d..fb229b9 100644
--- a/glom/dialog_existing_or_new.cc
+++ b/glom/dialog_existing_or_new.cc
@@ -207,7 +207,9 @@ Dialog_ExistingOrNew::Dialog_ExistingOrNew(BaseObjectType* cobject, const Glib::
   // Expand recently used files and the networked files,
   // because the contents help to explain what this is: 
   m_existing_view->expand_row(m_existing_model->get_path(m_iter_existing_recent), false);
+#ifndef G_OS_WIN32
   m_existing_view->expand_row(m_existing_model->get_path(m_iter_existing_network), false);
+#endif
 
   m_select_button->signal_clicked().connect(sigc::mem_fun(*this, &Dialog_ExistingOrNew::on_select_clicked));
   m_select_button->set_image(*Gtk::manage(new Gtk::Image(Gtk::Stock::APPLY, Gtk::ICON_SIZE_BUTTON)));
diff --git a/glom/libglom/connectionpool.cc b/glom/libglom/connectionpool.cc
index bac64e8..0f2f2ea 100644
--- a/glom/libglom/connectionpool.cc
+++ b/glom/libglom/connectionpool.cc
@@ -42,115 +42,6 @@ static EpcProtocol publish_protocol = EPC_PROTOCOL_HTTPS;
 // Uncomment to see debug messages
 //#define GLOM_CONNECTION_DEBUG
 
-namespace
-{
-
-#ifdef G_OS_WIN32
-static BOOL
-pgwin32_get_dynamic_tokeninfo(HANDLE token, TOKEN_INFORMATION_CLASS class_,
-                char **InfoBuffer, char *errbuf, int errsize)
-{
-  DWORD    InfoBufferSize;
-
-  if(GetTokenInformation(token, class_, 0, 0, &InfoBufferSize))
-  {
-    snprintf(errbuf, errsize, "could not get token information: got zero size\n");
-    return FALSE;
-  }
-
-  if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
-  {
-    snprintf(errbuf, errsize, "could not get token information: error code %d\n",
-         (int) GetLastError());
-    return FALSE;
-  }
-
-  *InfoBuffer = static_cast<char*>(malloc(InfoBufferSize));
-  if(*InfoBuffer == 0)
-  {
-    snprintf(errbuf, errsize, "could not allocate %d bytes for token information\n",
-         (int) InfoBufferSize);
-    return FALSE;
-  }
-
-  if(!GetTokenInformation(token, class_, *InfoBuffer,
-               InfoBufferSize, &InfoBufferSize))
-  {
-    snprintf(errbuf, errsize, "could not get token information: error code %d\n",
-         (int) GetLastError());
-    return FALSE;
-  }
-
-  return TRUE;
-}
-
-int
-pgwin32_is_admin(void)
-{
-  HANDLE    AccessToken;
-  char     *InfoBuffer = 0;
-  char    errbuf[256];
-  PTOKEN_GROUPS Groups;
-  PSID    AdministratorsSid;
-  PSID    PowerUsersSid;
-  SID_IDENTIFIER_AUTHORITY NtAuthority = {SECURITY_NT_AUTHORITY};
-  UINT    x;
-  BOOL    success;
-
-  if(!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &AccessToken))
-  {
-    throw std::runtime_error(Glib::ustring::compose("Could not open process token: error code %1", (int)GetLastError()));
-  }
-
-  if(!pgwin32_get_dynamic_tokeninfo(AccessToken, TokenGroups,
-                     &InfoBuffer, errbuf, sizeof(errbuf)))
-  {
-    CloseHandle(AccessToken);
-    throw std::runtime_error(errbuf);
-  }
-
-  Groups = (PTOKEN_GROUPS) InfoBuffer;
-
-  CloseHandle(AccessToken);
-
-  if(!AllocateAndInitializeSid(&NtAuthority, 2,
-     SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0,
-                  0, &AdministratorsSid))
-  {
-    free(InfoBuffer);
-    throw std::runtime_error(Glib::ustring::compose("could not get SID for Administrators group: error code %1", (int)GetLastError()));
-  }
-
-  if(!AllocateAndInitializeSid(&NtAuthority, 2,
-  SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_POWER_USERS, 0, 0, 0, 0, 0,
-                  0, &PowerUsersSid))
-  {
-    free(InfoBuffer);
-    FreeSid(AdministratorsSid);
-    throw std::runtime_error(Glib::ustring::compose("could not get SID for PowerUsers group: error code %1", (int) GetLastError()));
-  }
-
-  success = FALSE;
-
-  for (x = 0; x < Groups->GroupCount; x++)
-  {
-    if((EqualSid(AdministratorsSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)) ||
-      (EqualSid(PowerUsersSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)))
-    {
-      success = TRUE;
-      break;
-    }
-  }
-
-  free(InfoBuffer);
-  FreeSid(AdministratorsSid);
-  FreeSid(PowerUsersSid);
-  return success;
-}
-
-#endif // G_OS_WIN32
-} // anonymous namespace
-
 namespace Glom
 {
 
diff --git a/glom/libglom/connectionpool.h b/glom/libglom/connectionpool.h
index a7baf11..8da63fc 100644
--- a/glom/libglom/connectionpool.h
+++ b/glom/libglom/connectionpool.h
@@ -104,6 +104,7 @@ public:
   
   typedef sigc::slot<void> type_void_slot;
   
+#ifndef G_OS_WIN32
   /** Set callbacks that will be called to show UI while starting to advertise 
    * on the network via Avahi.
    *
@@ -112,7 +113,8 @@ public:
    * @param slot_done Stop showing the message.
    */ 
   void set_avahi_publish_callbacks(const type_void_slot& slot_begin, const type_void_slot& slot_progress, const type_void_slot& slot_done);
-  
+#endif
+
 
   bool get_ready_to_connect() const;
   void set_ready_to_connect(bool val = true);
diff --git a/glom/libglom/spawn_with_feedback.cc b/glom/libglom/spawn_with_feedback.cc
index 116223d..85c3acd 100644
--- a/glom/libglom/spawn_with_feedback.cc
+++ b/glom/libglom/spawn_with_feedback.cc
@@ -24,6 +24,7 @@
 #include <glibmm/thread.h>
 #include <glibmm/iochannel.h>
 #include <glibmm/shell.h>
+#include <glibmm/fileutils.h>
 #include <glibmm/miscutils.h>
 #include <glibmm/i18n.h>
 #include <memory> //For auto_ptr.
diff --git a/glom/main.cc b/glom/main.cc
index d4d57e0..c73511a 100644
--- a/glom/main.cc
+++ b/glom/main.cc
@@ -63,6 +63,115 @@
 #include <fontconfig/fontconfig.h> //For cleanup.
 #endif
 
+namespace
+{
+
+#ifdef G_OS_WIN32
+static BOOL
+pgwin32_get_dynamic_tokeninfo(HANDLE token, TOKEN_INFORMATION_CLASS class_,
+                char **InfoBuffer, char *errbuf, int errsize)
+{
+  DWORD    InfoBufferSize;
+
+  if(GetTokenInformation(token, class_, 0, 0, &InfoBufferSize))
+  {
+    snprintf(errbuf, errsize, "could not get token information: got zero size\n");
+    return FALSE;
+  }
+
+  if(GetLastError() != ERROR_INSUFFICIENT_BUFFER)
+  {
+    snprintf(errbuf, errsize, "could not get token information: error code %d\n",
+         (int) GetLastError());
+    return FALSE;
+  }
+
+  *InfoBuffer = static_cast<char*>(malloc(InfoBufferSize));
+  if(*InfoBuffer == 0)
+  {
+    snprintf(errbuf, errsize, "could not allocate %d bytes for token information\n",
+         (int) InfoBufferSize);
+    return FALSE;
+  }
+
+  if(!GetTokenInformation(token, class_, *InfoBuffer,
+               InfoBufferSize, &InfoBufferSize))
+  {
+    snprintf(errbuf, errsize, "could not get token information: error code %d\n",
+         (int) GetLastError());
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+int
+pgwin32_is_admin(void)
+{
+  HANDLE    AccessToken;
+  char     *InfoBuffer = 0;
+  char    errbuf[256];
+  PTOKEN_GROUPS Groups;
+  PSID    AdministratorsSid;
+  PSID    PowerUsersSid;
+  SID_IDENTIFIER_AUTHORITY NtAuthority = {SECURITY_NT_AUTHORITY};
+  UINT    x;
+  BOOL    success;
+
+  if(!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &AccessToken))
+  {
+    throw std::runtime_error(Glib::ustring::compose("Could not open process token: error code %1", (int)GetLastError()));
+  }
+
+  if(!pgwin32_get_dynamic_tokeninfo(AccessToken, TokenGroups,
+                     &InfoBuffer, errbuf, sizeof(errbuf)))
+  {
+    CloseHandle(AccessToken);
+    throw std::runtime_error(errbuf);
+  }
+
+  Groups = (PTOKEN_GROUPS) InfoBuffer;
+
+  CloseHandle(AccessToken);
+
+  if(!AllocateAndInitializeSid(&NtAuthority, 2,
+     SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0,
+                  0, &AdministratorsSid))
+  {
+    free(InfoBuffer);
+    throw std::runtime_error(Glib::ustring::compose("could not get SID for Administrators group: error code %1", (int)GetLastError()));
+  }
+
+  if(!AllocateAndInitializeSid(&NtAuthority, 2,
+  SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_POWER_USERS, 0, 0, 0, 0, 0,
+                  0, &PowerUsersSid))
+  {
+    free(InfoBuffer);
+    FreeSid(AdministratorsSid);
+    throw std::runtime_error(Glib::ustring::compose("could not get SID for PowerUsers group: error code %1", (int) GetLastError()));
+  }
+
+  success = FALSE;
+
+  for (x = 0; x < Groups->GroupCount; x++)
+  {
+    if((EqualSid(AdministratorsSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)) ||
+      (EqualSid(PowerUsersSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)))
+    {
+      success = TRUE;
+      break;
+    }
+  }
+
+  free(InfoBuffer);
+  FreeSid(AdministratorsSid);
+  FreeSid(PowerUsersSid);
+  return success;
+}
+
+#endif // G_OS_WIN32
+} // anonymous namespace
+
 namespace Glom
 {
 
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
index fa1102f..3d4199f 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
@@ -29,8 +29,8 @@ std::string get_icon_path(const std::string& filename)
 {
 #ifdef G_OS_WIN32
   gchar* basepath = g_win32_get_package_installation_directory_of_module(0);
-  const std::string result = Glib::build_filename(basepath,
-      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps", filename);
+  const std::string result = Glib::build_filename(Glib::build_filename(basepath,
+      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps"), filename);
   g_free(basepath);
   return result;
 #else
diff --git a/glom/utility_widgets/layouttoolbar.cc b/glom/utility_widgets/layouttoolbar.cc
index 4dffc41..6cf17d7 100644
--- a/glom/utility_widgets/layouttoolbar.cc
+++ b/glom/utility_widgets/layouttoolbar.cc
@@ -34,8 +34,8 @@ Glib::ustring get_icon_path(const Glib::ustring& filename)
 {
 #ifdef G_OS_WIN32
   gchar* basepath = g_win32_get_package_installation_directory_of_module(0);
-  Glib::ustring result = Glib::build_filename(basepath,
-      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps", filename);
+  Glib::ustring result = Glib::build_filename(Glib::build_filename(basepath,
+      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps"), filename);
   g_free(basepath);
   return result;
 #else
diff --git a/glom/utility_widgets/layouttoolbarbutton.cc b/glom/utility_widgets/layouttoolbarbutton.cc
index d7ea4dc..d86daa8 100644
--- a/glom/utility_widgets/layouttoolbarbutton.cc
+++ b/glom/utility_widgets/layouttoolbarbutton.cc
@@ -27,8 +27,8 @@ std::string get_icon_path(const std::string& filename)
 {
 #ifdef G_OS_WIN32
   gchar* basepath = g_win32_get_package_installation_directory_of_module(0);
-  const std:string result = Glib::build_filename(basepath,
-      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps", filename);
+  const std::string result = Glib::build_filename(Glib::build_filename(basepath,
+      "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "pixmaps"), filename);
   g_free(basepath);
   return result;
 #else
diff --git a/glom/xsl_utils.cc b/glom/xsl_utils.cc
index c33dac3..f5e5ce4 100644
--- a/glom/xsl_utils.cc
+++ b/glom/xsl_utils.cc
@@ -53,8 +53,8 @@ namespace
   {
 #ifdef G_OS_WIN32
     gchar* directory = g_win32_get_package_installation_directory_of_module(0);
-    Glib::ustring xsltdir = Glib::build_filename(directory,
-        "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "xslt", xsl_file);
+    Glib::ustring xsltdir = Glib::build_filename(Glib::build_filename(directory,
+        "share" G_DIR_SEPARATOR_S "glom" G_DIR_SEPARATOR_S "xslt"), xsl_file);
     g_free(directory);
     return xsltdir;
 #else
diff --git a/win32/build-installer b/win32/build-installer
index 71f4140..e7f0748 100755
--- a/win32/build-installer
+++ b/win32/build-installer
@@ -41,10 +41,14 @@ cp /bundle/bin/gspawn-win32-helper.exe installer/bin || exit
 cp /bundle/bin/gspawn-win32-helper-console.exe installer/bin || exit
 
 cp /bundle/bin/libatk-1.0-0.dll installer/bin || exit
+cp /bundle/bin/libxml2-2.dll installer/bin || exit
+cp /bundle/bin/libfontconfig-1.dll installer/bin || exit
+cp /bundle/bin/libexpat-1.dll installer/bin || exit
+cp /bundle/bin/freetype6.dll installer/bin || exit
 cp /bundle/bin/libcairo-2.dll installer/bin || exit
 cp /bundle/bin/libpng12-0.dll installer/bin || exit
-cp /bundle/bin/jpeg62.dll installer/bin || exit
-cp /bundle/bin/libtiff3.dll installer/bin || exit
+cp /bundle/bin/libjpeg-7.dll installer/bin || exit
+cp /bundle/bin/libtiff-3.dll installer/bin || exit
 
 cp /bundle/bin/libpango-1.0-0.dll installer/bin || exit
 cp /bundle/bin/libpangocairo-1.0-0.dll installer/bin || exit
@@ -56,44 +60,43 @@ cp /bundle/bin/libgdk_pixbuf-2.0-0.dll installer/bin || exit
 cp /bundle/bin/libgtk-win32-2.0-0.dll installer/bin || exit
 cp /gtksourceview/bin/libgtksourceview-2.0-0.dll installer/bin || exit
 
-cp /bin/libORBit-2-0.dll installer/bin || exit
-cp /bin/libORBitCosNaming-2-0.dll installer/bin || exit
-cp /bin/libORBit-imodule-2-0.dll installer/bin || exit
+#cp /bin/libORBit-2-0.dll installer/bin || exit
+#cp /bin/libORBitCosNaming-2-0.dll installer/bin || exit
+#cp /bin/libORBit-imodule-2-0.dll installer/bin || exit
 
-cp /bin/libgconf-2-4.dll installer/bin || exit
-cp /libglade/bin/libglade-2.0-0.dll installer/bin || exit
+#cp /bin/libgconf-2-4.dll installer/bin || exit
+#cp /libglade/bin/libglade-2.0-0.dll installer/bin || exit
 cp /goocanvas/bin/libgoocanvas-3.dll installer/bin || exit
 
 cp /libgda/bin/libgda-4.0-4.dll installer/bin || exit
 #cp /libgda/bin/libgdasql-3.0-2.dll installer/bin || exit
 cp /libgda/bin/libgda-report-4.0-4.dll installer/bin || exit
 
-cp /local/bin/libsigc-2.0-0.dll installer/bin || exit
-cp /local/bin/libglibmm-2.4-1.dll installer/bin || exit
-cp /local/bin/libgiomm-2.4-1.dll installer/bin || exit
-cp /local/bin/libatkmm-1.6-1.dll installer/bin || exit
-cp /local/bin/libcairomm-1.0-1.dll installer/bin || exit
-cp /local/bin/libpangomm-1.4-1.dll installer/bin || exit
-cp /local/bin/libgdkmm-2.4-1.dll installer/bin || exit
-cp /local/bin/libxml++-2.6-2.dll installer/bin || exit
-cp /local/bin/libgtkmm-2.4-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libsigc-2.0-0.dll installer/bin || exit
+cp /gtkmm_release/bin/libglibmm-2.4-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libgiomm-2.4-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libatkmm-1.6-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libcairomm-1.0-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libpangomm-1.4-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libgdkmm-2.4-1.dll installer/bin || exit
+cp /gtkmm_release/bin/libxml++-2.6-2.dll installer/bin || exit
+cp /gtkmm_release/bin/libgtkmm-2.4-1.dll installer/bin || exit
 cp /local/bin/libgtksourceviewmm-2.0-2.dll installer/bin || exit
-cp /local/bin/libgoocanvasmm-0.1-4.dll installer/bin || exit
-cp /local/bin/libgconfmm-2.6-1.dll installer/bin || exit
-cp /local/bin/libgdamm-4.0-10.dll installer/bin || exit
-cp /local/bin/libglademm-2.4-1.dll installer/bin || exit
+cp /local/bin/libgoocanvasmm-1.0-5.dll installer/bin || exit
+#cp /local/bin/libgconfmm-2.6-1.dll installer/bin || exit
+cp /local/bin/libgdamm-4.0-12.dll installer/bin || exit
+#cp /gtkmm_release/bin/libglademm-2.4-1.dll installer/bin || exit
 
-cp /local/bin/libbakery-2.6--6-1.dll installer/bin || exit
-cp /local/bin/libglom-1.0-0.dll installer/bin || exit
+# cp /local/bin/libbakery-2.6--6-1.dll installer/bin || exit
+cp /local/bin/libglom-1.12-0.dll installer/bin || exit
 
 echo "Stripping DLL files..."
 strip installer/bin/*.dll || exit
 strip installer/bin/*.exe || exit
 
-# stripping libxml2.dll renders it unusable (although not changing it in size).
-# We therefore copy it after having stripped the rest. Same with the other DLLs
-# here. Perhaps those were built with MSVC.
-cp /bundle/bin/libxml2.dll installer/bin || exit
+# stripping these render them unusable (although no changing in size).
+# We therefore copy them after having stripped the rest. Same with the other
+# Perhaps those were built with MSVC.
 cp /bundle/bin/intl.dll installer/bin || exit
 cp /bundle/bin/iconv.dll installer/bin || exit
 cp /bundle/bin/zlib1.dll installer/bin || exit
@@ -176,14 +179,13 @@ cp /bundle/share/locale installer/share -R || exit # GTK+ + deps
 cp /share/locale installer/share -R || exit # GConf2
 cp /local/share/locale installer/share -R || exit # bakery, glom
 cp /libgda/share/locale installer/share -R || exit # libgda-4.0
-# TODO: Switch to >=GtkSourceView 2.5, which has locales in share/
-cp /gtksourceview/lib/locale installer/lib -R || exit # gtksourceview
+cp /gtksourceview/share/locale installer/share -R || exit # gtksourceview
 # TODO: Bail if a translation file is missing
 
 TRANSLATIONS="glib20.mo gtk20-properties.mo atk10.mo gtk20.mo gtksourceview-2.0.mo GConf2.mo libgda-4.0.mo bakery.mo glom.mo"
 
-find installer/lib/locale/ -type f | grep -v atk10.mo | grep -v gtk20.mo | grep -v bakery.mo | grep -v GConf2.mo | grep -v glib20.mo | grep -v glom.mo | grep -v gtk20.mo | grep -v gtk20-properties.mo | grep -v gtksourceview-2.0.mo |  grep -v libgda-4.0.mo | xargs rm
-find installer/lib/locale -type d | xargs rmdir -p --ignore-fail-on-non-empty
+#find installer/lib/locale/ -type f | grep -v atk10.mo | grep -v gtk20.mo | grep -v bakery.mo | grep -v GConf2.mo | grep -v glib20.mo | grep -v glom.mo | grep -v gtk20.mo | grep -v gtk20-properties.mo | grep -v gtksourceview-2.0.mo |  grep -v libgda-4.0.mo | xargs rm
+#find installer/lib/locale -type d | xargs rmdir -p --ignore-fail-on-non-empty
 
 find installer/share/locale/ -type f | grep -v atk10.mo | grep -v gtk20.mo | grep -v bakery.mo | grep -v GConf2.mo | grep -v glib20.mo | grep -v glom.mo | grep -v gtk20.mo | grep -v gtk20-properties.mo | grep -v gtksourceview-2.0.mo |  grep -v libgda-4.0.mo | xargs rm
 find installer/share/locale -type d | xargs rmdir -p --ignore-fail-on-non-empty
diff --git a/win32/glom.iss.in b/win32/glom.iss.in
index 5e8ca1b..1c61b9e 100644
--- a/win32/glom.iss.in
+++ b/win32/glom.iss.in
@@ -38,10 +38,13 @@ Source: "bin\intl.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\iconv.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\zlib1.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libpng12-0.dll"; DestDir: "{app}\bin"; Components: gtk
-Source: "bin\jpeg62.dll"; DestDir: "{app}\bin"; Components: gtk
-Source: "bin\libtiff3.dll"; DestDir: "{app}\bin"; Components: gtk
-Source: "bin\libxml2.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\libjpeg-7.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\libtiff-3.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\libxml2-2.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libxslt-1.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\libfontconfig-1.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\libexpat-1.dll"; DestDir: "{app}\bin"; Components: gtk
+Source: "bin\freetype6.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libglib-2.0-0.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libgobject-2.0-0.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libgio-2.0-0.dll"; DestDir: "{app}\bin"; Components: gtk
@@ -59,28 +62,28 @@ Source: "bin\libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}\bin"; Components: gtk
 Source: "bin\libgtk-win32-2.0-0.dll"; DestDir: "{app}\bin"; Components: gtk
 
 ; Other glom dependency DLLs
-Source: "bin\libORBit-2-0.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libORBit-imodule-2-0.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libORBitCosNaming-2-0.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libgconf-2-4.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libORBit-2-0.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libORBit-imodule-2-0.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libORBitCosNaming-2-0.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libgconf-2-4.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgda-4.0-4.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgda-report-4.0-4.dll"; DestDir: "{app}\bin"; Components: main
 ;Source: "bin\libgdasql-4.0-4.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgettextpo-0.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libglade-2.0-0.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libglade-2.0-0.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgoocanvas-3.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgtksourceview-2.0-0.dll"; DestDir: "{app}\bin"; Components: main
 
 Source: "bin\libatkmm-1.6-1.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libbakery-2.6--6-1.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libbakery-2.6--6-1.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libcairomm-1.0-1.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libgconfmm-2.6-1.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libgdamm-4.0-10.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libgconfmm-2.6-1.dll"; DestDir: "{app}\bin"; Components: main
+Source: "bin\libgdamm-4.0-12.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgdkmm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libglademm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
+;Source: "bin\libglademm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libglibmm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgiomm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
-Source: "bin\libgoocanvasmm-0.1-4.dll"; DestDir: "{app}\bin"; Components: main
+Source: "bin\libgoocanvasmm-1.0-5.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgtkmm-2.4-1.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libgtksourceviewmm-2.0-2.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\libpangomm-1.4-1.dll"; DestDir: "{app}\bin"; Components: main
@@ -119,7 +122,7 @@ Source: "python/*.py"; DestDir: "{app}\bin"; Components: python; Flags: recurses
 Source: "python/*.pyd"; DestDir: "{app}\bin"; Components: python; Flags: recursesubdirs
 
 ; Glom executables
-Source: "bin\libglom-1.0-0.dll"; DestDir: "{app}\bin"; Components: main
+Source: "bin\libglom-1.12-0.dll"; DestDir: "{app}\bin"; Components: main
 Source: "bin\Glom.exe"; DestDir: "{app}\bin"; Components: main
 
 ; Modules
@@ -148,7 +151,6 @@ Source: "share/gtksourceview-2.0/styles/*"; DestDir: "{app}/share/gtksourceview-
 ; libgda
 Source: "share/libgda-4.0/*"; DestDir: "{app}/share/libgda-4.0"; Components: main
 Source: "share/libgda-4.0/dtd/*"; DestDir: "{app}/share/libgda-4.0/dtd"; Components: main
-; TODO: We only need postgresql and SQLite providers
 Source: "lib/libgda-4.0/providers/*"; DestDir: "{app}/lib/libgda-4.0/providers"; Components: main
 Source: "etc/libgda-4.0/config"; DestDir: "{app}/etc/libgda-4.0"; Components: main
 
@@ -166,7 +168,7 @@ Source: "share/glom/xslt/*"; DestDir: "{app}/share/glom/xslt/"; Components: main
 ;Source: "share/themes/MS-Windows/*"; DestDir: "{app}/share/themes/MS-Windows"; Flags: recursesubdirs; Components: gtk
 
 ; Locales
-Source: "lib\locale\*"; DestDir: "{app}\lib\locale\"; Flags: recursesubdirs; Components: locale
+;Source: "lib\locale\*"; DestDir: "{app}\lib\locale\"; Flags: recursesubdirs; Components: locale
 Source: "share\locale\*"; DestDir: "{app}\share\locale\"; Flags: recursesubdirs; Components: locale
 
 ; Register .glom file type if we install for all users. Is there a possibility



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