AC_CONFIG_HEADERS(config/config.h)
LT_INIT
-
+gl_VISIBILITY
AM_INIT_AUTOMAKE
# Checks for programs.
AC_CONFIG_FILES([Makefile \
src/Makefile \
tests/Makefile])
-
AC_OUTPUT
TARGET_LINK_LIBRARIES(sz aec)
IF(WIN32 AND BUILD_SHARED_LIBS)
- SET_TARGET_PROPERTIES (aec PROPERTIES DEFINE_SYMBOL "AECDLL_EXPORTS")
- SET_TARGET_PROPERTIES (sz PROPERTIES DEFINE_SYMBOL "AECDLL_EXPORTS")
+ SET_TARGET_PROPERTIES (aec PROPERTIES DEFINE_SYMBOL "BUILDING_LIBAEC")
+ SET_TARGET_PROPERTIES (sz PROPERTIES DEFINE_SYMBOL "BUILDING_LIBAEC")
SET_TARGET_PROPERTIES(sz PROPERTIES OUTPUT_NAME "szip")
ENDIF(WIN32 AND BUILD_SHARED_LIBS)
+AM_CFLAGS = @CFLAG_VISIBILITY@
+AM_CPPFLAGS = -DBUILDING_LIBAEC
lib_LTLIBRARIES = libaec.la libsz.la
libaec_la_SOURCES = encode.c encode_accessors.c decode.c \
encode.h encode_accessors.h decode.h
#include <stdlib.h>
#include <string.h>
-#include "libaec.h"
#include "decode.h"
+#include "libaec.h"
#if HAVE_BSR64
# include <intrin.h>
#define MIN(a, b) (((a) < (b))? (a): (b))
+struct aec_stream;
+
struct internal_state {
int (*mode)(struct aec_stream *);
#include <stdlib.h>
#include <string.h>
-#include "libaec.h"
#include "encode.h"
#include "encode_accessors.h"
+#include "libaec.h"
static int m_get_block(struct aec_stream *strm);
/* Marker for Remainder Of Segment condition in zero block encoding */
#define ROS -1
+struct aec_stream;
+
struct internal_state {
int (*mode)(struct aec_stream *);
uint32_t (*get_sample)(struct aec_stream *);
#include <stddef.h>
-#if _WIN32
-# ifdef AECDLL_EXPORTS
-# define AEC_SCOPE __declspec(dllexport)
-# else
-# define AEC_SCOPE extern __declspec(dllimport)
-# endif
+#if BUILDING_LIBAEC && HAVE_VISIBILITY
+# define LIBAEC_DLL_EXPORTED __attribute__((__visibility__("default")))
+#elif BUILDING_LIBAEC && defined _MSC_VER
+# define LIBAEC_DLL_EXPORTED __declspec(dllexport)
+#elif defined _MSC_VER
+# define LIBAEC_DLL_EXPORTED __declspec(dllimport)
#else
-# define AEC_SCOPE extern
+# define LIBAEC_DLL_EXPORTED
#endif
struct internal_state;
/*********************************************/
/* Streaming encoding and decoding functions */
/*********************************************/
-AEC_SCOPE int aec_encode_init(struct aec_stream *strm);
-AEC_SCOPE int aec_encode(struct aec_stream *strm, int flush);
-AEC_SCOPE int aec_encode_end(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_encode_init(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_encode(struct aec_stream *strm, int flush);
+LIBAEC_DLL_EXPORTED int aec_encode_end(struct aec_stream *strm);
-AEC_SCOPE int aec_decode_init(struct aec_stream *strm);
-AEC_SCOPE int aec_decode(struct aec_stream *strm, int flush);
-AEC_SCOPE int aec_decode_end(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_decode_init(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_decode(struct aec_stream *strm, int flush);
+LIBAEC_DLL_EXPORTED int aec_decode_end(struct aec_stream *strm);
/***************************************************************/
/* Utility functions for encoding or decoding a memory buffer. */
/***************************************************************/
-AEC_SCOPE int aec_buffer_encode(struct aec_stream *strm);
-AEC_SCOPE int aec_buffer_decode(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_buffer_encode(struct aec_stream *strm);
+LIBAEC_DLL_EXPORTED int aec_buffer_decode(struct aec_stream *strm);
#endif /* LIBAEC_H */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "szlib.h"
-
#if HAVE_CONFIG_H
# include <config.h>
#endif
+#include "szlib.h"
#define NOPTS 129
#define MIN(a, b) (((a) < (b))? (a): (b))
int pixels_per_scanline;
} SZ_com_t;
-AEC_SCOPE int SZ_BufftoBuffCompress(void *dest, size_t *destLen,
- const void *source, size_t sourceLen,
- SZ_com_t *param);
-AEC_SCOPE int SZ_BufftoBuffDecompress(void *dest, size_t *destLen,
- const void *source, size_t sourceLen,
- SZ_com_t *param);
-
-AEC_SCOPE int SZ_encoder_enabled(void);
+LIBAEC_DLL_EXPORTED int SZ_BufftoBuffCompress(
+ void *dest, size_t *destLen,
+ const void *source, size_t sourceLen,
+ SZ_com_t *param);
+LIBAEC_DLL_EXPORTED int SZ_BufftoBuffDecompress(
+ void *dest, size_t *destLen,
+ const void *source, size_t sourceLen,
+ SZ_com_t *param);
+
+LIBAEC_DLL_EXPORTED int SZ_encoder_enabled(void);
#endif /* SZLIB_H */