Commit 459aa6b4 authored by Mathis Rosenhauer's avatar Mathis Rosenhauer

Add gcc visibility only for API functions

parent 97331a01
...@@ -7,7 +7,7 @@ AC_CONFIG_SRCDIR([src/libaec.h]) ...@@ -7,7 +7,7 @@ AC_CONFIG_SRCDIR([src/libaec.h])
AC_CONFIG_HEADERS(config/config.h) AC_CONFIG_HEADERS(config/config.h)
LT_INIT LT_INIT
gl_VISIBILITY
AM_INIT_AUTOMAKE AM_INIT_AUTOMAKE
# Checks for programs. # Checks for programs.
...@@ -35,5 +35,4 @@ AM_EXTRA_RECURSIVE_TARGETS([bench benc bdec]) ...@@ -35,5 +35,4 @@ AM_EXTRA_RECURSIVE_TARGETS([bench benc bdec])
AC_CONFIG_FILES([Makefile \ AC_CONFIG_FILES([Makefile \
src/Makefile \ src/Makefile \
tests/Makefile]) tests/Makefile])
AC_OUTPUT AC_OUTPUT
...@@ -10,8 +10,8 @@ SET_TARGET_PROPERTIES(sz PROPERTIES ...@@ -10,8 +10,8 @@ SET_TARGET_PROPERTIES(sz PROPERTIES
TARGET_LINK_LIBRARIES(sz aec) TARGET_LINK_LIBRARIES(sz aec)
IF(WIN32 AND BUILD_SHARED_LIBS) IF(WIN32 AND BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES (aec PROPERTIES DEFINE_SYMBOL "AECDLL_EXPORTS") SET_TARGET_PROPERTIES (aec PROPERTIES DEFINE_SYMBOL "BUILDING_LIBAEC")
SET_TARGET_PROPERTIES (sz PROPERTIES DEFINE_SYMBOL "AECDLL_EXPORTS") SET_TARGET_PROPERTIES (sz PROPERTIES DEFINE_SYMBOL "BUILDING_LIBAEC")
SET_TARGET_PROPERTIES(sz PROPERTIES OUTPUT_NAME "szip") SET_TARGET_PROPERTIES(sz PROPERTIES OUTPUT_NAME "szip")
ENDIF(WIN32 AND BUILD_SHARED_LIBS) ENDIF(WIN32 AND BUILD_SHARED_LIBS)
......
AM_CFLAGS = @CFLAG_VISIBILITY@
AM_CPPFLAGS = -DBUILDING_LIBAEC
lib_LTLIBRARIES = libaec.la libsz.la lib_LTLIBRARIES = libaec.la libsz.la
libaec_la_SOURCES = encode.c encode_accessors.c decode.c \ libaec_la_SOURCES = encode.c encode_accessors.c decode.c \
encode.h encode_accessors.h decode.h encode.h encode_accessors.h decode.h
......
...@@ -52,8 +52,8 @@ ...@@ -52,8 +52,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "libaec.h"
#include "decode.h" #include "decode.h"
#include "libaec.h"
#if HAVE_BSR64 #if HAVE_BSR64
# include <intrin.h> # include <intrin.h>
......
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
#define MIN(a, b) (((a) < (b))? (a): (b)) #define MIN(a, b) (((a) < (b))? (a): (b))
struct aec_stream;
struct internal_state { struct internal_state {
int (*mode)(struct aec_stream *); int (*mode)(struct aec_stream *);
......
...@@ -52,9 +52,9 @@ ...@@ -52,9 +52,9 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "libaec.h"
#include "encode.h" #include "encode.h"
#include "encode_accessors.h" #include "encode_accessors.h"
#include "libaec.h"
static int m_get_block(struct aec_stream *strm); static int m_get_block(struct aec_stream *strm);
......
...@@ -68,6 +68,8 @@ ...@@ -68,6 +68,8 @@
/* Marker for Remainder Of Segment condition in zero block encoding */ /* Marker for Remainder Of Segment condition in zero block encoding */
#define ROS -1 #define ROS -1
struct aec_stream;
struct internal_state { struct internal_state {
int (*mode)(struct aec_stream *); int (*mode)(struct aec_stream *);
uint32_t (*get_sample)(struct aec_stream *); uint32_t (*get_sample)(struct aec_stream *);
......
...@@ -52,14 +52,14 @@ ...@@ -52,14 +52,14 @@
#include <stddef.h> #include <stddef.h>
#if _WIN32 #if BUILDING_LIBAEC && HAVE_VISIBILITY
# ifdef AECDLL_EXPORTS # define LIBAEC_DLL_EXPORTED __attribute__((__visibility__("default")))
# define AEC_SCOPE __declspec(dllexport) #elif BUILDING_LIBAEC && defined _MSC_VER
# else # define LIBAEC_DLL_EXPORTED __declspec(dllexport)
# define AEC_SCOPE extern __declspec(dllimport) #elif defined _MSC_VER
# endif # define LIBAEC_DLL_EXPORTED __declspec(dllimport)
#else #else
# define AEC_SCOPE extern # define LIBAEC_DLL_EXPORTED
#endif #endif
struct internal_state; struct internal_state;
...@@ -151,18 +151,18 @@ struct aec_stream { ...@@ -151,18 +151,18 @@ struct aec_stream {
/*********************************************/ /*********************************************/
/* Streaming encoding and decoding functions */ /* Streaming encoding and decoding functions */
/*********************************************/ /*********************************************/
AEC_SCOPE int aec_encode_init(struct aec_stream *strm); LIBAEC_DLL_EXPORTED int aec_encode_init(struct aec_stream *strm);
AEC_SCOPE int aec_encode(struct aec_stream *strm, int flush); LIBAEC_DLL_EXPORTED 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_end(struct aec_stream *strm);
AEC_SCOPE int aec_decode_init(struct aec_stream *strm); LIBAEC_DLL_EXPORTED int aec_decode_init(struct aec_stream *strm);
AEC_SCOPE int aec_decode(struct aec_stream *strm, int flush); LIBAEC_DLL_EXPORTED 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_end(struct aec_stream *strm);
/***************************************************************/ /***************************************************************/
/* Utility functions for encoding or decoding a memory buffer. */ /* Utility functions for encoding or decoding a memory buffer. */
/***************************************************************/ /***************************************************************/
AEC_SCOPE int aec_buffer_encode(struct aec_stream *strm); LIBAEC_DLL_EXPORTED int aec_buffer_encode(struct aec_stream *strm);
AEC_SCOPE int aec_buffer_decode(struct aec_stream *strm); LIBAEC_DLL_EXPORTED int aec_buffer_decode(struct aec_stream *strm);
#endif /* LIBAEC_H */ #endif /* LIBAEC_H */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "szlib.h"
#if HAVE_CONFIG_H #if HAVE_CONFIG_H
# include <config.h> # include <config.h>
#endif #endif
#include "szlib.h"
#define NOPTS 129 #define NOPTS 129
#define MIN(a, b) (((a) < (b))? (a): (b)) #define MIN(a, b) (((a) < (b))? (a): (b))
......
...@@ -31,13 +31,15 @@ typedef struct SZ_com_t_s ...@@ -31,13 +31,15 @@ typedef struct SZ_com_t_s
int pixels_per_scanline; int pixels_per_scanline;
} SZ_com_t; } SZ_com_t;
AEC_SCOPE int SZ_BufftoBuffCompress(void *dest, size_t *destLen, LIBAEC_DLL_EXPORTED int SZ_BufftoBuffCompress(
const void *source, size_t sourceLen, void *dest, size_t *destLen,
SZ_com_t *param); const void *source, size_t sourceLen,
AEC_SCOPE int SZ_BufftoBuffDecompress(void *dest, size_t *destLen, SZ_com_t *param);
const void *source, size_t sourceLen, LIBAEC_DLL_EXPORTED int SZ_BufftoBuffDecompress(
SZ_com_t *param); void *dest, size_t *destLen,
const void *source, size_t sourceLen,
AEC_SCOPE int SZ_encoder_enabled(void); SZ_com_t *param);
LIBAEC_DLL_EXPORTED int SZ_encoder_enabled(void);
#endif /* SZLIB_H */ #endif /* SZLIB_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment