Skip to content

Commit 2bdab9c

Browse files
committed
Requires uriparser 0.9.9.
1 parent 2c63d96 commit 2bdab9c

File tree

3 files changed

+1
-111
lines changed

3 files changed

+1
-111
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Change Log of mruby uriparser
22

33
- Added `uri.path` where `uri` is an instance of `URIParser::URI`.
4+
- Requires uriparser 0.9.9.
45

56
## 0.1.0 - 2025-11-09
67

build_config.rb

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,9 @@
1-
require "tmpdir"
2-
require "shellwords"
3-
require "open3"
4-
5-
def check_function(name:, checker:, macro:, conf:)
6-
Dir.mktmpdir("mruby_check_") do |tmpdir|
7-
exe = File.join(tmpdir, "check_#{name}")
8-
command = [conf.cc.command,
9-
*conf.cc.flags.flatten,
10-
"-l", "uriparser",
11-
'-o', exe,
12-
File.join(__dir__, "build/#{checker}")]
13-
output, status = Open3.capture2e(ENV, *command)
14-
puts "status: #{status}"
15-
output.strip!
16-
if output
17-
puts ">>> output >>>"
18-
puts output
19-
puts "<<< output <<<"
20-
end
21-
if status.success?
22-
conf.defines << macro
23-
puts "found #{name}"
24-
else
25-
warn "not found #{name}"
26-
end
27-
end
28-
end
29-
301
MRuby::Build.new do |conf|
312
toolchain :gcc
323
conf.gem File.expand_path(File.dirname(__FILE__))
334
conf.enable_test
34-
355
conf.linker.libraries << 'uriparser'
366

37-
check_function(name: "uriHasHostA",
38-
checker: "check_uri_has_host.c",
39-
macro: "HAVE_URI_HAS_HOST",
40-
conf:)
41-
check_function(name: "uriCopyUriA",
42-
checker: "check_uri_copy_uri.c",
43-
macro: "HAVE_URI_COPY_URI",
44-
conf:)
45-
check_function(name: "uriEqualsUriA",
46-
checker: "check_uri_equals_uri.c",
47-
macro: "HAVE_URI_EQUALS_URI",
48-
conf:)
49-
check_function(name: "uriSetSchemeA",
50-
checker: "check_uri_set_scheme.c",
51-
macro: "HAVE_URI_SET_SCHEME",
52-
conf:)
53-
check_function(name: "uriSetUserInfoA",
54-
checker: "check_uri_set_userinfo.c",
55-
macro: "HAVE_URI_SET_USERINFO",
56-
conf:)
57-
check_function(name: "uriSetHostAutoA",
58-
checker: "check_uri_set_host.c",
59-
macro: "HAVE_URI_SET_HOST",
60-
conf:)
61-
check_function(name: "uriSetPortTextA",
62-
checker: "check_uri_set_port.c",
63-
macro: "HAVE_URI_SET_PORT",
64-
conf:)
65-
check_function(name: "uriSetPathA",
66-
checker: "check_uri_set_path.c",
67-
macro: "HAVE_URI_SET_PATH",
68-
conf:)
69-
check_function(name: "uriSetQueryA",
70-
checker: "check_uri_set_query.c",
71-
macro: "HAVE_URI_SET_QUERY",
72-
conf:)
73-
check_function(name: "uriSetFragmentA",
74-
checker: "check_uri_set_fragment.c",
75-
macro: "HAVE_URI_SET_FRAGMENT",
76-
conf:)
77-
787
if ENV['DEBUG'] == 'true'
798
conf.enable_debug
809
conf.defines << "MRB_ENABLE_DEBUG_HOOK"

src/mrb_uriparser.c

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,6 @@ static mrb_value mrb_uriparser_compose_query(mrb_state *const mrb,
373373
return str;
374374
}
375375

