diff options
| author | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-10-15 09:44:34 +0000 |
|---|---|---|
| committer | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-10-15 09:44:34 +0000 |
| commit | dff377a741ec87f8737002cf112ae12655881777 (patch) | |
| tree | 24fec645259014dc1e60f393d5d39c2b36aa603c /src/lib/openjp3d | |
| parent | b24cf8d1574c00915c568314d3e0e011ca77ba89 (diff) | |
[trunk] Fix compilation:
- using mingw32 compiler (missing exported symbols)
- using -fvisibility=hidden (gcc on UNIX)
Diffstat (limited to 'src/lib/openjp3d')
| -rw-r--r-- | src/lib/openjp3d/CMakeLists.txt | 37 | ||||
| -rwxr-xr-x | src/lib/openjp3d/openjp3d.c | 1 | ||||
| -rwxr-xr-x | src/lib/openjp3d/openjp3d.h | 8 | ||||
| -rwxr-xr-x | src/lib/openjp3d/volume.c | 2 |
4 files changed, 32 insertions, 16 deletions
diff --git a/src/lib/openjp3d/CMakeLists.txt b/src/lib/openjp3d/CMakeLists.txt index 5f92d7aa..8f034ffe 100644 --- a/src/lib/openjp3d/CMakeLists.txt +++ b/src/lib/openjp3d/CMakeLists.txt @@ -1,37 +1,42 @@ +# openjp3d +include_regular_expression("^.*$") -INCLUDE_REGULAR_EXPRESSION("^.*$") +include_directories( + ${OPENJPEG_BINARY_DIR}/src/lib/openjp2 # opj_config.h + ) SET(OPENJP3D_LIBRARY_NAME openjp3d) # Defines the source code for the library SET(OPENJP3D_SRCS -bio.c cio.c dwt.c event.c jp3d.c jp3d_lib.c mct.c mqc.c openjp3d.c pi.c raw.c t1.c t1_3d.c t2.c tcd.c tgt.c volume.c +bio.c cio.c dwt.c event.c jp3d.c jp3d_lib.c mct.c mqc.c openjp3d.c +pi.c raw.c t1.c t1_3d.c t2.c tcd.c tgt.c volume.c ) # Build the library -IF(WIN32) - IF(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_EXPORTS) - ELSE(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DOPJ_STATIC) - ENDIF(BUILD_SHARED_LIBS) -ENDIF(WIN32) +if(WIN32) + if(BUILD_SHARED_LIBS) + add_definitions(-DOPJ_EXPORTS) + else() + add_definitions(-DOPJ_STATIC) + endif() +endif() # build jp3d lib: -ADD_LIBRARY(${OPENJP3D_LIBRARY_NAME} ${OPENJP3D_SRCS}) -IF(UNIX) - TARGET_LINK_LIBRARIES(${OPENJP3D_LIBRARY_NAME} m) -ENDIF(UNIX) -SET_TARGET_PROPERTIES(${OPENJP3D_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) +add_library(${OPENJP3D_LIBRARY_NAME} ${OPENJP3D_SRCS}) +if(UNIX) + target_link_libraries(${OPENJP3D_LIBRARY_NAME} m) +endif() +set_target_properties(${OPENJP3D_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES}) # Install library -INSTALL(TARGETS ${OPENJP3D_LIBRARY_NAME} +install(TARGETS ${OPENJP3D_LIBRARY_NAME} EXPORT OpenJP3DTargets DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries ) # Install includes files -INSTALL(FILES openjp3d.h +install(FILES openjp3d.h DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR} COMPONENT Headers ) diff --git a/src/lib/openjp3d/openjp3d.c b/src/lib/openjp3d/openjp3d.c index ab2744e1..c1f3c44f 100755 --- a/src/lib/openjp3d/openjp3d.c +++ b/src/lib/openjp3d/openjp3d.c @@ -30,6 +30,7 @@ #endif /* _WIN32 */
#include "opj_includes.h"
+#include "openjp3d.h"
#define JP3D_VERSION "1.3.0"
/* ---------------------------------------------------------------------- */
#ifdef _WIN32
diff --git a/src/lib/openjp3d/openjp3d.h b/src/lib/openjp3d/openjp3d.h index e6829d91..d7ac42da 100755 --- a/src/lib/openjp3d/openjp3d.h +++ b/src/lib/openjp3d/openjp3d.h @@ -38,10 +38,18 @@ */
#if defined(OPJ_STATIC) || !defined(_WIN32)
+/* http://gcc.gnu.org/wiki/Visibility */
+#if __GNUC__ >= 4
+#define OPJ_API __attribute__ ((visibility ("default")))
+#define OPJ_LOCAL __attribute__ ((visibility ("hidden")))
+#else
#define OPJ_API
+#define OPJ_LOCAL
+#endif
#define OPJ_CALLCONV
#else
#define OPJ_CALLCONV __stdcall
+
/*
The following ifdef block is the standard way of creating macros which make exporting
from a DLL simpler. All files within this DLL are compiled with the OPJ_EXPORTS
diff --git a/src/lib/openjp3d/volume.c b/src/lib/openjp3d/volume.c index 5b9f1808..065a7a34 100755 --- a/src/lib/openjp3d/volume.c +++ b/src/lib/openjp3d/volume.c @@ -25,6 +25,8 @@ */
#include "opj_includes.h"
+#include "volume.h"
+#include "openjp3d.h"
opj_volume_t* OPJ_CALLCONV opj_volume_create(int numcmpts, opj_volume_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc) {
int compno;
|
