File: library_dir_and_name.patch

package info (click to toggle)
indigo 1.2.3-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 28,284 kB
  • sloc: ansic: 309,316; cpp: 137,636; cs: 9,118; asm: 8,011; java: 7,195; sql: 6,697; xml: 4,352; python: 3,426; sh: 207; php: 56; makefile: 49
file content (154 lines) | stat: -rw-r--r-- 8,103 bytes parent folder | download | duplicates (3)
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Author: Michael Banck <mbanck@debian.org>
Description: Give the libraries some kind of soname.
 Unfortunately we need to fiddle with the build scripts itself
 to fix linkages! Remember this when you add more libraries.
 Link the tools to the shared libraries of indigo. Don't include
 local header copies of system wide installed libraries.

Index: indigo/api/python/indigo.py
===================================================================
--- indigo.orig/api/python/indigo.py
+++ indigo/api/python/indigo.py
@@ -1268,14 +1268,8 @@ class Indigo(object):
             path = dirname + '/lib'
         if os.name == 'posix' and not platform.mac_ver()[0] and not platform.system().startswith("CYGWIN"):
             arch = platform.architecture()[0]
-            path += "/Linux"
-            if arch == '32bit':
-                path += "/x86"
-            elif arch == '64bit':
-                path += "/x64"
-            else:
-                raise IndigoException("unknown platform " + arch)
-            Indigo._lib = CDLL(path + "/libindigo.so", mode=RTLD_GLOBAL)
+            path = "/usr/lib"
+            Indigo._lib = CDLL(path + "/libindigo.so.0d", mode=RTLD_GLOBAL)
         elif os.name == 'nt' or platform.system().startswith("CYGWIN"):
             arch = platform.architecture()[0]
             path += "/Win"
Index: indigo/api/plugins/renderer/python/indigo_renderer.py
===================================================================
--- indigo.orig/api/plugins/renderer/python/indigo_renderer.py
+++ indigo/api/plugins/renderer/python/indigo_renderer.py
@@ -19,7 +19,7 @@ class IndigoRenderer(object):
         self.indigo = indigo
 
         if os.name == 'posix' and not platform.mac_ver()[0] and not platform.system().startswith("CYGWIN"):
-            self._lib = CDLL(indigo.dllpath + "/libindigo-renderer.so")
+            self._lib = CDLL(indigo.dllpath + "/libindigo-renderer.so.0d")
         elif os.name == 'nt' or platform.system().startswith("CYGWIN"):
             self._lib = CDLL(indigo.dllpath + "\indigo-renderer.dll")
         elif platform.mac_ver()[0]:
Index: indigo/api/plugins/renderer/java/src/main/java/com/epam/indigo/IndigoRenderer.java
===================================================================
--- indigo.orig/api/plugins/renderer/java/src/main/java/com/epam/indigo/IndigoRenderer.java
+++ indigo/api/plugins/renderer/java/src/main/java/com/epam/indigo/IndigoRenderer.java
@@ -107,7 +107,7 @@ public class IndigoRenderer
       int os = Indigo.getOs();
 
       if (os == Indigo.OS_LINUX || os == Indigo.OS_SOLARIS)
-         _lib = (IndigoRendererLib)Native.loadLibrary(getPathToBinary(path, "libindigo-renderer.so"), IndigoRendererLib.class);
+         _lib = (IndigoRendererLib)Native.loadLibrary(getPathToBinary(path, "libindigo-renderer.so.0d"), IndigoRendererLib.class);
       else if (os == Indigo.OS_MACOS)
          _lib = (IndigoRendererLib)Native.loadLibrary(getPathToBinary(path, "libindigo-renderer.dylib"), IndigoRendererLib.class);
       else // os == OS_WINDOWS