376-
#ifdef HAVE_URI_COPY_URI
377376
/**
378377
* @brief Copy URI.
379378
*
@@ -399,9 +398,7 @@ static mrb_value mrb_uriparser_initialize_copy(mrb_state *const mrb,
399398
DATA_PTR(self) = data;
400399
return self;
401400
}
402-
#endif
403401

404-
#ifdef HAVE_URI_EQUALS_URI
405402
/**
406403
* @brief Check two URIs for equivalence.
407404
*
@@ -420,7 +417,6 @@ static mrb_value mrb_uriparser_equals(mrb_state *const mrb,
420417
return mrb_bool_value(
421418
uriEqualsUriA(MRB_URIPARSER_URI(self), MRB_URIPARSER_URI(another)));
422419
}
423-
#endif
424420

425421
MRB_URIPARSER_DEFUN_GETTER(scheme);
426422
MRB_URIPARSER_DEFUN_GETTER(userInfo);
@@ -429,29 +425,14 @@ MRB_URIPARSER_DEFUN_GETTER(portText);
429425
MRB_URIPARSER_DEFUN_GETTER(query);
430426
MRB_URIPARSER_DEFUN_GETTER(fragment);
431427

432-
#ifdef HAVE_URI_SET_SCHEME
433428
MRB_URIPARSER_DEFUN_SETTER(Scheme);
434-
#endif
435-
#ifdef HAVE_URI_SET_USERINFO
436429
MRB_URIPARSER_DEFUN_SETTER(UserInfo);
437-
#endif
438-
#ifdef HAVE_URI_SET_HOST
439430
MRB_URIPARSER_DEFUN_SETTER(HostAuto)
440-
#endif
441-
#ifdef HAVE_URI_SET_PORT
442431
MRB_URIPARSER_DEFUN_SETTER(PortText);
443-
#endif
444-
#ifdef HAVE_URI_SET_PATH
445432
MRB_URIPARSER_DEFUN_SETTER(Path)
446-
#endif
447-
#ifdef HAVE_URI_SET_QUERY
448433
MRB_URIPARSER_DEFUN_SETTER(Query)
449-
#endif
450-
#ifdef HAVE_URI_SET_FRAGMENT
451434
MRB_URIPARSER_DEFUN_SETTER(Fragment)
452-
#endif
453435

454-
#ifdef HAVE_URI_HAS_HOST
455436
/**
456437
* @brief Check if the URI has host.
457438
*
@@ -467,7 +448,6 @@ static mrb_value mrb_uriparser_has_host(mrb_state *const mrb,
467448
const mrb_value self) {
468449
return mrb_bool_value(uriHasHostA(MRB_URIPARSER_URI(self)));
469450
}
470-
#endif
471451

472452
/**
473453
* @brief Get the path segments as an array of strings.
@@ -756,54 +736,34 @@ void mrb_mruby_uriparser_gem_init(mrb_state *const mrb) {
756736
mrb_uriparser_compose_query, MRB_ARGS_REQ(1));
757737
struct RClass *const uri = mrb_define_class_under(
758738
mrb, uriparser, MRB_URIPARSER_URI_MODULE_NAME, mrb->object_class);
759-
#ifdef HAVE_URI_COPY_URI
760739
mrb_define_method(mrb, uri, "initialize_copy", mrb_uriparser_initialize_copy,
761740
MRB_ARGS_REQ(1));
762-
#endif
763-
#ifdef HAVE_URI_EQUALS_URI
764741
mrb_define_method(mrb, uri, "==", mrb_uriparser_equals, MRB_ARGS_REQ(1));
765-
#endif
766742
mrb_define_method(mrb, uri, "scheme", mrb_uriparser_scheme, MRB_ARGS_NONE());
767-
#ifdef HAVE_URI_SET_SCHEME
768743
mrb_define_method(mrb, uri, "scheme=", mrb_uriparser_set_Scheme,
769744
MRB_ARGS_REQ(1));
770-
#endif
771745
mrb_define_method(mrb, uri, "userinfo", mrb_uriparser_userInfo,
772746
MRB_ARGS_NONE());
773-
#ifdef HAVE_URI_SET_USERINFO
774747
mrb_define_method(mrb, uri, "userinfo=", mrb_uriparser_set_UserInfo,
775748
MRB_ARGS_REQ(1));
776-
#endif
777749
mrb_define_method(mrb, uri, "hostname", mrb_uriparser_hostText,
778750
MRB_ARGS_NONE());
779-
#ifdef HAVE_URI_SET_HOST
780751
mrb_define_method(mrb, uri, "host=", mrb_uriparser_set_HostAuto,
781752
MRB_ARGS_REQ(1));
782-
#endif
783-
#ifdef HAVE_URI_HAS_HOST
784753
mrb_define_method(mrb, uri, "host?", mrb_uriparser_has_host, MRB_ARGS_NONE());
785-
#endif
786754
mrb_define_method(mrb, uri, "port", mrb_uriparser_portText, MRB_ARGS_NONE());
787-
#ifdef HAVE_URI_SET_PORT
788755
mrb_define_method(mrb, uri, "port=", mrb_uriparser_set_PortText,
789756
MRB_ARGS_REQ(1));
790-
#endif
791757
mrb_define_method(mrb, uri, "path_segments", mrb_uriparser_path_segments,
792758
MRB_ARGS_NONE());
793-
#ifdef HAVE_URI_SET_PATH
794759
mrb_define_method(mrb, uri, "path=", mrb_uriparser_set_Path, MRB_ARGS_REQ(1));
795-
#endif
796760
mrb_define_method(mrb, uri, "query", mrb_uriparser_query, MRB_ARGS_NONE());
797-
#ifdef HAVE_URI_SET_QUERY
798761
mrb_define_method(mrb, uri, "query=", mrb_uriparser_set_Query,
799762
MRB_ARGS_REQ(1));
800-
#endif
801763
mrb_define_method(mrb, uri, "fragment", mrb_uriparser_fragment,
802764
MRB_ARGS_NONE());
803-
#ifdef HAVE_URI_SET_FRAGMENT
804765
mrb_define_method(mrb, uri, "fragment=", mrb_uriparser_set_Fragment,
805766
MRB_ARGS_REQ(1));
806-
#endif
807767
mrb_define_method(mrb, uri, "absolute_path?", mrb_uriparser_absolute_path,
808768
MRB_ARGS_NONE());
809769
mrb_define_method(mrb, uri, "to_s", mrb_uriparser_recompose, MRB_ARGS_NONE());

0 commit comments

Comments
 (0)