summaryrefslogtreecommitdiffstats
path: root/mysql-workbench-5.2.26-cppconn.patch
blob: b941d03bffaab6a71b1f5bc2575f1f4c12057f1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
diff -up mysql-workbench-gpl-5.2.26/configure.in.cppconn mysql-workbench-gpl-5.2.26/configure.in
--- mysql-workbench-gpl-5.2.26/configure.in.cppconn	2010-08-05 15:33:27.000000000 +0200
+++ mysql-workbench-gpl-5.2.26/configure.in	2010-08-07 08:11:56.906643649 +0200
@@ -462,8 +462,6 @@ res/mysql.profiles/Makefile
 res/sqlidedata/Makefile
 ext/Makefile
 ext/scintilla/gtk/Makefile
-ext/cppconn/Makefile
-ext/cppconn/driver/Makefile
 backend/Makefile
 backend/wbpublic/Makefile
 backend/wbprivate/Makefile
diff -up mysql-workbench-gpl-5.2.26/ext/Makefile.am.cppconn mysql-workbench-gpl-5.2.26/ext/Makefile.am
--- mysql-workbench-gpl-5.2.26/ext/Makefile.am.cppconn	2010-08-05 15:33:23.000000000 +0200
+++ mysql-workbench-gpl-5.2.26/ext/Makefile.am	2010-08-07 08:11:56.907643461 +0200
@@ -4,4 +4,4 @@ else
 ctemplate_dirs=ctemplate 
 endif
 
-SUBDIRS=scintilla/gtk cppconn $(ctemplate_dirs)
+SUBDIRS=scintilla/gtk $(ctemplate_dirs)
diff -up mysql-workbench-gpl-5.2.26/ext/Makefile.in.cppconn mysql-workbench-gpl-5.2.26/ext/Makefile.in
--- mysql-workbench-gpl-5.2.26/ext/Makefile.in.cppconn	2010-08-05 15:33:32.000000000 +0200
+++ mysql-workbench-gpl-5.2.26/ext/Makefile.in	2010-08-07 08:11:56.907643461 +0200
@@ -53,7 +53,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-re
   distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = scintilla/gtk cppconn ctemplate
+DIST_SUBDIRS = scintilla/gtk ctemplate
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -214,7 +214,7 @@ target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 @BUILD_CTEMPLATE_FALSE@ctemplate_dirs = ctemplate 
-SUBDIRS = scintilla/gtk cppconn $(ctemplate_dirs)
+SUBDIRS = scintilla/gtk $(ctemplate_dirs)
 all: all-recursive
 
 .SUFFIXES:
diff -up mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp.cppconn mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp
--- mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp.cppconn	2010-08-05 15:33:19.000000000 +0200
+++ mysql-workbench-gpl-5.2.26/library/dbc/src/driver_manager.cpp	2010-08-07 08:11:56.907643461 +0200
@@ -145,6 +145,8 @@ TunnelConnection *DriverManager::getTunn
 ConnectionWrapper DriverManager::getConnection(const db_mgmt_ConnectionRef &connectionProperties, ConnectionInitSlot connection_init_slot)
 {
   TunnelConnection* tunnel = NULL;
+  gchar *p = NULL;
+  GModule *gmodule = NULL;
   // 0. determine correct driver filename
   
   db_mgmt_DriverRef drv = connectionProperties->driver();
@@ -154,21 +156,21 @@ ConnectionWrapper DriverManager::getConn
     library = drv->driverLibraryName();
   else
     throw SQLException("Invalid connection settings: undefined connection driver");
-#ifdef _WIN32
-  library.append(".dll");
-#elif defined(__APPLE__)
-  library.append(".dylib");
-#else
-  library.append(".so");
-#endif
+
+  // Patch : use library in standard path
+  p = g_module_build_path (NULL, library.c_str());
 
   // 1. find driver
 
-  GModule *gmodule= g_module_open((_driver_path + "/" + library).c_str(), G_MODULE_BIND_LOCAL);
+  if (p) {
+    gmodule = g_module_open(std::string(p).append(".5").c_str(), G_MODULE_BIND_LOCAL);
+    g_free(p);
+  }
+
   if (NULL == gmodule)
   {
     fprintf(stderr, "Error: %s", g_module_error());
-    throw SQLException(std::string("Database driver: Failed to open library '").append(_driver_path + "/" + library).append("'. Check settings.").c_str());
+    throw SQLException(std::string("Database driver: Failed to open library '").append(library).append("'. Check settings.").c_str());
   }
   
   Driver *(* get_driver_instance)()= NULL;