From 1ecb7eaeafad60604ecb04adb25952dba6f40765 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Thu, 8 Nov 2012 11:25:20 -0500
Subject: [PATCH] Fixes issues with multiple files defining CELT_C

---
 celt/celt_decoder.c   | 3 +--
 celt/celt_encoder.c   | 3 +--
 include/opus_custom.h | 6 +++---
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c
index 4303f04fb..9646b612d 100644
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -31,8 +31,7 @@
 #include "config.h"
 #endif
 
-#define CELT_C
-#define DECODER
+#define CELT_DECODER_C
 
 #include "os_support.h"
 #include "mdct.h"
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index b2d5df197..ea94975da 100644
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -31,8 +31,7 @@
 #include "config.h"
 #endif
 
-#define CELT_C
-#define ENCODER
+#define CELT_ENCODER_C
 
 #include "os_support.h"
 #include "mdct.h"
diff --git a/include/opus_custom.h b/include/opus_custom.h
index 8415a7b9a..6cf396307 100644
--- a/include/opus_custom.h
+++ b/include/opus_custom.h
@@ -46,7 +46,7 @@ extern "C" {
 # define OPUS_CUSTOM_EXPORT_STATIC OPUS_EXPORT
 #else
 # define OPUS_CUSTOM_EXPORT
-# ifdef CELT_C
+# ifdef OPUS_BUILD
 #  define OPUS_CUSTOM_EXPORT_STATIC static inline
 # else
 #  define OPUS_CUSTOM_EXPORT_STATIC
@@ -127,7 +127,7 @@ OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomMode *opus_custom_mode_crea
 OPUS_CUSTOM_EXPORT void opus_custom_mode_destroy(OpusCustomMode *mode);
 
 
-#if defined(CELT_C) && defined(ENCODER)
+#if !defined(OPUS_BUILD) || defined(CELT_ENCODER_C)
 
 /* Encoder */
 /** Gets the size of an OpusCustomEncoder structure.
@@ -237,7 +237,7 @@ OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode(
 OPUS_CUSTOM_EXPORT int opus_custom_encoder_ctl(OpusCustomEncoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1);
 
 
-#if defined(CELT_C) && defined(DECODER)
+#if !defined(OPUS_BUILD) || defined(CELT_DECODER_C)
 /* Decoder */
 
 /** Gets the size of an OpusCustomDecoder structure.
-- 
GitLab