add SHLIBPREFIX

This commit is contained in:
josh committed 2017-06-07 16:35:20 -04:00
1 parent 10d4c647b9
commit b7f609b7e8
7 files changed
+32 -11

No files matched your search

+1 -1
View File
@@ -41,7 +41,7 @@ module Rscons
def create_build_target(options)
env, target, vars = options.values_at(:env, :target, :vars)
my_options = options.dup
unless target["."]
unless File.basename(target)["."]
my_options[:target] += env.expand_varref("${PROGSUFFIX}", vars)
end
super(my_options)
+6 -1
View File
@@ -11,6 +11,7 @@ module Rscons
# @return [Hash] Default construction variables for the builder.
def default_variables(env)
{
'SHLIBPREFIX' => (RUBY_PLATFORM =~ /mingw/ ? '' : 'lib'),
'SHLIBSUFFIX' => (RUBY_PLATFORM =~ /mingw/ ? '.dll' : '.so'),
'SHLDFLAGS' => ['${LDFLAGS}', '-shared'],
'SHLD' => nil,
@@ -38,7 +39,11 @@ module Rscons
def create_build_target(options)
env, target, vars = options.values_at(:env, :target, :vars)
my_options = options.dup
unless env.expand_varref(target, vars) =~ /\./
libprefix = env.expand_varref("${SHLIBPREFIX}", vars)
unless File.basename(target).start_with?(libprefix)
my_options[:target].sub!(%r{^(.*/)?([^/]+)$}, "\\1#{libprefix}\\2")
end
unless File.basename(target)["."]
my_options[:target] += env.expand_varref("${SHLIBSUFFIX}", vars)
end
super(my_options)