123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- /*++
- Copyright (c) 2013 Minoca Corp. All Rights Reserved
- Module Name:
- msetup
- Abstract:
- This executable implements the setup (OS installer) executable.
- Author:
- Evan Green 10-Apr-2014
- Environment:
- User
- --*/
- function build() {
- common_sources = [
- "cache.c",
- "disk.c",
- "fatdev.c",
- "fileio.c",
- "indat.c",
- "partio.c",
- "plat.c",
- "setup.c",
- "steps.c",
- "util.c"
- ];
- minoca_sources = [
- "minoca/io.c",
- "minoca/misc.c",
- "minoca/part.c"
- ];
- uos_sources = [
- "uos/io.c",
- "uos/misc.c",
- "uos/part.c"
- ];
- win32_sources = [
- "win32/io.c",
- "win32/misc.c",
- "win32/msetuprc.rc",
- "win32/part.c",
- "win32/win32sup.c"
- ];
- target_libs = [
- "//lib/partlib:partlib",
- "//lib/fatlib:fat",
- "//lib/bconflib:bconf",
- "//lib/rtl/base:basertl",
- "//apps/osbase/urtl:urtl",
- "//apps/lib/chalk:chalk",
- "//lib/yy:yy",
- "//apps/setup/config:msetplat"
- ];
- build_libs = [
- "//lib/partlib:build_partlib",
- "//lib/fatlib:build_fat",
- "//lib/bconflib:build_bconf",
- "//lib/rtl/base:build_basertl",
- "//lib/rtl/rtlc:build_rtlc",
- "//apps/lib/chalk:build_chalk",
- "//lib/yy:build_yy",
- "//apps/setup/config:build_msetplat"
- ];
- target_dynlibs = [
- "//apps/osbase:libminocaos"
- ];
- build_includes = [
- "$//apps/lib/chalk"
- ];
- target_includes = build_includes + [
- "$//apps/libc/include",
- ];
- target_sources = common_sources + minoca_sources + target_libs +
- target_dynlibs;
- build_config = {};
- if (build_os == "Windows") {
- build_sources = common_sources + win32_sources;
- build_config["DYNLIBS"] = ["-lsetupapi"];
- } else if (build_os == "Minoca") {
- build_sources = common_sources + minoca_sources + target_dynlibs;
- build_includes = target_includes;
- } else {
- build_sources = common_sources + uos_sources;
- }
- app = {
- "label": "msetup",
- "inputs": target_sources,
- "includes": target_includes
- };
- build_app = {
- "label": "build_msetup",
- "output": "msetup",
- "inputs": build_sources + build_libs,
- "includes": build_includes,
- "config": build_config,
- "build": TRUE,
- "prefix": "build"
- };
- entries = application(app);
- entries += application(build_app);
- setup_tool = {
- "type": "tool",
- "name": "msetup_image",
- "command": "$^/apps/setup/build/msetup $MSETUP_FLAGS -d $OUT",
- "description": "Building Image - $OUT",
- "pool": "image"
- };
- image_pool = {
- "type": "pool",
- "name": "image",
- "depth": 1
- };
- entries += [setup_tool, image_pool];
- return entries;
- }
- return build();
|