gen.lua (3033B)
- cflags{
- '-std=c99',
- '-Wall', '-Wpedantic', '-Wno-missing-braces',
- '-D MUON_PLATFORM_posix',
- '-D MUON_ENDIAN=0',
- '-D MUON_STATIC',
- '-D MUON_BOOTSTRAPPED',
- '-I $outdir',
- '-I $srcdir/include',
- }
- sub('tools.ninja', function()
- toolchain(config.host)
- cflags{'-I $srcdir/include'}
- exe('embedder', {'tools/embedder.c'})
- end)
- rule('embedder', '$outdir/embedder $args >$out')
- local embed = {
- 'commands/copyfile.meson',
- 'commands/coverage.meson',
- 'commands/delete_suffix.meson',
- 'commands/i18n/gettext.meson',
- 'commands/i18n/itstool.meson',
- 'commands/i18n/msgfmthelper.meson',
- 'commands/vcs_tagger.meson',
- 'lib/cmake_prelude.meson',
- 'modules/_test.meson',
- 'modules/gnome.meson',
- 'modules/i18n.meson',
- 'options/global.meson',
- 'options/per_project.meson',
- 'python/python_info.py',
- 'runtime/dependencies.meson',
- }
- local args = {}
- for _, file in ipairs(embed) do
- table.insert(args, '$srcdir/src/script/'..file)
- table.insert(args, file)
- end
- build('embedder', '$outdir/embedded_files.h', {expand{'$srcdir/src/script', embed}, '|', '$outdir/embedder'}, {args=args})
- build('sed', '$outdir/version.c', '$srcdir/src/version.c.in', {
- expr={
- '-e s,@version@,0.5.0,',
- '-e s,@vcs_tag@,,',
- '-e s,@meson_compat@,1.7,',
- },
- })
- pkg.deps = {
- '$outdir/embedded_files.h',
- }
- exe('muon', [[
- src/(
- args.c cmd_install.c cmd_subprojects.c cmd_test.c
- coerce.c compilers.c embedded.c
- error.c guess.c install.c log.c
- machine_file.c machines.c main.c
- memmem.c meson_opts.c options.c
- opts.c rpmvercmp.c sha_256.c
- vsenv.c wrap.c ui_null.c
- backend/(
- backend.c common_args.c introspect.c ninja.c output.c xcode.c
- ninja/(
- alias_target.c coverage.c build_target.c
- custom_target.c rules.c
- )
- )
- datastructures/(
- arr.c bucket_arr.c hash.c stack.c
- )
- formats/(
- editorconfig.c ini.c json.c
- lines.c tap.c xml.c
- )
- functions/(
- array.c boolean.c both_libs.c
- build_target.c compiler.c
- configuration_data.c custom_target.c
- dependency.c dict.c disabler.c
- environment.c external_program.c
- feature_opt.c file.c generator.c
- kernel.c modules.c machine.c meson.c
- number.c run_result.c
- source_configuration.c source_set.c
- string.c subproject.c
- kernel/(
- build_target.c configure_file.c
- custom_target.c dependency.c
- install.c options.c subproject.c
- )
- modules/(
- curl.c fs.c getopt.c keyval.c pkgconfig.c
- python.c sourceset.c subprojects.c toolchain.c
- json.c
- )
- )
- lang/(
- analyze.c compiler.c eval.c
- fmt.c func_lookup.c lexer.c lsp.c
- object.c object_iterators.c parser.c
- serial.c string.c typecheck.c
- vm.c workspace.c
- )
- platform/(
- assert.c filesystem.c os.c mem.c
- path.c run_cmd.c uname.c
- posix/(
- filesystem.c init.c log.c
- os.c path.c rpath_fixer.c
- run_cmd.c term.c timer.c
- uname.c
- )
- )
- external/(
- libarchive_null.c libcurl_null.c
- samurai_null.c readline_builtin.c
- pkgconfig.c pkgconfig_exec.c
- )
- )
- $outdir/version.c
- ]])
- file('bin/muon', '755', '$outdir/muon')
- fetch 'git'