Remove USE_NINJA, merge mruby improvements from upstream, remove libonigmo

- Remove USE_NINJA by merging mruby improvements from upstream
- Shared lib onigmo is no longer build, bye bye. Looks like we do not need this
 anymore.

OK otto (maintainer)
This commit is contained in:
rsadowski 2022-09-02 13:18:16 +00:00
parent b61429c98f
commit 6f1aabf043
3 changed files with 27 additions and 11 deletions

View File

@ -2,14 +2,13 @@ COMMENT = optimized HTTP server with support for HTTP/1.x and HTTP/2
SHARED_LIBS += h2o-evloop 0.0
SHARED_LIBS += h2o 0.0
SHARED_LIBS += onigmo 0.0 # 6.2
CATEGORIES = www
GH_ACCOUNT = h2o
GH_PROJECT = h2o
GH_TAGNAME = v2.2.6
REVISION = 5
REVISION = 6
HOMEPAGE = https://h2o.examp1e.net/
MAINTAINER = Otto Moerbeek <otto@drijf.net>
@ -44,19 +43,11 @@ MODULES += lang/ruby
MODRUBY_RUNDEP = No
CONFIGURE_ARGS += -DWITH_MRUBY=ON
# internal dep problem; "ninja: error: 'mruby/host/lib/libmruby.a',
# needed by 'h2o', missing and no known rule to make it"
USE_NINJA = No
pre-configure:
ln -sf ${RUBY} ${WRKDIR}/bin/ruby
.endif
post-install:
.if ${FLAVOR:Mmruby}
cd ${WRKBUILD}/mruby/host/mrbgems/mruby-onig-regexp; \
${INSTALL_DATA} onigmo-*/.libs/libonigmo.so.${LIBonigmo_VERSION} ${PREFIX}/lib/
.endif
cd ${WRKSRC}/doc; pax -rw [a-z]* ${PREFIX}/share/doc/h2o/
mv ${PREFIX}/share/doc/h2o/examples ${PREFIX}/share/examples/h2o
${INSTALL_DATA} ${FILESDIR}/h2o.conf ${PREFIX}/share/examples/h2o/

View File

@ -1,6 +1,8 @@
wslay is picked up and used if present during configure, but isn't
registered as a dependency in the libraries. disable it for now.
mruby improvements from upstream
Index: CMakeLists.txt
--- CMakeLists.txt.orig
+++ CMakeLists.txt
@ -43,3 +45,27 @@ Index: CMakeLists.txt
IF (ZLIB_FOUND)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
@@ -460,14 +460,21 @@ IF (WITH_MRUBY)
ELSE ()
SET(MRUBY_TOOLCHAIN "gcc")
ENDIF ()
- ADD_CUSTOM_TARGET(mruby MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby ruby minirake
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby)
+ ADD_CUSTOM_TARGET(mruby
+ # deps/mruby/tasks/toolchains/clang.rake looks for CC, CXX and LD.
+ # There are no C++ files in deps/mruby, use the C compiler for linking.
+ MRUBY_TOOLCHAIN=${MRUBY_TOOLCHAIN} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} LD=${CMAKE_C_COMPILER} MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/misc/mruby_config.rb MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby MRUBY_ADDITIONAL_CONFIG=${MRUBY_ADDITIONAL_CONFIG} ruby minirake
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/deps/mruby
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
+ "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.1.1/.libs/libonigmo.a"
+ )
LIST(APPEND STANDALONE_SOURCE_FILES
lib/handler/mruby.c
lib/handler/mruby/chunked.c
lib/handler/mruby/http_request.c
lib/handler/configurator/mruby.c)
SET(STANDALONE_COMPILE_FLAGS "${STANDALONE_COMPILE_FLAGS} -DH2O_USE_MRUBY=1")
+ SET_PROPERTY(DIRECTORY PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/mruby/)
ENDIF (WITH_MRUBY)
IF (WITH_PICOTLS)
LIST(APPEND STANDALONE_SOURCE_FILES ${PICOTLS_SOURCE_FILES})

View File

@ -1,4 +1,3 @@
@lib lib/libonigmo.so.${LIBonigmo_VERSION}
share/examples/h2o/h2o_mruby/
share/examples/h2o/h2o_mruby/h2o.conf
share/examples/h2o/h2o_mruby/hello.rb