You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/www-servers/h2o/files/h2o-2.3-mruby.patch

71 lines
3.2 KiB

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,6 +239,19 @@ IF (NOT WSLAY_FOUND)
SET(WSLAY_LIBRARIES -lwslay)
ENDIF (NOT WSLAY_FOUND)
+IF (PKG_CONFIG_FOUND)
+ PKG_CHECK_MODULES(ONIG onigmo)
+ IF (NOT ONIG_FOUND)
+ PKG_CHECK_MODULES(ONIG oniguruma)
+ ENDIF (NOT ONIG_FOUND)
+ IF (ONIG_FOUND)
+ LINK_DIRECTORIES(${ONIG_LIBRARY_DIRS})
+ ENDIF (ONIG_FOUND)
+ENDIF (PKG_CONFIG_FOUND)
+IF (NOT ONIG_FOUND AND WITH_MRUBY)
+ MESSAGE(FATAL_ERROR "Onigmo/Oniguruma not found")
+ENDIF (NOT ONIG_FOUND AND WITH_MRUBY)
+
IF (ZLIB_FOUND)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
LINK_DIRECTORIES(${ZLIB_LIBRARY_DIRS})
@@ -761,7 +774,7 @@ IF (WITH_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} INSTALL_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby-bin ruby minirake
+ 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} INSTALL_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby-bin ruby minirake -v
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.2.0/.libs/libonigmo.a"
@@ -795,7 +808,7 @@ IF (WITH_MRUBY)
# note: the paths need to be determined before libmruby.flags.mak is generated
TARGET_LINK_LIBRARIES(h2o
"${CMAKE_CURRENT_BINARY_DIR}/mruby/host/lib/libmruby.a"
- "${CMAKE_CURRENT_BINARY_DIR}/mruby/host/mrbgems/mruby-onig-regexp/onigmo-6.2.0/.libs/libonigmo.a"
+ ${ONIG_LIBRARIES}
"m")
ADD_DEPENDENCIES(h2o mruby)
ENDIF (WITH_MRUBY)
--- a/deps/mruby-onig-regexp/mrbgem.rake
+++ b/deps/mruby-onig-regexp/mrbgem.rake
@@ -108,10 +108,8 @@ MRuby::Gem::Specification.new('mruby-onig-regexp') do |spec|
if spec.respond_to? :search_package and spec.search_package 'onigmo'
spec.cc.defines += ['HAVE_ONIGMO_H']
- spec.linker.libraries << 'onigmo'
elsif spec.respond_to? :search_package and spec.search_package 'oniguruma'
spec.cc.defines += ['HAVE_ONIGURUMA_H']
- spec.linker.libraries << 'onig'
elsif build.cc.respond_to? :search_header_path and build.cc.search_header_path 'onigmo.h'
spec.cc.defines += ['HAVE_ONIGMO_H']
spec.linker.libraries << 'onigmo'
--- a/misc/mruby_config.rb
+++ b/misc/mruby_config.rb
@@ -17,13 +17,7 @@ MRuby::Build.new do |conf|
# use mrbgems
Dir.glob("../mruby-*/mrbgem.rake") do |x|
g = File.basename File.dirname x
- if g == 'mruby-onig-regexp'
- conf.gem "../deps/#{g}" do |c|
- c.bundle_onigmo
- end
- else
- conf.gem "../deps/#{g}"
- end
+ conf.gem "../deps/#{g}"
end
# include all the core GEMs