On 2018/12/11 18:47, YASUOKA Masahiko wrote:
> Hi,
> 
> The diff does the followings:
> 
> - update to jansson-2.12
> - include a static library
> - use configure && make, instead of cmake
> 
> My motivation was to include the static library, since I'd like to use
> it within a statically linked CGI program.
> 
> I had tried to modify CMakeLists.txt to build both static and shared
> library, but it was not easy for me.  On the other hand, just doing
> "configure && make" does it as the default.  I choiced "configure"
> rather than cmake.  Is there any reason to keep using cmake?

It needs testing with dependent ports either way, but the static
library can be added to the cmake build like this:

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/jansson/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- Makefile    7 Sep 2018 11:10:30 -0000       1.12
+++ Makefile    11 Dec 2018 10:39:11 -0000
@@ -2,9 +2,9 @@
 
 COMMENT =              library for manipulating JSON data
 
-DISTNAME =             jansson-2.11
+DISTNAME =             jansson-2.12
 
-SHARED_LIBS =          jansson 3.1
+SHARED_LIBS =          jansson 3.2
 
 CATEGORIES =           devel
 
@@ -19,7 +19,7 @@ MASTER_SITES =                http://www.digip.org/jan
 
 MODULES =              devel/cmake
 
-CONFIGURE_ARGS +=      -DBUILD_SHARED_LIBS=ON \
+CONFIGURE_ARGS +=      -DJANSSON_BUILD_SHARED_LIBS=ON \
                        -DJANSSON_BUILD_DOCS=OFF \
                        -DJANSSON_EXAMPLES=OFF
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/jansson/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo    7 Sep 2018 11:10:30 -0000       1.5
+++ distinfo    11 Dec 2018 10:39:11 -0000
@@ -1,2 +1,2 @@
-SHA256 (jansson-2.11.tar.gz) = boX0Lavkmngx291tMNyoqWaVa1GppQ7VNLgq/D+lsvQ=
-SIZE (jansson-2.11.tar.gz) = 483686
+SHA256 (jansson-2.12.tar.gz) = X43sdlBI76xdkZre1RsmoyoFOX6iB6p2n/a1PHAn0sk=
+SIZE (jansson-2.12.tar.gz) = 489154
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/devel/jansson/patches/patch-CMakeLists_txt,v
retrieving revision 1.5
diff -u -p -r1.5 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        7 Sep 2018 11:10:30 -0000       1.5
+++ patches/patch-CMakeLists_txt        11 Dec 2018 10:39:11 -0000
@@ -1,13 +1,42 @@
-$OpenBSD: patch-CMakeLists_txt,v 1.5 2018/09/07 11:10:30 sthen Exp $
+$OpenBSD$
+
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -640,7 +640,7 @@ file(RELATIVE_PATH 
- # so that the include dirs are given relative to where the 
- # config file is located.
- set(JANSSON__INCLUDE_DIRS 
--    "\${JANSSON_CMAKE_DIR}/${REL_INCLUDE_DIR}") 
-+    "${CMAKE_INSTALL_PREFIX}/include") 
- configure_file(${PROJECT_SOURCE_DIR}/cmake/JanssonConfig.cmake.in
-                 
${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/JanssonConfig.cmake 
-                 @ONLY)
+@@ -358,19 +358,19 @@ if(JANSSON_BUILD_SHARED_LIBS)
+       ${JANSSON_HDR_PRIVATE}
+       ${JANSSON_HDR_PUBLIC}
+       src/jansson.def)
+-
+    set_target_properties(jansson PROPERTIES
+       VERSION ${JANSSON_VERSION}
+       SOVERSION ${JANSSON_SOVERSION})
+-else()
+-   add_library(jansson STATIC
+-      ${JANSSON_SRC}
+-      ${JANSSON_HDR_PRIVATE}
+-      ${JANSSON_HDR_PUBLIC})
+-   set_target_properties(jansson PROPERTIES
+-      POSITION_INDEPENDENT_CODE true)
+ endif()
+ 
++add_library(janssonstatic STATIC
++   ${JANSSON_SRC}
++   ${JANSSON_HDR_PRIVATE}
++   ${JANSSON_HDR_PUBLIC})
++set_target_properties(janssonstatic PROPERTIES
++   OUTPUT_NAME jansson
++   POSITION_INDEPENDENT_CODE true)
++
+ if (JANSSON_EXAMPLES)
+       add_executable(simple_parse 
"${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_parse.c")
+       target_link_libraries(simple_parse jansson)
+@@ -652,7 +652,7 @@ configure_package_config_file(
+ #
+ option(JANSSON_INSTALL "Generate installation target" ON)
+ if (JANSSON_INSTALL)
+-  install(TARGETS jansson
++  install(TARGETS jansson janssonstatic
+           EXPORT janssonTargets
+           LIBRARY DESTINATION "lib"
+           ARCHIVE DESTINATION "lib"
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/jansson/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST
--- pkg/PLIST   20 Mar 2015 13:28:23 -0000      1.3
+++ pkg/PLIST   11 Dec 2018 10:39:11 -0000
@@ -3,9 +3,10 @@ include/jansson.h
 include/jansson_config.h
 lib/cmake/
 lib/cmake/jansson/
-lib/cmake/jansson/JanssonConfig.cmake
-lib/cmake/jansson/JanssonConfigVersion.cmake
-lib/cmake/jansson/JanssonTargets${MODCMAKE_BUILD_SUFFIX}
-lib/cmake/jansson/JanssonTargets.cmake
+lib/cmake/jansson/janssonConfig.cmake
+lib/cmake/jansson/janssonConfigVersion.cmake
+lib/cmake/jansson/janssonTargets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/jansson/janssonTargets.cmake
+lib/libjansson.a
 @lib lib/libjansson.so.${LIBjansson_VERSION}
 lib/pkgconfig/jansson.pc

Reply via email to