mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-13 21:47:44 +00:00
70 lines
3.2 KiB
Diff
70 lines
3.2 KiB
Diff
--- 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
|