[sword-devel] abi-compliance-checker patch

Daniel Glassey dglassey at gmail.com
Sat Sep 5 12:51:55 MST 2015


Hiya,

I''m finally back to helping with the Debian packaging again.

It would be good to use abi-compliance-checker to check when a new library
version is used (I've seen in the list archives that people have used it
before).

Recent sword releases fail with it because it tries to compile a test file
including all the header files in alphabetical order. But some headers
assume that other headers are included before them.

The attached patches just add some includes and explicit namespace usage to
get it to compile and be usable.

abicompare.diff is for 1.7.x
abicompare-svn.diff is for svn

Please consider it for both

Thanks,
Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20150905/5628b24e/attachment.html>
-------------- next part --------------
Index: include/canon_abbrevs.h
===================================================================
--- include/canon_abbrevs.h	2013-08-22 08:03:11.000000000 +0100
+++ include/canon_abbrevs.h	2015-09-03 07:00:52.709829136 +0100
@@ -24,6 +24,8 @@
 #ifndef CANON_ABBREVS_H
 #define CANON_ABBREVS_H
 
+#include <versificationmgr.h>
+
 SWORD_NAMESPACE_START
 
 
Index: sword/include/femain.h
===================================================================
--- include/femain.h	2015-09-03 07:52:46.497269566 +0100
+++ include/femain.h	2015-09-03 07:57:23.730644294 +0100
@@ -23,12 +23,15 @@
 #ifndef FEMAIN_H
 #define FEMAIN_H
 
+#include <list>
+#include <swdisp.h>
+
 class FEMain
 {
 public:
   FEMain ();
   virtual ~FEMain ();
-  list < SWDisplay * >displays;	// so we can delete each display we create
+  std::list < sword::SWDisplay * >displays;	// so we can delete each display we create
 };
 
 #endif
Index: sword/include/hebrewmcim.h
===================================================================
--- include/hebrewmcim.h	2013-06-29 07:40:28.000000000 +0100
+++ include/hebrewmcim.h	2015-09-03 07:49:51.896403768 +0100
@@ -42,8 +42,8 @@
 
     void init();
     int subst[255];
-    map<int, int> subst2[12];
-    map<int, int*> multiChars;
+    std::map<int, int> subst2[12];
+    std::map<int, int*> multiChars;
 
 public:
     HebrewMCIM();
Index: sword/include/sapphire.h
===================================================================
--- include/sapphire.h	2013-06-29 07:40:28.000000000 +0100
+++ include/sapphire.h	2015-09-03 07:50:55.180717576 +0100
@@ -37,6 +37,9 @@
  * results of assignments need to be reduced to 8 bits with
  * & 0xFF or % 0x100, whichever is faster.
  */  
+
+#ifndef SAPPHIRE_H
+#define SAPPHIRE_H
   
 #ifndef NULL
 #define NULL 0
@@ -80,3 +83,5 @@
 
 
 SWORD_NAMESPACE_END
+
+#endif //SAPPHIRE_H
Index: sword/include/zcom.h
===================================================================
--- include/zcom.h	2013-06-29 07:40:28.000000000 +0100
+++ include/zcom.h	2015-09-03 07:31:44.063009491 +0100
@@ -25,6 +25,7 @@
 #define ZCOM_H
 
 #include <swcom.h>
+#include <zverse.h>
 
 #include <defs.h>
 
-------------- next part --------------
Index: include/canon_abbrevs.h
===================================================================
--- include/canon_abbrevs.h	(revision 3388)
+++ include/canon_abbrevs.h	(working copy)
@@ -24,6 +24,8 @@
 #ifndef CANON_ABBREVS_H
 #define CANON_ABBREVS_H
 
+#include <versificationmgr.h>
+
 SWORD_NAMESPACE_START
 
 
Index: include/femain.h
===================================================================
--- include/femain.h	(revision 3388)
+++ include/femain.h	(working copy)
@@ -23,12 +23,15 @@
 #ifndef FEMAIN_H
 #define FEMAIN_H
 
+#include <list>
+#include <swdisp.h>
+
 class FEMain
 {
 public:
   FEMain ();
   virtual ~FEMain ();
-  list < SWDisplay * >displays;	// so we can delete each display we create
+  std::list < sword::SWDisplay * >displays;	// so we can delete each display we create
 };
 
 #endif
Index: include/hebrewmcim.h
===================================================================
--- include/hebrewmcim.h	(revision 3388)
+++ include/hebrewmcim.h	(working copy)
@@ -42,8 +42,8 @@
 
     void init();
     int subst[255];
-    map<int, int> subst2[12];
-    map<int, int*> multiChars;
+    std::map<int, int> subst2[12];
+    std::map<int, int*> multiChars;
 
 public:
     HebrewMCIM();
Index: include/sapphire.h
===================================================================
--- include/sapphire.h	(revision 3388)
+++ include/sapphire.h	(working copy)
@@ -37,6 +37,9 @@
  * results of assignments need to be reduced to 8 bits with
  * & 0xFF or % 0x100, whichever is faster.
  */  
+
+#ifndef SAPPHIRE_H
+#define SAPPHIRE_H
   
 #ifndef NULL
 #define NULL 0
@@ -80,3 +83,5 @@
 
 
 SWORD_NAMESPACE_END
+
+#endif //SAPPHIRE_H
Index: include/zcom.h
===================================================================
--- include/zcom.h	(revision 3388)
+++ include/zcom.h	(working copy)
@@ -25,6 +25,7 @@
 #define ZCOM_H
 
 #include <swcom.h>
+#include <zverse.h>
 
 #include <defs.h>
 
Index: include/zcom4.h
===================================================================
--- include/zcom4.h	(revision 3388)
+++ include/zcom4.h	(working copy)
@@ -25,6 +25,7 @@
 #define ZCOM4_H
 
 #include <swcom.h>
+#include <zverse4.h>
 
 #include <defs.h>
 


More information about the sword-devel mailing list