diff --git a/build.hancho b/build.hancho index ad4f598..f3db996 100644 --- a/build.hancho +++ b/build.hancho @@ -2,11 +2,15 @@ import hancho -exports.config = hancho.Config(build_tag = "debug") +exports.config = hancho.Config( + build_tag = "debug", + includes = [".", "{repo_path}"], +) + exports.rules = hancho.load("symlinks/hancho/rules.hancho", exports) exports.c_lexer = hancho.load("examples/c_lexer/c_lexer.hancho", exports) -#exports.c_parser = hancho.load("examples/c_parser/c_parser.hancho", exports) -#exports.json = hancho.load("examples/json/json.hancho", exports) +exports.c_parser = hancho.load("examples/c_parser/c_parser.hancho", exports) +exports.json = hancho.load("examples/json/json.hancho", exports) #exports.regex = hancho.load("examples/regex/regex.hancho", exports) #exports.toml = hancho.load("examples/toml/toml.hancho", exports) #exports.tests = hancho.load("tests/tests.hancho", exports) diff --git a/examples/c_lexer/c_lexer.hancho b/examples/c_lexer/c_lexer.hancho index d13ba00..b543b6d 100644 --- a/examples/c_lexer/c_lexer.hancho +++ b/examples/c_lexer/c_lexer.hancho @@ -4,31 +4,27 @@ rules = imports.rules config = imports.config -config = config.extend( - includes = [".", "{repo_path}"], -) - c_lexer_lib = rules.cpp_lib( - config, - name = "c_lexer", + name = "c_lexer", in_srcs = ["CLexer.cpp", "CToken.cpp"], out_lib = "c_lexer.a", + **config, ) rules.c_test( - config, in_srcs = "c_lexer_test.cpp", in_libs = c_lexer_lib, out_bin = "c_lexer_test", quiet = True, + **config, ) rules.cpp_bin( - config, name = "c_lexer_benchmark", in_srcs = "c_lexer_benchmark.cpp", in_libs = c_lexer_lib, out_bin = "c_lexer_benchmark", + **config, ) exports.lib = c_lexer_lib diff --git a/examples/c_parser/c_parser.hancho b/examples/c_parser/c_parser.hancho index cd50445..21f458c 100644 --- a/examples/c_parser/c_parser.hancho +++ b/examples/c_parser/c_parser.hancho @@ -5,17 +5,19 @@ rules = imports.rules config = imports.config c_lexer = imports.c_lexer -c_parser_lib = rules.c_library( - config, +c_parser_lib = rules.cpp_lib( + name = "c_parser_lib", in_srcs = ["CContext.cpp", "CNode.cpp", "CScope.cpp"], out_lib = "c_parser.a", + **config, ) -rules.c_binary( - config, +rules.cpp_bin( + name = "c_parser_benchmark", in_srcs = "c_parser_benchmark.cpp", + in_libs = [c_lexer.lib, c_parser_lib], out_bin = "c_parser_benchmark", - libs = [c_lexer.lib, c_parser_lib], + **config, ) # Broken? diff --git a/examples/json/json.hancho b/examples/json/json.hancho index f2f9dc8..3c78a66 100644 --- a/examples/json/json.hancho +++ b/examples/json/json.hancho @@ -4,38 +4,43 @@ rules = imports.rules config = imports.config -json_parser = rules.c_library( - config, +json_parser = rules.cpp_lib( + name = "json_parser", in_srcs = ["json_matcher.cpp", "json_parser.cpp"], out_lib = "json_parser.a", + **config, ) -rules.c_binary( - config, +rules.cpp_bin( + name = "json_conformance", in_srcs = "json_conformance.cpp", + in_libs = json_parser, out_bin = "json_conformance", - libs = json_parser + **config, ) -rules.c_binary( - config, +rules.cpp_bin( + name = "json_benchmark", in_srcs = "json_benchmark.cpp", + in_libs = json_parser, out_bin = "json_benchmark", - libs = json_parser, + **config, ) -rules.c_binary( - config, +rules.cpp_bin( + name = "json_demo", in_srcs = "json_demo.cpp", + in_libs = json_parser, out_bin = "json_demo", - libs = json_parser, + **config, ) rules.c_test( - config, + name = "json_test", in_srcs = "json_test.cpp", + in_libs = json_parser, out_bin = "json_test", - libs = json_parser, + **config, quiet = True )