mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-16 18:56:54 +02:00
Fixed #395
libmsgpack.[a|so] is the library file for C++. libmsgpackc.[a|so] is the library file for C. Since version 1.0.0, the C++ parts of msgpack-c is a header only library. So libmsgpack.* shouldn't be generated. On the autotools building environment, removed libmsgpack.* generation. On the cmake building environment, replaced libmsgpack.* with libmsgpackc.* and set so-version to 2.0.0.
This commit is contained in:
@@ -125,13 +125,13 @@ int main(int argc, char * argv[])
|
|||||||
" MSGPACK_ENABLE_GCC_CXX_ATOMIC)
|
" MSGPACK_ENABLE_GCC_CXX_ATOMIC)
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_GCC_CXX_ATOMIC)
|
IF (MSGPACK_ENABLE_GCC_CXX_ATOMIC)
|
||||||
LIST (APPEND msgpack_SOURCES
|
LIST (APPEND msgpackc_SOURCES
|
||||||
src/gcc_atomic.cpp
|
src/gcc_atomic.cpp
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
|
|
||||||
LIST (APPEND msgpack_SOURCES
|
LIST (APPEND msgpackc_SOURCES
|
||||||
src/unpack.c
|
src/unpack.c
|
||||||
src/objectc.c
|
src/objectc.c
|
||||||
src/version.c
|
src/version.c
|
||||||
@@ -139,7 +139,7 @@ LIST (APPEND msgpack_SOURCES
|
|||||||
src/zone.c
|
src/zone.c
|
||||||
)
|
)
|
||||||
|
|
||||||
LIST (APPEND msgpack_HEADERS
|
LIST (APPEND msgpackc_HEADERS
|
||||||
include/msgpack/pack_define.h
|
include/msgpack/pack_define.h
|
||||||
include/msgpack/pack_template.h
|
include/msgpack/pack_template.h
|
||||||
include/msgpack/unpack_define.h
|
include/msgpack/unpack_define.h
|
||||||
@@ -162,8 +162,8 @@ LIST (APPEND msgpack_HEADERS
|
|||||||
|
|
||||||
FILE (GLOB_RECURSE PREDEF_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/predef/*.h)
|
FILE (GLOB_RECURSE PREDEF_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/predef/*.h)
|
||||||
|
|
||||||
LIST (APPEND msgpack_HEADERS ${PREDEF_FILES})
|
LIST (APPEND msgpackc_HEADERS ${PREDEF_FILES})
|
||||||
LIST (APPEND msgpack_HEADERS include/msgpack/predef.h)
|
LIST (APPEND msgpackc_HEADERS include/msgpack/predef.h)
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_CXX)
|
IF (MSGPACK_ENABLE_CXX)
|
||||||
LIST (APPEND msgpack_HEADERS
|
LIST (APPEND msgpack_HEADERS
|
||||||
@@ -234,8 +234,8 @@ IF (MSGPACK_ENABLE_CXX)
|
|||||||
)
|
)
|
||||||
FILE (GLOB_RECURSE PREPROCESSOR_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/preprocessor/*.hpp)
|
FILE (GLOB_RECURSE PREPROCESSOR_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/preprocessor/*.hpp)
|
||||||
|
|
||||||
LIST (APPEND msgpack_HEADERS ${PREPROCESSOR_FILES})
|
LIST (APPEND msgpackc_HEADERS ${PREPROCESSOR_FILES})
|
||||||
LIST (APPEND msgpack_HEADERS include/msgpack/preprocessor.hpp)
|
LIST (APPEND msgpackc_HEADERS include/msgpack/preprocessor.hpp)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
EXECUTE_PROCESS (
|
EXECUTE_PROCESS (
|
||||||
@@ -255,21 +255,21 @@ INCLUDE_DIRECTORIES (
|
|||||||
)
|
)
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
ADD_LIBRARY (msgpack SHARED
|
ADD_LIBRARY (msgpackc SHARED
|
||||||
${msgpack_SOURCES}
|
${msgpackc_SOURCES}
|
||||||
${msgpack_HEADERS}
|
${msgpackc_HEADERS}
|
||||||
)
|
)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
ADD_LIBRARY (msgpack-static STATIC
|
ADD_LIBRARY (msgpackc-static STATIC
|
||||||
${msgpack_SOURCES}
|
${msgpackc_SOURCES}
|
||||||
${msgpack_HEADERS}
|
${msgpackc_HEADERS}
|
||||||
)
|
)
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
|
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET_TARGET_PROPERTIES (msgpack PROPERTIES IMPORT_SUFFIX "_import.lib")
|
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
|
||||||
SET_TARGET_PROPERTIES (msgpack PROPERTIES SOVERSION 4 VERSION 4.0.0)
|
SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_BUILD_TESTS)
|
IF (MSGPACK_BUILD_TESTS)
|
||||||
@@ -283,9 +283,9 @@ ENDIF ()
|
|||||||
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET_PROPERTY (TARGET msgpack APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -Werror -g -O3 -DPIC")
|
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -Werror -g -O3 -DPIC")
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
SET_PROPERTY (TARGET msgpack-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -Werror -g -O3" )
|
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -Werror -g -O3" )
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||||
@@ -296,7 +296,7 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC90" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC10")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC90" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC10")
|
||||||
SET_SOURCE_FILES_PROPERTIES(${msgpack_SOURCES} PROPERTIES LANGUAGE CXX)
|
SET_SOURCE_FILES_PROPERTIES(${msgpackc_SOURCES} PROPERTIES LANGUAGE CXX)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF (NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
IF (NOT DEFINED CMAKE_INSTALL_LIBDIR)
|
||||||
@@ -308,9 +308,9 @@ IF (MSGPACK_BUILD_EXAMPLES)
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET (MSGPACK_INSTALLTARGETS msgpack msgpack-static)
|
SET (MSGPACK_INSTALLTARGETS msgpackc msgpackc-static)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET (MSGPACK_INSTALLTARGETS msgpack-static)
|
SET (MSGPACK_INSTALLTARGETS msgpackc-static)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
@@ -184,7 +184,7 @@ int main(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* results:
|
/* results:
|
||||||
* $ gcc stream.cc -lmsgpack -o stream
|
* $ gcc stream.cc -lmsgpackc -o stream
|
||||||
* $ ./stream
|
* $ ./stream
|
||||||
* 1
|
* 1
|
||||||
* 2
|
* 2
|
||||||
|
@@ -47,7 +47,7 @@ int main(void) {
|
|||||||
Compile it as follows:
|
Compile it as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ g++ hello.cc -lmsgpack -o hello
|
$ g++ hello.cc -o hello
|
||||||
$ ./hello
|
$ ./hello
|
||||||
["Hello", "MessagePack"]
|
["Hello", "MessagePack"]
|
||||||
```
|
```
|
||||||
@@ -83,7 +83,7 @@ int main(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// results:
|
// results:
|
||||||
// $ g++ stream.cc -lmsgpack -o stream
|
// $ g++ stream.cc -o stream
|
||||||
// $ ./stream
|
// $ ./stream
|
||||||
// "Log message ... 1"
|
// "Log message ... 1"
|
||||||
// "Log message ... 2"
|
// "Log message ... 2"
|
||||||
|
@@ -17,7 +17,7 @@ FOREACH (source_file ${exec_PROGRAMS})
|
|||||||
${source_file}
|
${source_file}
|
||||||
)
|
)
|
||||||
TARGET_LINK_LIBRARIES (${source_file_we}
|
TARGET_LINK_LIBRARIES (${source_file_we}
|
||||||
msgpack
|
msgpackc
|
||||||
)
|
)
|
||||||
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -Wno-mismatched-tags -g -O3")
|
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -Wno-mismatched-tags -g -O3")
|
||||||
|
@@ -6,5 +6,5 @@ includedir=@includedir@
|
|||||||
Name: MessagePack
|
Name: MessagePack
|
||||||
Description: Binary-based efficient object serialization library
|
Description: Binary-based efficient object serialization library
|
||||||
Version: @VERSION@
|
Version: @VERSION@
|
||||||
Libs: -L${libdir} -lmsgpack
|
Libs: -L${libdir} -lmsgpackc
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
@@ -1,25 +1,14 @@
|
|||||||
lib_LTLIBRARIES = libmsgpack.la
|
# For C++
|
||||||
|
#
|
||||||
|
# The C++ parts of msgpack-c is a header only library,
|
||||||
|
# so there is no libraries.
|
||||||
|
|
||||||
AM_CPPFLAGS = -I../include
|
# For C
|
||||||
|
|
||||||
libmsgpack_la_SOURCES = \
|
lib_LTLIBRARIES = libmsgpackc.la
|
||||||
unpack.c \
|
|
||||||
objectc.c \
|
|
||||||
version.c \
|
|
||||||
vrefbuffer.c \
|
|
||||||
zone.c
|
|
||||||
|
|
||||||
if ENABLE_GCC_CXX_ATOMIC
|
#AM_CPPFLAGS = -I../include
|
||||||
CXXFLAGS="$CXXFLAGS -DENABLE_GCC_CXX_ATOMIC"
|
AM_CFLAGS = -I../include
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# -version-info CURRENT:REVISION:AGE
|
|
||||||
libmsgpack_la_LDFLAGS = -version-info 4:0:0 -no-undefined
|
|
||||||
|
|
||||||
|
|
||||||
# backward compatibility
|
|
||||||
lib_LTLIBRARIES += libmsgpackc.la
|
|
||||||
|
|
||||||
libmsgpackc_la_SOURCES = \
|
libmsgpackc_la_SOURCES = \
|
||||||
unpack.c \
|
unpack.c \
|
||||||
@@ -28,6 +17,7 @@ libmsgpackc_la_SOURCES = \
|
|||||||
vrefbuffer.c \
|
vrefbuffer.c \
|
||||||
zone.c
|
zone.c
|
||||||
|
|
||||||
|
# -version-info CURRENT:REVISION:AGE
|
||||||
libmsgpackc_la_LDFLAGS = -version-info 2:0:0 -no-undefined
|
libmsgpackc_la_LDFLAGS = -version-info 2:0:0 -no-undefined
|
||||||
|
|
||||||
|
|
||||||
|
@@ -56,9 +56,9 @@ IF (MSGPACK_CXX11)
|
|||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
IF (MSGPACK_ENABLE_SHARED)
|
IF (MSGPACK_ENABLE_SHARED)
|
||||||
SET (MSGPACK_TEST_LIB msgpack)
|
SET (MSGPACK_TEST_LIB msgpackc)
|
||||||
ELSE ()
|
ELSE ()
|
||||||
SET (MSGPACK_TEST_LIB msgpack-static)
|
SET (MSGPACK_TEST_LIB msgpackc-static)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
FOREACH (source_file ${check_PROGRAMS})
|
FOREACH (source_file ${check_PROGRAMS})
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
AM_CPPFLAGS = -I$(top_srcdir)/include -pthread
|
AM_CPPFLAGS = -I$(top_srcdir)/include -pthread
|
||||||
AM_C_CPPFLAGS = -I$(top_srcdir)/include -pthread
|
AM_C_CPPFLAGS = -I$(top_srcdir)/include -pthread
|
||||||
AM_LDFLAGS = $(top_builddir)/src/libmsgpack.la -lgtest_main -lgtest -lpthread
|
AM_LDFLAGS = $(top_builddir)/src/libmsgpackc.la -lgtest_main -lgtest -lpthread
|
||||||
|
|
||||||
check_PROGRAMS = \
|
check_PROGRAMS = \
|
||||||
array_ref \
|
array_ref \
|
||||||
|
Reference in New Issue
Block a user