diff options
| author | Philipp Janda <siffiejoe@gmx.net> | 2015-09-07 17:28:28 +0200 |
|---|---|---|
| committer | Philipp Janda <siffiejoe@gmx.net> | 2015-09-07 17:28:28 +0200 |
| commit | 59a1fd7d73909540f090a45f18d7ea12198511b2 (patch) | |
| tree | 204c2de58bcd5b494db6f6cd5f09e9edcdf338fd | |
| parent | e7b17a6e784df665b7645ae6f8cfd631f49118d2 (diff) | |
| download | lua-compat-5.3-59a1fd7d73909540f090a45f18d7ea12198511b2.tar.gz lua-compat-5.3-59a1fd7d73909540f090a45f18d7ea12198511b2.tar.bz2 lua-compat-5.3-59a1fd7d73909540f090a45f18d7ea12198511b2.zip | |
Fix linker problems when compiling as C++.
When compiling compat-5.3.c as C++, the Lua symbols may still have
C-linkage. Reference those symbols as `extern "C"` by default and add an
option for normal (C++) linkage.
| -rw-r--r-- | c-api/compat-5.3.c | 2 | ||||
| -rw-r--r-- | c-api/compat-5.3.h | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/c-api/compat-5.3.c b/c-api/compat-5.3.c index 8385bba..34b8001 100644 --- a/c-api/compat-5.3.c +++ b/c-api/compat-5.3.c | |||
| @@ -3,8 +3,6 @@ | |||
| 3 | #include <string.h> | 3 | #include <string.h> |
| 4 | #include <ctype.h> | 4 | #include <ctype.h> |
| 5 | #include <errno.h> | 5 | #include <errno.h> |
| 6 | #include <lua.h> | ||
| 7 | #include <lauxlib.h> | ||
| 8 | #include "compat-5.3.h" | 6 | #include "compat-5.3.h" |
| 9 | 7 | ||
| 10 | /* don't compile it again if it already is included via compat53.h */ | 8 | /* don't compile it again if it already is included via compat53.h */ |
diff --git a/c-api/compat-5.3.h b/c-api/compat-5.3.h index e3bbb11..3f1cacc 100644 --- a/c-api/compat-5.3.h +++ b/c-api/compat-5.3.h | |||
| @@ -4,8 +4,14 @@ | |||
| 4 | #include <stddef.h> | 4 | #include <stddef.h> |
| 5 | #include <limits.h> | 5 | #include <limits.h> |
| 6 | #include <string.h> | 6 | #include <string.h> |
| 7 | #if defined( __cplusplus ) && !defined( COMPAT53_LUA_CPP ) | ||
| 8 | extern "C" { | ||
| 9 | #endif | ||
| 7 | #include <lua.h> | 10 | #include <lua.h> |
| 8 | #include <lauxlib.h> | 11 | #include <lauxlib.h> |
| 12 | #if defined( __cplusplus ) && !defined( COMPAT53_LUA_CPP ) | ||
| 13 | } | ||
| 14 | #endif | ||
| 9 | 15 | ||
| 10 | 16 | ||
| 11 | #if defined(COMPAT53_PREFIX) | 17 | #if defined(COMPAT53_PREFIX) |
