diff --git a/BUILD.gn b/BUILD.gn new file mode 100755 index 0000000000000000000000000000000000000000..fe965331d59c9f468796fe01c5228a5374e76db9 --- /dev/null +++ b/BUILD.gn @@ -0,0 +1,166 @@ +# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. + +import("//build/config/sysroot.gni") +import("//build/ohos.gni") + +config("ninja_config") { + visibility = [ ":*" ] + + include_dirs = [ "//third_party/ninja/src" ] + + deps = [] + defines = [] + if (use_musl) { + deps += [ + "//third_party/musl:musl_headers", + "//third_party/musl:musl_libs", + ] + include_dirs += [ "//third_party/musl/include" ] + defines += [ "NINJA_USE_MUSL" ] + } + + cflags = [ "-Wno-deprecated" ] + + cflags_cc = [ "-Wno-deprecated" ] +} + +ohos_source_set("ninja_re2c_library_source") { + sources = [ + "src/depfile_parser.cc", + "src/lexer.cc", + ] + + configs = [ ":ninja_config" ] +} + +ohos_source_set("ninja_library_source") { + sources = [ + "src/build.cc", + "src/build_log.cc", + "src/clean.cc", + "src/clparser.cc", + "src/debug_flags.cc", + "src/deps_log.cc", + "src/disk_interface.cc", + "src/dyndep.cc", + "src/dyndep_parser.cc", + "src/edit_distance.cc", + "src/eval_env.cc", + "src/graph.cc", + "src/graphviz.cc", + "src/line_printer.cc", + "src/manifest_parser.cc", + "src/metrics.cc", + "src/parser.cc", + "src/state.cc", + "src/string_piece_util.cc", + "src/subprocess-posix.cc", + "src/util.cc", + "src/version.cc", + ] + + configs = [ ":ninja_config" ] +} + +ohos_executable("ninja") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/ninja.cc" ] +} + +ohos_executable("clparser_perftest") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/clparser_perftest.cc" ] +} + +ohos_executable("build_log_perftest") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/build_log_perftest.cc" ] +} + +ohos_executable("canon_perftest") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/canon_perftest.cc" ] +} + +ohos_executable("ninja_test") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ + "src/build_log_test.cc", + "src/build_test.cc", + "src/clean_test.cc", + "src/clparser_test.cc", + "src/depfile_parser_test.cc", + "src/deps_log_test.cc", + "src/disk_interface_test.cc", + "src/dyndep_parser_test.cc", + "src/edit_distance_test.cc", + "src/graph_test.cc", + "src/lexer_test.cc", + "src/manifest_parser_test.cc", + "src/ninja_test.cc", + "src/state_test.cc", + "src/string_piece_util_test.cc", + "src/subprocess_test.cc", + "src/test.cc", + "src/util_test.cc", + ] +} + +ohos_executable("depfile_parser_perftest") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/depfile_parser_perftest.cc" ] +} + +ohos_executable("hash_collision_bench") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/hash_collision_bench.cc" ] +} + +ohos_executable("manifest_parser_perftest") { + deps = [ + ":ninja_library_source", + ":ninja_re2c_library_source", + ] + configs = [ ":ninja_config" ] + sources = [ "src/manifest_parser_perftest.cc" ] +} + +group("ninja_tests") { + deps = [ + ":build_log_perftest", + ":canon_perftest", + ":clparser_perftest", + ":depfile_parser_perftest", + ":hash_collision_bench", + ":manifest_parser_perftest", + ":ninja_test", + ] +} diff --git a/src/getopt.h b/src/getopt.h old mode 100644 new mode 100755 index 965dc29003c153658d9713333d0d37b05d3647e8..1728ba51c24da4ae44de96d0905fa037804914a6 --- a/src/getopt.h +++ b/src/getopt.h @@ -39,7 +39,8 @@ extern "C" extern int optopt; /* function prototypes */ -#ifndef _AIX + /* Modified By Wang Hong(kuletco@qq.com), cause of redefined with musl */ +#if !defined (_AIX) && !defined (NINJA_USE_MUSL) int getopt (int argc, char **argv, char *optstring); #endif int getopt_long (int argc, char **argv, const char *shortopts,