Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
5592c741
Unverified
Commit
5592c741
authored
4 years ago
by
Rory OConnell
Committed by
Yukihiro "Matz" Matsumoto
4 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove compiler feature detection
parent
fff0f17b
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
68 deletions
+0
-68
lib/mruby/build/command.rb
lib/mruby/build/command.rb
+0
-66
tasks/toolchains/gcc.rake
tasks/toolchains/gcc.rake
+0
-2
No files found.
lib/mruby/build/command.rb
View file @
5592c741
require
'forwardable'
require
'forwardable'
require
'tempfile'
module
MRuby
module
MRuby
class
Command
class
Command
...
@@ -127,31 +126,6 @@ module MRuby
...
@@ -127,31 +126,6 @@ module MRuby
end
end
end
end
def
compiles?
(
source_text
)
infile
=
Tempfile
.
new
[
''
,
'.c'
]
infile
.
write
source_text
infile
.
close
cwd
=
Dir
.
pwd
is_success
=
false
# Change to a tmp dir when compiling so we don't litter compiler artifacts
tmpdir
=
Dir
.
mktmpdir
Dir
.
chdir
tmpdir
sh
(
command
,
infile
.
path
,
verbose:
false
)
{
|
retval
,
_
|
is_success
=
retval
}
infile
.
delete
Dir
.
chdir
cwd
# Some systems strangely do not allow removing a temp dir after creation
FileUtils
.
remove_entry
(
tmpdir
)
rescue
Errno
::
EACCES
return
is_success
end
def
has_header?
(
header_name
)
compiles?
test_code_template
header:
header_name
end
def
has_function?
(
function_name
,
with_header:
nil
)
compiles?
test_code_template
function:
function_name
,
header:
with_header
end
private
private
#
#
...
@@ -191,46 +165,6 @@ module MRuby
...
@@ -191,46 +165,6 @@ module MRuby
end
.
flatten
.
uniq
end
.
flatten
.
uniq
deps
<<
MRUBY_CONFIG
deps
<<
MRUBY_CONFIG
end
end
def
test_code_template
(
function:
nil
,
header:
nil
)
preamble
=
''
body
=
''
if
header
preamble
+=
<<-
TEMPLATE
#if defined __has_include
#if !__has_include("
#{
header
}
")
#error "Header
#{
header
}
not found"
#endif
#endif
#include <
#{
header
}
>
TEMPLATE
end
if
function
preamble
+=
<<-
TEMPLATE
#if defined __stub_
#{
function
}
|| defined __stub___
#{
function
}
#{
function
}
unavailable
#endif
TEMPLATE
# This is how autoconf works when using a function prototype.
body
+=
<<-
TEMPLATE
void *a = (void*) &
#{
function
}
;
long long b = (long long) a;
return (int) b;
TEMPLATE
else
body
=
'return 0;'
end
<<-
TEMPLATE
#{
preamble
}
int main(void) {{
#{
body
}
}}
TEMPLATE
end
end
end
class
Command::Linker
<
Command
class
Command::Linker
<
Command
...
...
This diff is collapsed.
Click to expand it.
tasks/toolchains/gcc.rake
View file @
5592c741
...
@@ -31,8 +31,6 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
...
@@ -31,8 +31,6 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
end
end
[[
conf
.
cc
,
'c'
],
[
conf
.
cxx
,
'c++'
]].
each
do
|
cc
,
lang
|
[[
conf
.
cc
,
'c'
],
[
conf
.
cxx
,
'c++'
]].
each
do
|
cc
,
lang
|
cc
.
defines
+=
%w(HAS_MALLOC_TRIM)
if
cc
.
has_function?
'malloc_trim'
,
with_header:
'malloc.h'
cc
.
instance_variable_set
:@header_search_language
,
lang
cc
.
instance_variable_set
:@header_search_language
,
lang
def
cc
.
header_search_paths
def
cc
.
header_search_paths
if
@header_search_command
!=
command
if
@header_search_command
!=
command
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment