Add support for rubyarchhdrdir and rubyarchlibdir, with fallback to "defaults"

on systems that have such directories but RbConfig doesn't have such options.

Needed for some minor KDE SC parts.

ok dcoppa@
This commit is contained in:
zhuk 2013-04-22 13:13:56 +00:00
parent bed43c628e
commit a575bb848f
2 changed files with 58 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.78 2013/04/12 17:39:57 sthen Exp $
# $OpenBSD: Makefile,v 1.79 2013/04/22 13:13:56 zhuk Exp $
VMEM_WARNING = Yes
DPB_PROPERTIES =parallel
@ -12,7 +12,7 @@ HOMEPAGE = http://www.cmake.org/
CATEGORIES = devel
COMMENT = portable build system
DISTNAME = cmake-2.8.10.2
REVISION = 3
REVISION = 4
MASTER_SITES = ${HOMEPAGE}files/v2.8/
MAINTAINER = David Coppa <dcoppa@openbsd.org>

View File

@ -0,0 +1,56 @@
$OpenBSD: patch-Modules_FindRuby_cmake,v 1.6 2013/04/22 13:13:56 zhuk Exp $
Add support for rubyarchhdrdir and rubyarchlibdir, with fallback to "defaults"
on systems that have such directories but RbConfig doesn't have such options.
--- Modules/FindRuby.cmake.orig Sun Feb 10 13:39:18 2013
+++ Modules/FindRuby.cmake Sun Feb 10 14:15:07 2013
@@ -92,6 +92,16 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
_RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR)
_RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
+ # not implemented in <2.0 but sometimes used
+ _RUBY_CONFIG_VAR("rubyarchhdrdir" RUBY_ARCHHDR_DIR)
+ if(NOT RUBY_ARCHHDR_DIR)
+ set(RUBY_ARCHHDR_DIR ${RUBY_HDR_DIR}/${RUBY_ARCH})
+ endif(NOT RUBY_ARCHHDR_DIR)
+ _RUBY_CONFIG_VAR("rubyarchlibdir" RUBY_ARCHLIB_DIR)
+ if(NOT RUBY_ARCHLIB_DIR)
+ set(RUBY_ARCHLIB_DIR ${RUBY_LIB_DIR}/${RUBY_ARCH})
+ endif(NOT RUBY_ARCHLIB_DIR)
+
# vendor_ruby available ?
execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY ERROR_QUIET)
@@ -112,6 +122,8 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
set(RUBY_SITEARCH_DIR ${RUBY_SITEARCH_DIR} CACHE PATH "The Ruby site arch dir" FORCE)
set(RUBY_SITELIB_DIR ${RUBY_SITELIB_DIR} CACHE PATH "The Ruby site lib dir" FORCE)
set(RUBY_HAS_VENDOR_RUBY ${RUBY_HAS_VENDOR_RUBY} CACHE BOOL "Vendor Ruby is available" FORCE)
+ set(RUBY_ARCHHDR_DIR ${RUBY_ARCHHDR_DIR} CACHE PATH "The Ruby arch-specific header dir (1.9+)" FORCE)
+ set(RUBY_ARCHLIB_DIR ${RUBY_ARCHLIBDIR} CACHE PATH "The Ruby arch-specific lib dir (1.9+)" FORCE)
set(RUBY_VENDORARCH_DIR ${RUBY_VENDORARCH_DIR} CACHE PATH "The Ruby vendor arch dir" FORCE)
set(RUBY_VENDORLIB_DIR ${RUBY_VENDORLIB_DIR} CACHE PATH "The Ruby vendor lib dir" FORCE)
@@ -124,6 +136,8 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
RUBY_SITEARCH_DIR
RUBY_SITELIB_DIR
RUBY_HAS_VENDOR_RUBY
+ RUBY_ARCHHDR_DIR
+ RUBY_ARCHLIB_DIR
RUBY_VENDORARCH_DIR
RUBY_VENDORLIB_DIR
RUBY_VERSION_MAJOR
@@ -157,6 +171,7 @@ find_path(RUBY_INCLUDE_DIR
NAMES ruby.h
HINTS
${RUBY_HDR_DIR}
+ ${RUBY_ARCHHDR_DIR}
${RUBY_ARCH_DIR}
/usr/lib/ruby/${_RUBY_VERSION_SHORT}/i586-linux-gnu/ )
@@ -167,6 +182,7 @@ if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR
find_path(RUBY_CONFIG_INCLUDE_DIR
NAMES ruby/config.h config.h
HINTS
+ ${RUBY_ARCHHDR_DIR}
${RUBY_HDR_DIR}/${RUBY_ARCH}
${RUBY_ARCH_DIR}
)