Import('env_base')

libs_config = {
    "v8": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
            'libcxx/include',
            'eastl/include',
            'printf',
            'v8/src',
            'v8',
            '../src',
        ],
        "source": [
            'v8/src/base/once.cc',
            'v8/src/base/atomicops_internals_x86_gcc.cc',
            'v8/src/gen/experimental-libraries.cc',
            'v8/src/gen/libraries.cc',
            'v8/src/gen/trig-table.cc',
            'v8/src/accessors.cc',
            'v8/src/allocation-site-scopes.cc',
            'v8/src/allocation-tracker.cc',
            'v8/src/allocation.cc',
            'v8/src/assert-scope.cc',
            'v8/src/ast-value-factory.cc',
            'v8/src/api.cc',
            'v8/src/arguments.cc',
            'v8/src/assembler.cc',
            'v8/src/ast.cc',
            'v8/src/bignum-dtoa.cc',
            'v8/src/bignum.cc',
            'v8/src/bootstrapper.cc',
            'v8/src/builtins.cc',
            'v8/src/cached-powers.cc',
            'v8/src/checks.cc',
            'v8/src/code-stubs-hydrogen.cc',
            'v8/src/code-stubs.cc',
            'v8/src/codegen.cc',
            'v8/src/compilation-cache.cc',
            'v8/src/compiler.cc',
            'v8/src/contexts.cc',
            'v8/src/conversions.cc',
            'v8/src/counters.cc',
            'v8/src/cpu-profiler.cc',
            'v8/src/cpu.cc',
            'v8/src/data-flow.cc',
            'v8/src/date.cc',
            'v8/src/dateparser.cc',
            'v8/src/debug.cc',
            'v8/src/deoptimizer.cc',
            'v8/src/disassembler.cc',
            'v8/src/diy-fp.cc',
            'v8/src/dtoa.cc',
            'v8/src/elements-kind.cc',
            'v8/src/elements.cc',
            'v8/src/execution.cc',
            'v8/src/extensions/externalize-string-extension.cc',
            'v8/src/extensions/free-buffer-extension.cc',
            'v8/src/extensions/gc-extension.cc',
            'v8/src/extensions/statistics-extension.cc',
            'v8/src/extensions/trigger-failure-extension.cc',
            'v8/src/factory.cc',
            'v8/src/fast-dtoa.cc',
            'v8/src/field-index.cc',
            'v8/src/fixed-dtoa.cc',
            'v8/src/flags.cc',
            'v8/src/frames.cc',
            'v8/src/full-codegen.cc',
            'v8/src/func-name-inferrer.cc',
            'v8/src/gdb-jit.cc',
            'v8/src/global-handles.cc',
            'v8/src/handles.cc',
            'v8/src/heap-profiler.cc',
            'v8/src/heap-snapshot-generator.cc',
            'v8/src/heap.cc',
            'v8/src/hydrogen-bce.cc',
            'v8/src/hydrogen-bch.cc',
            'v8/src/hydrogen-canonicalize.cc',
            'v8/src/hydrogen-check-elimination.cc',
            'v8/src/hydrogen-dce.cc',
            'v8/src/hydrogen-dehoist.cc',
            'v8/src/hydrogen-environment-liveness.cc',
            'v8/src/hydrogen-escape-analysis.cc',
            'v8/src/hydrogen-gvn.cc',
            'v8/src/hydrogen-infer-representation.cc',
            'v8/src/hydrogen-infer-types.cc',
            'v8/src/hydrogen-instructions.cc',
            'v8/src/hydrogen-load-elimination.cc',
            'v8/src/hydrogen-mark-deoptimize.cc',
            'v8/src/hydrogen-mark-unreachable.cc',
            'v8/src/hydrogen-osr.cc',
            'v8/src/hydrogen-range-analysis.cc',
            'v8/src/hydrogen-redundant-phi.cc',
            'v8/src/hydrogen-removable-simulates.cc',
            'v8/src/hydrogen-representation-changes.cc',
            'v8/src/hydrogen-sce.cc',
            'v8/src/hydrogen-store-elimination.cc',
            'v8/src/hydrogen-types.cc',
            'v8/src/hydrogen-uint32-analysis.cc',
            'v8/src/hydrogen.cc',
            'v8/src/ic.cc',
            'v8/src/icu_util.cc',
            'v8/src/incremental-marking.cc',
            'v8/src/interface.cc',
            'v8/src/interpreter-irregexp.cc',
            'v8/src/isolate.cc',
            'v8/src/jsregexp.cc',
            'v8/src/lithium-allocator.cc',
            'v8/src/lithium-codegen.cc',
            'v8/src/lithium.cc',
            'v8/src/liveedit.cc',
            'v8/src/log-utils.cc',
            'v8/src/log.cc',
            'v8/src/lookup.cc',
            'v8/src/mark-compact.cc',
            'v8/src/messages.cc',
            'v8/src/objects-debug.cc',
            'v8/src/objects-printer.cc',
            'v8/src/objects-visiting.cc',
            'v8/src/objects.cc',
            'v8/src/optimizing-compiler-thread.cc',
            'v8/src/parser.cc',
            'v8/src/platform-runtimejs.cc',
            'v8/src/platform/mutex.cc',
            'v8/src/platform/semaphore.cc',
            'v8/src/platform/time.cc',
            'v8/src/preparse-data.cc',
            'v8/src/preparser.cc',
            'v8/src/prettyprinter.cc',
            'v8/src/profile-generator.cc',
            'v8/src/property.cc',
            'v8/src/regexp-macro-assembler-irregexp.cc',
            'v8/src/regexp-macro-assembler-tracer.cc',
            'v8/src/regexp-macro-assembler.cc',
            'v8/src/regexp-stack.cc',
            'v8/src/rewriter.cc',
            'v8/src/runtime-profiler.cc',
            'v8/src/runtime.cc',
            'v8/src/safepoint-table.cc',
            'v8/src/sampler.cc',
            'v8/src/scanner-character-streams.cc',
            'v8/src/scanner.cc',
            'v8/src/scopeinfo.cc',
            'v8/src/scopes.cc',
            'v8/src/serialize.cc',
            'v8/src/snapshot-common.cc',
            'v8/src/snapshot-source-sink.cc',
            'v8/src/spaces.cc',
            'v8/src/store-buffer.cc',
            'v8/src/string-search.cc',
            'v8/src/string-stream.cc',
            'v8/src/strtod.cc',
            'v8/src/stub-cache.cc',
            'v8/src/sweeper-thread.cc',
            'v8/src/token.cc',
            'v8/src/transitions.cc',
            'v8/src/type-info.cc',
            'v8/src/types.cc',
            'v8/src/typing.cc',
            'v8/src/unicode.cc',
            'v8/src/utils.cc',
            'v8/src/utils/random-number-generator.cc',
            'v8/src/v8.cc',
            'v8/src/v8threads.cc',
            'v8/src/variables.cc',
            'v8/src/version.cc',
            'v8/src/win32-math.cc',
            'v8/src/x64/assembler-x64.cc',
            'v8/src/x64/builtins-x64.cc',
            'v8/src/x64/code-stubs-x64.cc',
            'v8/src/x64/codegen-x64.cc',
            'v8/src/x64/cpu-x64.cc',
            'v8/src/x64/debug-x64.cc',
            'v8/src/x64/deoptimizer-x64.cc',
            'v8/src/x64/disasm-x64.cc',
            'v8/src/x64/frames-x64.cc',
            'v8/src/x64/full-codegen-x64.cc',
            'v8/src/x64/ic-x64.cc',
            'v8/src/x64/lithium-codegen-x64.cc',
            'v8/src/x64/lithium-gap-resolver-x64.cc',
            'v8/src/x64/lithium-x64.cc',
            'v8/src/x64/macro-assembler-x64.cc',
            'v8/src/x64/regexp-macro-assembler-x64.cc',
            'v8/src/x64/simulator-x64.cc',
            'v8/src/x64/stub-cache-x64.cc',
            'v8/src/zone.cc',
            'v8/src/mksnapshot.cc',
# snapshot
            #'v8/src/snapshot-empty.cc',
            '../gen/snapshot.cc',
        ],
    },
    "libcxx": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
            'libcxx/include',
            '../src',
        ],
        "source": [
            'libcxx/src/algorithm.cpp',
            'libcxx/src/system_error.cpp',
            'libcxx/src/exception.cpp',
            'libcxx/src/new.cpp',
            'libcxx/src/string.cpp',
            'libcxx/src/hash.cpp',
            'libcxx/src/memory.cpp',
            'libcxx/src/utility.cpp',
            'libcxx/src/libcxx-runtimejs.cpp',
        ],
    },
    "eastl": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
            'eastl/include',
            'libcxx/include',
            '../src',
        ],
        "source": [
            'eastl/src/allocator.cpp',
            'eastl/src/assert.cpp',
            'eastl/src/fixed_pool.cpp',
            'eastl/src/hashtable.cpp',
            'eastl/src/red_black_tree.cpp',
            'eastl/src/string.cpp',
        ],
    },
    "acpica": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
            'acpica/source/include',
        ],
        "source": [
            'acpica/source/components/namespace/nsaccess.c',
            'acpica/source/components/namespace/nsalloc.c',
            'acpica/source/components/namespace/nsarguments.c',
            'acpica/source/components/namespace/nsconvert.c',
            'acpica/source/components/namespace/nsdump.c',
            'acpica/source/components/namespace/nsdumpdv.c',
            'acpica/source/components/namespace/nseval.c',
            'acpica/source/components/namespace/nsinit.c',
            'acpica/source/components/namespace/nsload.c',
            'acpica/source/components/namespace/nsnames.c',
            'acpica/source/components/namespace/nsobject.c',
            'acpica/source/components/namespace/nsparse.c',
            'acpica/source/components/namespace/nspredef.c',
            'acpica/source/components/namespace/nsprepkg.c',
            'acpica/source/components/namespace/nsrepair.c',
            'acpica/source/components/namespace/nsrepair2.c',
            'acpica/source/components/namespace/nssearch.c',
            'acpica/source/components/namespace/nsutils.c',
            'acpica/source/components/namespace/nswalk.c',
            'acpica/source/components/namespace/nsxfeval.c',
            'acpica/source/components/namespace/nsxfname.c',
            'acpica/source/components/namespace/nsxfobj.c',
            'acpica/source/components/utilities/utaddress.c',
            'acpica/source/components/utilities/utalloc.c',
            'acpica/source/components/utilities/utbuffer.c',
            'acpica/source/components/utilities/utcache.c',
            'acpica/source/components/utilities/utclib.c',
            'acpica/source/components/utilities/utcopy.c',
            'acpica/source/components/utilities/utdebug.c',
            'acpica/source/components/utilities/utdecode.c',
            'acpica/source/components/utilities/utdelete.c',
            'acpica/source/components/utilities/uterror.c',
            'acpica/source/components/utilities/uteval.c',
            'acpica/source/components/utilities/utexcep.c',
            'acpica/source/components/utilities/utglobal.c',
            'acpica/source/components/utilities/utids.c',
            'acpica/source/components/utilities/utinit.c',
            'acpica/source/components/utilities/utlock.c',
            'acpica/source/components/utilities/utmath.c',
            'acpica/source/components/utilities/utmisc.c',
            'acpica/source/components/utilities/utmutex.c',
            'acpica/source/components/utilities/utobject.c',
            'acpica/source/components/utilities/utosi.c',
            'acpica/source/components/utilities/utownerid.c',
            'acpica/source/components/utilities/utpredef.c',
            'acpica/source/components/utilities/utresrc.c',
            'acpica/source/components/utilities/utstate.c',
            'acpica/source/components/utilities/utstring.c',
            'acpica/source/components/utilities/uttrack.c',
            'acpica/source/components/utilities/utxface.c',
            'acpica/source/components/utilities/utxferror.c',
            'acpica/source/components/utilities/utxfinit.c',
            'acpica/source/components/utilities/utxfmutex.c',
            'acpica/source/components/executer/exconfig.c',
            'acpica/source/components/executer/exconvrt.c',
            'acpica/source/components/executer/excreate.c',
            'acpica/source/components/executer/exdebug.c',
            'acpica/source/components/executer/exdump.c',
            'acpica/source/components/executer/exfield.c',
            'acpica/source/components/executer/exfldio.c',
            'acpica/source/components/executer/exmisc.c',
            'acpica/source/components/executer/exmutex.c',
            'acpica/source/components/executer/exnames.c',
            'acpica/source/components/executer/exoparg1.c',
            'acpica/source/components/executer/exoparg2.c',
            'acpica/source/components/executer/exoparg3.c',
            'acpica/source/components/executer/exoparg6.c',
            'acpica/source/components/executer/exprep.c',
            'acpica/source/components/executer/exregion.c',
            'acpica/source/components/executer/exresnte.c',
            'acpica/source/components/executer/exresolv.c',
            'acpica/source/components/executer/exresop.c',
            'acpica/source/components/executer/exstore.c',
            'acpica/source/components/executer/exstoren.c',
            'acpica/source/components/executer/exstorob.c',
            'acpica/source/components/executer/exsystem.c',
            'acpica/source/components/executer/exutils.c',
            'acpica/source/components/events/evevent.c',
            'acpica/source/components/events/evglock.c',
            'acpica/source/components/events/evgpe.c',
            'acpica/source/components/events/evgpeblk.c',
            'acpica/source/components/events/evgpeinit.c',
            'acpica/source/components/events/evgpeutil.c',
            'acpica/source/components/events/evhandler.c',
            'acpica/source/components/events/evmisc.c',
            'acpica/source/components/events/evregion.c',
            'acpica/source/components/events/evrgnini.c',
            'acpica/source/components/events/evsci.c',
            'acpica/source/components/events/evxface.c',
            'acpica/source/components/events/evxfevnt.c',
            'acpica/source/components/events/evxfgpe.c',
            'acpica/source/components/events/evxfregn.c',
            'acpica/source/components/hardware/hwacpi.c',
            'acpica/source/components/hardware/hwesleep.c',
            'acpica/source/components/hardware/hwgpe.c',
            'acpica/source/components/hardware/hwpci.c',
            'acpica/source/components/hardware/hwregs.c',
            'acpica/source/components/hardware/hwsleep.c',
            'acpica/source/components/hardware/hwtimer.c',
            'acpica/source/components/hardware/hwvalid.c',
            'acpica/source/components/hardware/hwxface.c',
            'acpica/source/components/hardware/hwxfsleep.c',
            'acpica/source/components/tables/tbfadt.c',
            'acpica/source/components/tables/tbfind.c',
            'acpica/source/components/tables/tbdata.c',
            'acpica/source/components/tables/tbinstal.c',
            'acpica/source/components/tables/tbprint.c',
            'acpica/source/components/tables/tbutils.c',
            'acpica/source/components/tables/tbxface.c',
            'acpica/source/components/tables/tbxfload.c',
            'acpica/source/components/tables/tbxfroot.c',
            'acpica/source/components/parser/psargs.c',
            'acpica/source/components/parser/psloop.c',
            'acpica/source/components/parser/psobject.c',
            'acpica/source/components/parser/psopcode.c',
            'acpica/source/components/parser/psopinfo.c',
            'acpica/source/components/parser/psparse.c',
            'acpica/source/components/parser/psscope.c',
            'acpica/source/components/parser/pstree.c',
            'acpica/source/components/parser/psutils.c',
            'acpica/source/components/parser/pswalk.c',
            'acpica/source/components/parser/psxface.c',
            'acpica/source/components/dispatcher/dsargs.c',
            'acpica/source/components/dispatcher/dscontrol.c',
            'acpica/source/components/dispatcher/dsfield.c',
            'acpica/source/components/dispatcher/dsinit.c',
            'acpica/source/components/dispatcher/dsmethod.c',
            'acpica/source/components/dispatcher/dsmthdat.c',
            'acpica/source/components/dispatcher/dsobject.c',
            'acpica/source/components/dispatcher/dsopcode.c',
            'acpica/source/components/dispatcher/dsutils.c',
            'acpica/source/components/dispatcher/dswexec.c',
            'acpica/source/components/dispatcher/dswload.c',
            'acpica/source/components/dispatcher/dswload2.c',
            'acpica/source/components/dispatcher/dswscope.c',
            'acpica/source/components/dispatcher/dswstate.c',
            'acpica/source/components/resources/rsaddr.c',
            'acpica/source/components/resources/rscalc.c',
            'acpica/source/components/resources/rscreate.c',
            'acpica/source/components/resources/rsdump.c',
            'acpica/source/components/resources/rsdumpinfo.c',
            'acpica/source/components/resources/rsinfo.c',
            'acpica/source/components/resources/rsio.c',
            'acpica/source/components/resources/rsirq.c',
            'acpica/source/components/resources/rslist.c',
            'acpica/source/components/resources/rsmemory.c',
            'acpica/source/components/resources/rsmisc.c',
            'acpica/source/components/resources/rsserial.c',
            'acpica/source/components/resources/rsutils.c',
            'acpica/source/components/resources/rsxface.c',
        ],
    },
    "musl": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
            '../src',
        ],
        "source": [
            'musl/src/ctype/__ctype_b_loc.c',
            'musl/src/ctype/__ctype_get_mb_cur_max.c',
            'musl/src/ctype/__ctype_tolower_loc.c',
            'musl/src/ctype/__ctype_toupper_loc.c',
            'musl/src/ctype/isalnum.c',
            'musl/src/ctype/isalpha.c',
            'musl/src/ctype/isascii.c',
            'musl/src/ctype/isblank.c',
            'musl/src/ctype/iscntrl.c',
            'musl/src/ctype/isdigit.c',
            'musl/src/ctype/isgraph.c',
            'musl/src/ctype/islower.c',
            'musl/src/ctype/isprint.c',
            'musl/src/ctype/ispunct.c',
            'musl/src/ctype/isspace.c',
            'musl/src/ctype/isupper.c',
            'musl/src/ctype/iswalnum.c',
            'musl/src/ctype/iswalpha.c',
            'musl/src/ctype/iswblank.c',
            'musl/src/ctype/iswcntrl.c',
            'musl/src/ctype/iswctype.c',
            'musl/src/ctype/iswdigit.c',
            'musl/src/ctype/iswgraph.c',
            'musl/src/ctype/iswlower.c',
            'musl/src/ctype/iswprint.c',
            'musl/src/ctype/iswpunct.c',
            'musl/src/ctype/iswspace.c',
            'musl/src/ctype/iswupper.c',
            'musl/src/ctype/iswxdigit.c',
            'musl/src/ctype/isxdigit.c',
            'musl/src/ctype/toascii.c',
            'musl/src/ctype/tolower.c',
            'musl/src/ctype/toupper.c',
            'musl/src/ctype/towctrans.c',
            'musl/src/ctype/wcswidth.c',
            'musl/src/ctype/wctrans.c',
            'musl/src/ctype/wcwidth.c',
            'musl/src/errno/strerror.c',
            'musl/src/internal/floatscan.c',
            'musl/src/internal/intscan.c',
            'musl/src/internal/libc.c',
            'musl/src/internal/shgetc.c',
            'musl/src/math/__cos.c',
            'musl/src/math/__cosdf.c',
            'musl/src/math/__cosl.c',
            'musl/src/math/__expo2.c',
            'musl/src/math/__expo2f.c',
            'musl/src/math/__fpclassify.c',
            'musl/src/math/__fpclassifyf.c',
            'musl/src/math/__fpclassifyl.c',
            'musl/src/math/__invtrigl.c',
            'musl/src/math/__polevll.c',
            'musl/src/math/__rem_pio2.c',
            'musl/src/math/__rem_pio2_large.c',
            'musl/src/math/__rem_pio2f.c',
            'musl/src/math/__rem_pio2l.c',
            'musl/src/math/__signbit.c',
            'musl/src/math/__signbitf.c',
            'musl/src/math/__signbitl.c',
            'musl/src/math/__sin.c',
            'musl/src/math/__sindf.c',
            'musl/src/math/__sinl.c',
            'musl/src/math/__tan.c',
            'musl/src/math/__tandf.c',
            'musl/src/math/__tanl.c',
            'musl/src/math/acos.c',
            'musl/src/math/acosf.c',
            'musl/src/math/acosh.c',
            'musl/src/math/acoshf.c',
            'musl/src/math/acoshl.c',
            'musl/src/math/acosl.c',
            'musl/src/math/asin.c',
            'musl/src/math/asinf.c',
            'musl/src/math/asinh.c',
            'musl/src/math/asinhf.c',
            'musl/src/math/asinhl.c',
            'musl/src/math/asinl.c',
            'musl/src/math/atan.c',
            'musl/src/math/atan2.c',
            'musl/src/math/atan2f.c',
            'musl/src/math/atan2l.c',
            'musl/src/math/atanf.c',
            'musl/src/math/atanh.c',
            'musl/src/math/atanhf.c',
            'musl/src/math/atanhl.c',
            'musl/src/math/atanl.c',
            'musl/src/math/cbrt.c',
            'musl/src/math/cbrtf.c',
            'musl/src/math/cbrtl.c',
            'musl/src/math/ceil.c',
            'musl/src/math/ceilf.c',
            'musl/src/math/ceill.c',
            'musl/src/math/copysign.c',
            'musl/src/math/copysignf.c',
            'musl/src/math/copysignl.c',
            'musl/src/math/cos.c',
            'musl/src/math/cosf.c',
            'musl/src/math/cosh.c',
            'musl/src/math/coshf.c',
            'musl/src/math/coshl.c',
            'musl/src/math/cosl.c',
            'musl/src/math/erf.c',
            'musl/src/math/erff.c',
            'musl/src/math/erfl.c',
            'musl/src/math/exp.c',
            'musl/src/math/exp10.c',
            'musl/src/math/exp10f.c',
            'musl/src/math/exp10l.c',
            'musl/src/math/exp2.c',
            'musl/src/math/exp2f.c',
            'musl/src/math/exp2l.c',
            'musl/src/math/expf.c',
            'musl/src/math/expl.c',
            'musl/src/math/expm1.c',
            'musl/src/math/expm1f.c',
            'musl/src/math/expm1l.c',
            'musl/src/math/fabs.c',
            'musl/src/math/fabsf.c',
            'musl/src/math/fabsl.c',
            'musl/src/math/fdim.c',
            'musl/src/math/fdimf.c',
            'musl/src/math/fdiml.c',
            'musl/src/math/floor.c',
            'musl/src/math/floorf.c',
            'musl/src/math/floorl.c',
            'musl/src/math/fma.c',
            'musl/src/math/fmaf.c',
            'musl/src/math/fmal.c',
            'musl/src/math/fmax.c',
            'musl/src/math/fmaxf.c',
            'musl/src/math/fmaxl.c',
            'musl/src/math/fmin.c',
            'musl/src/math/fminf.c',
            'musl/src/math/fminl.c',
            'musl/src/math/fmod.c',
            'musl/src/math/fmodf.c',
            'musl/src/math/fmodl.c',
            'musl/src/math/frexp.c',
            'musl/src/math/frexpf.c',
            'musl/src/math/frexpl.c',
            'musl/src/math/hypot.c',
            'musl/src/math/hypotf.c',
            'musl/src/math/hypotl.c',
            'musl/src/math/ilogb.c',
            'musl/src/math/ilogbf.c',
            'musl/src/math/ilogbl.c',
            'musl/src/math/j0.c',
            'musl/src/math/j0f.c',
            'musl/src/math/j1.c',
            'musl/src/math/j1f.c',
            'musl/src/math/jn.c',
            'musl/src/math/jnf.c',
            'musl/src/math/ldexp.c',
            'musl/src/math/ldexpf.c',
            'musl/src/math/ldexpl.c',
            'musl/src/math/lgamma.c',
            'musl/src/math/lgamma_r.c',
            'musl/src/math/lgammaf.c',
            'musl/src/math/lgammaf_r.c',
            'musl/src/math/lgammal.c',
            'musl/src/math/llrint.c',
            'musl/src/math/llrintf.c',
            'musl/src/math/llrintl.c',
            'musl/src/math/llround.c',
            'musl/src/math/llroundf.c',
            'musl/src/math/llroundl.c',
            'musl/src/math/log.c',
            'musl/src/math/log10.c',
            'musl/src/math/log10f.c',
            'musl/src/math/log10l.c',
            'musl/src/math/log1p.c',
            'musl/src/math/log1pf.c',
            'musl/src/math/log1pl.c',
            'musl/src/math/log2.c',
            'musl/src/math/log2f.c',
            'musl/src/math/log2l.c',
            'musl/src/math/logb.c',
            'musl/src/math/logbf.c',
            'musl/src/math/logbl.c',
            'musl/src/math/logf.c',
            'musl/src/math/logl.c',
            'musl/src/math/lrint.c',
            'musl/src/math/lrintf.c',
            'musl/src/math/lrintl.c',
            'musl/src/math/lround.c',
            'musl/src/math/lroundf.c',
            'musl/src/math/lroundl.c',
            'musl/src/math/modf.c',
            'musl/src/math/modff.c',
            'musl/src/math/modfl.c',
            'musl/src/math/nan.c',
            'musl/src/math/nanf.c',
            'musl/src/math/nanl.c',
            'musl/src/math/nearbyint.c',
            'musl/src/math/nearbyintf.c',
            'musl/src/math/nearbyintl.c',
            'musl/src/math/nextafter.c',
            'musl/src/math/nextafterf.c',
            'musl/src/math/nextafterl.c',
            'musl/src/math/nexttoward.c',
            'musl/src/math/nexttowardf.c',
            'musl/src/math/nexttowardl.c',
            'musl/src/math/pow.c',
            'musl/src/math/powf.c',
            'musl/src/math/powl.c',
            'musl/src/math/remainder.c',
            'musl/src/math/remainderf.c',
            'musl/src/math/remainderl.c',
            'musl/src/math/remquo.c',
            'musl/src/math/remquof.c',
            'musl/src/math/remquol.c',
            'musl/src/math/rint.c',
            'musl/src/math/rintf.c',
            'musl/src/math/rintl.c',
            'musl/src/math/round.c',
            'musl/src/math/roundf.c',
            'musl/src/math/roundl.c',
            'musl/src/math/scalb.c',
            'musl/src/math/scalbf.c',
            'musl/src/math/scalbln.c',
            'musl/src/math/scalblnf.c',
            'musl/src/math/scalblnl.c',
            'musl/src/math/scalbn.c',
            'musl/src/math/scalbnf.c',
            'musl/src/math/scalbnl.c',
            'musl/src/math/signgam.c',
            'musl/src/math/significand.c',
            'musl/src/math/significandf.c',
            'musl/src/math/sin.c',
            'musl/src/math/sincos.c',
            'musl/src/math/sincosf.c',
            'musl/src/math/sincosl.c',
            'musl/src/math/sinf.c',
            'musl/src/math/sinh.c',
            'musl/src/math/sinhf.c',
            'musl/src/math/sinhl.c',
            'musl/src/math/sinl.c',
            'musl/src/math/sqrt.c',
            'musl/src/math/sqrtf.c',
            'musl/src/math/sqrtl.c',
            'musl/src/math/tan.c',
            'musl/src/math/tanf.c',
            'musl/src/math/tanh.c',
            'musl/src/math/tanhf.c',
            'musl/src/math/tanhl.c',
            'musl/src/math/tanl.c',
            'musl/src/math/tgamma.c',
            'musl/src/math/tgammaf.c',
            'musl/src/math/tgammal.c',
            'musl/src/math/trunc.c',
            'musl/src/math/truncf.c',
            'musl/src/math/truncl.c',
            'musl/src/multibyte/btowc.c',
            'musl/src/multibyte/internal.c',
            'musl/src/multibyte/mblen.c',
            'musl/src/multibyte/mbrlen.c',
            'musl/src/multibyte/mbrtowc.c',
            'musl/src/multibyte/mbsinit.c',
            'musl/src/multibyte/mbsnrtowcs.c',
            'musl/src/multibyte/mbsrtowcs.c',
            'musl/src/multibyte/mbstowcs.c',
            'musl/src/multibyte/mbtowc.c',
            'musl/src/multibyte/wcrtomb.c',
            'musl/src/multibyte/wcsnrtombs.c',
            'musl/src/multibyte/wcsrtombs.c',
            'musl/src/multibyte/wcstombs.c',
            'musl/src/multibyte/wctob.c',
            'musl/src/multibyte/wctomb.c',
            'musl/src/stdlib/abs.c',
            'musl/src/stdlib/atof.c',
            'musl/src/stdlib/atoi.c',
            'musl/src/stdlib/atol.c',
            'musl/src/stdlib/atoll.c',
            'musl/src/stdlib/bsearch.c',
            'musl/src/stdlib/div.c',
            'musl/src/stdlib/ecvt.c',
            'musl/src/stdlib/fcvt.c',
            'musl/src/stdlib/gcvt.c',
            'musl/src/stdlib/imaxabs.c',
            'musl/src/stdlib/imaxdiv.c',
            'musl/src/stdlib/labs.c',
            'musl/src/stdlib/ldiv.c',
            'musl/src/stdlib/llabs.c',
            'musl/src/stdlib/lldiv.c',
            'musl/src/stdlib/qsort.c',
            'musl/src/stdlib/strtod.c',
            'musl/src/stdlib/strtol.c',
            'musl/src/stdlib/wcstod.c',
            'musl/src/stdlib/wcstol.c',
            'musl/src/string/bcmp.c',
            'musl/src/string/bcopy.c',
            'musl/src/string/bzero.c',
            'musl/src/string/index.c',
            'musl/src/string/memccpy.c',
            'musl/src/string/memchr.c',
            'musl/src/string/memcmp.c',
            'musl/src/string/memcpy.c',
            'musl/src/string/memmem.c',
            'musl/src/string/memmove.c',
            'musl/src/string/mempcpy.c',
            'musl/src/string/memrchr.c',
            'musl/src/string/memset.c',
            'musl/src/string/rindex.c',
            'musl/src/string/stpcpy.c',
            'musl/src/string/stpncpy.c',
            'musl/src/string/strcasecmp.c',
            'musl/src/string/strcasestr.c',
            'musl/src/string/strcat.c',
            'musl/src/string/strchr.c',
            'musl/src/string/strchrnul.c',
            'musl/src/string/strcmp.c',
            'musl/src/string/strcpy.c',
            'musl/src/string/strcspn.c',
            'musl/src/string/strdup.c',
            'musl/src/string/strerror_r.c',
            'musl/src/string/strlcat.c',
            'musl/src/string/strlcpy.c',
            'musl/src/string/strlen.c',
            'musl/src/string/strncasecmp.c',
            'musl/src/string/strncat.c',
            'musl/src/string/strncmp.c',
            'musl/src/string/strncpy.c',
            'musl/src/string/strndup.c',
            'musl/src/string/strnlen.c',
            'musl/src/string/strpbrk.c',
            'musl/src/string/strrchr.c',
            'musl/src/string/strsep.c',
            'musl/src/string/strsignal.c',
            'musl/src/string/strspn.c',
            'musl/src/string/strstr.c',
            'musl/src/string/strtok.c',
            'musl/src/string/strtok_r.c',
            'musl/src/string/strverscmp.c',
            'musl/src/string/swab.c',
            'musl/src/string/wcpcpy.c',
            'musl/src/string/wcpncpy.c',
            'musl/src/string/wcscasecmp.c',
            'musl/src/string/wcscasecmp_l.c',
            'musl/src/string/wcscat.c',
            'musl/src/string/wcschr.c',
            'musl/src/string/wcscmp.c',
            'musl/src/string/wcscpy.c',
            'musl/src/string/wcscspn.c',
            'musl/src/string/wcsdup.c',
            'musl/src/string/wcslen.c',
            'musl/src/string/wcsncasecmp.c',
            'musl/src/string/wcsncasecmp_l.c',
            'musl/src/string/wcsncat.c',
            'musl/src/string/wcsncmp.c',
            'musl/src/string/wcsncpy.c',
            'musl/src/string/wcsnlen.c',
            'musl/src/string/wcspbrk.c',
            'musl/src/string/wcsrchr.c',
            'musl/src/string/wcsspn.c',
            'musl/src/string/wcsstr.c',
            'musl/src/string/wcstok.c',
            'musl/src/string/wcswcs.c',
            'musl/src/string/wmemchr.c',
            'musl/src/string/wmemcmp.c',
            'musl/src/string/wmemcpy.c',
            'musl/src/string/wmemmove.c',
            'musl/src/string/wmemset.c',
        ],
    },
    "printf": {
        "include": [
            'musl/src/internal',
            'musl/include',
            'musl/arch/x86_64',
            'musl/arch/x86_64/bits',
        ],
        "source": [
            'printf/printf.cc',
        ],
    },
}


for targetname, params in libs_config.items():
    target_env = env_base.Clone();
    target_env.Replace(CPPPATH = params["include"])
    target_env.Library(target = targetname, source = params["source"])

