diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-02 05:54:00 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-02 05:54:00 +0000 |
| commit | a7fee652cda225ce788b2d41ec251d8e3c15b713 (patch) | |
| tree | ce7614d7122c98d81edc1e88c999fccccbbd4e87 | |
| parent | bd636622cbad44ecdd2117b3cfb0e5078a3f9dc1 (diff) | |
| download | ruby-a7fee652cda225ce788b2d41ec251d8e3c15b713.tar.gz ruby-a7fee652cda225ce788b2d41ec251d8e3c15b713.tar.xz ruby-a7fee652cda225ce788b2d41ec251d8e3c15b713.zip | |
* lib/mkmf.rb (pkg_config): get configuration by pkg-config. [new]
* ext/openssl/extconf.rb: use pkg_config.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | ext/openssl/extconf.rb | 9 | ||||
| -rw-r--r-- | lib/mkmf.rb | 21 |
3 files changed, 28 insertions, 8 deletions
@@ -1,3 +1,9 @@ +Sat Aug 2 14:53:55 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/mkmf.rb (pkg_config): get configuration by pkg-config. [new] + + * ext/openssl/extconf.rb: use pkg_config. + Sat Aug 2 14:02:39 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> * variable.c (classname): find regular class name if not set. diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 76befa5a5..92dabdc58 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -18,7 +18,6 @@ require "mkmf" dir_config("openssl") dir_config("kerberos") -pkgconfig = with_config("pkg-config", !CROSS_COMPILING && "pkg-config") message "=== OpenSSL for Ruby configurator ===\n" @@ -51,13 +50,7 @@ result = have_header("openssl/ssl.h") result &&= %w[crypto libeay32].any? {|lib| have_library(lib, "OpenSSL_add_all_digests")} result &&= %w[ssl ssleay32].any? {|lib| have_library(lib, "SSL_library_init")} if !result - if find_executable(pkgconfig) and system(pkgconfig, "--exists", "openssl") - $CFLAGS += " " << `#{pkgconfig} --cflags openssl`.chomp - $DLDFLAGS += " " << `#{pkgconfig} --libs-only-L openssl`.chomp - $LIBS += " " << `#{pkgconfig} --libs-only-l openssl`.chomp - result = have_header("openssl/ssl.h") - end - if !result + unless pkg_config("openssl") and have_header("openssl/ssl.h") message "=== Checking for required stuff failed. ===\n" message "Makefile wasn't created. Fix the errors above.\n" exit 1 diff --git a/lib/mkmf.rb b/lib/mkmf.rb index d56fe8896..80c165199 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -617,6 +617,27 @@ def dir_config(target, idefault=nil, ldefault=nil) [idir, ldir] end +def pkg_config(pkg) + unless defined?($PKGCONFIG) + if pkgconfig = with_config("pkg-config", !CROSS_COMPILING && "pkg-config") + find_executable0(pkgconfig) or pkgconfig = nil + end + $PKGCONFIG = pkgconfig + end + if $PKGCONFIG and system("#{$PKGCONFIG} --exists #{pkg}") + cflags = `#{$PKGCONFIG} --cflags #{pkg}`.chomp + ldflags = `#{$PKGCONFIG} --libs-only-L #{pkg}`.chomp + libs = `#{$PKGCONFIG} --libs-only-l #{pkg}`.chomp + $CFLAGS += " " << cflags + $LDFLAGS += " " << ldflags + $LIBS += " " << libs + Logging::message "package configuration for %s\n", pkg + Logging::message "cflags: %s\nldflags: %s\nlibs: %s\n\n", + cflags, ldflags, libs + [cflags, ldflags, libs] + end +end + def with_destdir(dir) /^\$[\(\{]/ =~ dir ? dir : "$(DESTDIR)"+dir end |
