- Add 0001-build-extend-extern-C-block-in-header-files.patch

OBS-URL: https://build.opensuse.org/package/show/science/cddlib?expand=0&rev=23
This commit is contained in:
Jan Engelhardt 2020-09-19 11:07:12 +00:00 committed by Git OBS Bridge
parent 7cd01e5840
commit 15fea7d9b5
2 changed files with 71 additions and 0 deletions

View File

@ -0,0 +1,70 @@
From 1412ca0120841c7f8a83633c5dc857add060445f Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sat, 19 Sep 2020 13:03:18 +0200
Subject: [PATCH] build: extend "extern C" block in header files
Upstream: https://github.com/cddlib/cddlib/pull/46
I am getting compile errors in sympol when I try to remove
their extern "C" hack:
extern "C" {
#include <cddlib/cdd.h>
}
Turns out this is because cdd's own extern C are not broad enough.
---
lib-src/cdd.h | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/lib-src/cdd.h b/lib-src/cdd.h
index ebc52cc..d78d5d1 100644
--- a/lib-src/cdd.h
+++ b/lib-src/cdd.h
@@ -35,6 +35,10 @@ extern mytype dd_purezero;
extern mytype dd_minuszero;
extern mytype dd_minusone;
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
extern time_t dd_statStartTime; /* cddlib starting time */
extern long dd_statBApivots; /* basis finding pivots */
extern long dd_statCCpivots; /* criss-cross pivots */
@@ -53,10 +57,6 @@ extern dd_boolean dd_choiceLexicoPivotQ; /* whether to use the lexicographic
/* ---------- FUNCTIONS MEANT TO BE PUBLIC ---------- */
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
/* basic matrix manipulations */
void dd_InitializeArow(dd_colrange,dd_Arow *);
void dd_InitializeAmatrix(dd_rowrange,dd_colrange,dd_Amatrix *);
@@ -211,10 +211,6 @@ void dd_WriteLPMode(FILE *f);
dd_MatrixPtr dd_FourierElimination(dd_MatrixPtr,dd_ErrorType *);
dd_MatrixPtr dd_BlockElimination(dd_MatrixPtr, dd_colset, dd_ErrorType *);
-#if defined(__cplusplus)
-}
-#endif
-
/* ---------- FUNCTIONS MEANT TO BE NON-PUBLIC ---------- */
void dd_QuickSort(dd_rowindex, long, long, dd_Amatrix, long);
void dd_RandomPermutation(dd_rowindex, long, unsigned int seed);
@@ -285,8 +281,8 @@ dd_PolyhedraPtr dd_CreatePolyhedraData(dd_rowrange, dd_colrange);
dd_boolean dd_InitializeConeData(dd_rowrange, dd_colrange, dd_ConePtr*);
dd_boolean dd_AppendMatrix2Poly(dd_PolyhedraPtr*, dd_MatrixPtr);
-
-
-
+#if defined(__cplusplus)
+}
+#endif
/* end of cddlib.h */
--
2.28.0

View File

@ -5,6 +5,7 @@ Sat Sep 19 09:18:52 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
* Header files are now installed to PREFIX/include/cddlib to
avoid clashes with other libraries.
* pkg-config cddlib.pc file added.
- Add 0001-build-extend-extern-C-block-in-header-files.patch
-------------------------------------------------------------------
Sat Oct 20 11:41:09 UTC 2018 - Jan Engelhardt <jengelh@inai.de>