Index: indigo/api/java/src/main/java/com/epam/indigo/Indigo.java
===================================================================
--- indigo.orig/api/java/src/main/java/com/epam/indigo/Indigo.java
+++ indigo/api/java/src/main/java/com/epam/indigo/Indigo.java
@@ -243,7 +243,7 @@ public class Indigo {
             return;
 
         if (_os == OS_LINUX || _os == OS_SOLARIS)
-            _lib = (IndigoLib) Native.loadLibrary(getPathToBinary(path, "libindigo.so"), IndigoLib.class);
+            _lib = (IndigoLib) Native.loadLibrary(getPathToBinary(path, "libindigo.so.0d"), IndigoLib.class);
         else if (_os == OS_MACOS)
             _lib = (IndigoLib) Native.loadLibrary(getPathToBinary(path, "libindigo.dylib"), IndigoLib.class);
         else // _os == OS_WINDOWS
@@ -363,13 +363,7 @@ public class Indigo {
             else
                 path += "sparc64";
         } else {
-            String archstr = System.getProperty("os.arch");
-            if (archstr.equals("x86") || archstr.equals("i386"))
-                path += "x86";
-            else if (archstr.equals("x86_64") || archstr.equals("amd64"))
-                path += "x64";
-            else
-                throw new Error("architecture not recognized");
+            path = "/usr/lib";
         }
 
         return path;
Index: indigo/api/CMakeLists.txt
===================================================================
--- indigo.orig/api/CMakeLists.txt
+++ indigo/api/CMakeLists.txt
@@ -36,6 +36,7 @@ endif()
 add_library(indigo-shared SHARED $<TARGET_OBJECTS:indigoObj> $<TARGET_OBJECTS:graph> $<TARGET_OBJECTS:layout> $<TARGET_OBJECTS:molecule> $<TARGET_OBJECTS:common> $<TARGET_OBJECTS:reaction> ${Common_SOURCE_DIR}/hacks/memcpy.c)
 
 SET_TARGET_PROPERTIES(indigo-shared PROPERTIES OUTPUT_NAME "indigo")
+SET_TARGET_PROPERTIES(indigo-shared PROPERTIES SOVERSION "0d")
 set_target_properties(indigo-shared PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS}")
 if (APPLE)
     set_target_properties(indigo-shared PROPERTIES LINK_FLAGS "${LINK_FLAGS} -undefined dynamic_lookup")
Index: indigo/api/plugins/renderer/CMakeLists.txt
===================================================================
--- indigo.orig/api/plugins/renderer/CMakeLists.txt
+++ indigo/api/plugins/renderer/CMakeLists.txt
@@ -7,7 +7,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PAT
 file (GLOB IndigoRenderer_src src/*.c*)
 file (GLOB IndigoRenderer_headers *.h src/*.h*)
 
-include_directories(${IndigoRenderer_SOURCE_DIR} ${Indigo_SOURCE_DIR} ${Indigo_SOURCE_DIR}/src ${Cairo_SOURCE_DIR} ${Common_SOURCE_DIR} ${Common_SOURCE_DIR}/..)
+include_directories(${IndigoRenderer_SOURCE_DIR} ${Indigo_SOURCE_DIR} ${Indigo_SOURCE_DIR}/src ${Cairo_headers_dir} ${Common_SOURCE_DIR} ${Common_SOURCE_DIR}/..)
 include(DefineTest)
 
 add_library(indigo-renderer-Obj OBJECT ${IndigoRenderer_src} ${IndigoRenderer_headers})
@@ -48,6 +48,7 @@ endif()
 # Indigo Renderer shared
 add_library(indigo-renderer-shared SHARED $<TARGET_OBJECTS:render2d> $<TARGET_OBJECTS:indigo-renderer-Obj> ${Common_SOURCE_DIR}/hacks/memcpy.c)
 SET_TARGET_PROPERTIES(indigo-renderer-shared PROPERTIES OUTPUT_NAME "indigo-renderer")
+SET_TARGET_PROPERTIES(indigo-renderer-shared PROPERTIES SOVERSION  "0d")
 if (MSVC OR MINGW)
 	set_target_properties(indigo-renderer-shared PROPERTIES PREFIX "")
 endif()
Index: indigo/utils/indigo-cano/CMakeLists.txt
===================================================================
--- indigo.orig/utils/indigo-cano/CMakeLists.txt
+++ indigo/utils/indigo-cano/CMakeLists.txt
@@ -6,7 +6,7 @@ include(DefineTest)
 include_directories(../../api)
 
 add_executable(indigo-cano main.c)
-target_link_libraries(indigo-cano indigo)
+target_link_libraries(indigo-cano indigo-shared)
 if (UNIX)
     set_target_properties(indigo-cano PROPERTIES LINK_FLAGS "-pthread")
 endif()
Index: indigo/utils/indigo-deco/CMakeLists.txt
===================================================================
--- indigo.orig/utils/indigo-deco/CMakeLists.txt
+++ indigo/utils/indigo-deco/CMakeLists.txt
@@ -6,7 +6,7 @@ include(DefineTest)
 include_directories(../../api ../../common)
 
 add_executable(indigo-deco main.c)
-target_link_libraries(indigo-deco indigo)
+target_link_libraries(indigo-deco indigo-shared)
 if (UNIX)
     set_target_properties(indigo-deco PROPERTIES LINK_FLAGS "-pthread")
 endif()
Index: indigo/utils/indigo-depict/CMakeLists.txt
===================================================================
--- indigo.orig/utils/indigo-depict/CMakeLists.txt
+++ indigo/utils/indigo-depict/CMakeLists.txt
@@ -17,7 +17,7 @@ if(APPLE)
 	target_link_libraries(indigo-depict ${FRAMEWORK_ApplicationServices})
 	SET_TARGET_PROPERTIES(indigo-depict PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Xlinker -framework -Xlinker ApplicationServices")
 endif()
-target_link_libraries(indigo-depict indigo-renderer indigo cairo png pixman)
+target_link_libraries(indigo-depict indigo-shared indigo-renderer-shared indigo cairo png pixman-1)
 if (UNIX)
     set_target_properties(indigo-depict PROPERTIES LINK_FLAGS "-pthread")
 endif()