| Remote-Package: range-v3 0.10.0; git url=https://github.com/ericniebler/range-v3.git ref=0.10.0 auto=Niebler/range-v3 | |||||
| Remote-Package: spdlog 1.4.2; git url=https://github.com/gabime/spdlog.git ref=v1.4.2 auto=spdlog/spdlog | |||||
| # Even a shallow clone of nlohmann-json is HUGE. This fork has only the minimal | |||||
| Remote-Package: nlohmann-json 3.7.1; git url=https://github.com/vector-of-bool/json.git ref=dds/3.7.1 | |||||
| # MS never tags anything in this repo, so we'll use a fork that has some tags. | |||||
| Remote-Package: ms-wil 2019.11.10; git url=https://github.com/vector-of-bool/wil.git ref=dds/2019.11.10 | |||||
| # XXX: Don't depend on a moving revision! | |||||
| Remote-Package: neo-buffer 0.1.0; git url=https://github.com/vector-of-bool/neo-buffer.git ref=develop | |||||
| Remote-Package: neo-sqlite3 0.2.2; git url=https://github.com/vector-of-bool/neo-sqlite3.git ref=0.2.2 | |||||
| Remote-Package: semver 0.2.1; git url=https://github.com/vector-of-bool/semver.git ref=0.2.1 | |||||
| Remote-Package: pubgrub 0.1.2; git url=https://github.com/vector-of-bool/pubgrub.git ref=0.1.2 |
| from dds_ci import paths | from dds_ci import paths | ||||
| from self_build import self_build | from self_build import self_build | ||||
| from self_deps_get import self_deps_get | |||||
| from self_deps_build import self_deps_build | |||||
| ROOT = Path(__file__).parent.parent.absolute() | ROOT = Path(__file__).parent.parent.absolute() | ||||
| BUILD_DIR = ROOT / '_build' | BUILD_DIR = ROOT / '_build' | ||||
| shutil.rmtree(BUILD_DIR) | shutil.rmtree(BUILD_DIR) | ||||
| print(f'Using previously built DDS executable: {dds_exe}') | print(f'Using previously built DDS executable: {dds_exe}') | ||||
| self_deps_get(dds_exe, paths.SELF_TEST_REPO_DIR) | |||||
| if os.name == 'nt': | if os.name == 'nt': | ||||
| tc_fpath = ROOT / 'tools/msvc.dds' | tc_fpath = ROOT / 'tools/msvc.dds' | ||||
| else: | else: | ||||
| tc_fpath = ROOT / 'tools/gcc-9.dds' | tc_fpath = ROOT / 'tools/gcc-9.dds' | ||||
| self_deps_build(dds_exe, str(tc_fpath), paths.SELF_TEST_REPO_DIR, | |||||
| ROOT / 'remote.dds') | |||||
| self_build(dds_exe, toolchain=str(tc_fpath), dds_flags=['--apps']) | |||||
| self_build(dds_exe, toolchain=str(tc_fpath)) | |||||
| return 0 | return 0 | ||||
| import shutil | import shutil | ||||
| from self_build import self_build | from self_build import self_build | ||||
| from self_deps_get import self_deps_get | |||||
| from self_deps_build import self_deps_build | |||||
| from dds_ci import paths, proc | from dds_ci import paths, proc | ||||
| # Range-v3 0.10.0 contains an accidental conversion warning | # Range-v3 0.10.0 contains an accidental conversion warning | ||||
| Flags: -D SPDLOG_COMPILED_LIB -fconcepts -Werror=return-type -Wno-conversion | Flags: -D SPDLOG_COMPILED_LIB -fconcepts -Werror=return-type -Wno-conversion | ||||
| Link-Flags: -static-libgcc -static-libstdc++ | Link-Flags: -static-libgcc -static-libstdc++ | ||||
| Debug: True | |||||
| # Debug: True | |||||
| Optimize: True | |||||
| Compiler-Launcher: ccache | Compiler-Launcher: ccache |
| new_exe = ROOT / '_dds.bootstrap-test.exe' | new_exe = ROOT / '_dds.bootstrap-test.exe' | ||||
| shutil.copy2(exe, new_exe) | shutil.copy2(exe, new_exe) | ||||
| try: | try: | ||||
| proc.check_run( | |||||
| new_exe, | |||||
| 'catalog', | |||||
| 'import', | |||||
| f'--catalog=_build/catalog.db', | |||||
| f'--json=catalog.json', | |||||
| ) | |||||
| proc.check_run( | proc.check_run( | ||||
| new_exe, | new_exe, | ||||
| 'build', | 'build', | ||||
| f'--catalog=_build/catalog.db', | |||||
| f'--repo-dir=_build/ci-repo', | |||||
| dds_flags, | dds_flags, | ||||
| ('--toolchain', toolchain), | ('--toolchain', toolchain), | ||||
| ('-I', lmi_path) if lmi_path else (), | ('-I', lmi_path) if lmi_path else (), |
| import argparse | |||||
| from pathlib import Path | |||||
| from dds_ci import cli, proc, paths | |||||
| def self_deps_build(exe: Path, toolchain: str, repo_dir: Path, | |||||
| remote_list: Path) -> None: | |||||
| proc.check_run( | |||||
| exe, | |||||
| 'deps', | |||||
| 'build', | |||||
| ('--repo-dir', repo_dir), | |||||
| ('-T', toolchain), | |||||
| ) | |||||
| def main(): | |||||
| parser = argparse.ArgumentParser() | |||||
| cli.add_dds_exe_arg(parser) | |||||
| cli.add_tc_arg(parser) | |||||
| parser.add_argument('--repo-dir', default=paths.SELF_TEST_REPO_DIR) | |||||
| args = parser.parse_args() | |||||
| self_deps_build( | |||||
| Path(args.exe), args.toolchain, args.repo_dir, | |||||
| paths.PROJECT_ROOT / 'remote.dds') | |||||
| if __name__ == "__main__": | |||||
| main() |
| from pathlib import Path | |||||
| from dds_ci import proc, paths | |||||
| PROJECT_ROOT = Path(__file__).absolute().parent.parent | |||||
| def self_deps_get(dds_exe: Path, repo_dir: Path) -> None: | |||||
| proc.check_run( | |||||
| dds_exe, | |||||
| 'deps', | |||||
| 'get', | |||||
| ('--repo-dir', repo_dir), | |||||
| ('--remote-list', PROJECT_ROOT / 'remote.dds'), | |||||
| ) | |||||
| if __name__ == "__main__": | |||||
| self_deps_get(paths.CUR_BUILT_DDS, paths.SELF_TEST_REPO_DIR) |