authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-01-03 19:39:04-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-01-03 19:39:04-05:00
log5a800db48cde943a7fd80fdbfb42bc69a325ca76
treee5e1f2e1575296aa541fd88b55403c6d9535d126
parenta45db7e853c2aa04ff7a91dbda975f181aa467bd

build: std files and c header files are only specified once

In the CMakeLists.txt file. And then we communicate the list to the zig build.

4 files changed, 250 insertions(+), 332 deletions(-)

CMakeLists.txt+225-211
......@@ -353,6 +353,223 @@ set(ZIG_CPP_SOURCES
353353 "${CMAKE_SOURCE_DIR}/src/zig_llvm.cpp"
354354)
355355
356set(ZIG_STD_FILES
357 "array_list.zig"
358 "base64.zig"
359 "buf_map.zig"
360 "buf_set.zig"
361 "buffer.zig"
362 "build.zig"
363 "c/darwin.zig"
364 "c/index.zig"
365 "c/linux.zig"
366 "c/windows.zig"
367 "cstr.zig"
368 "debug/failing_allocator.zig"
369 "debug/index.zig"
370 "dwarf.zig"
371 "elf.zig"
372 "empty.zig"
373 "endian.zig"
374 "fmt/errol/enum3.zig"
375 "fmt/errol/index.zig"
376 "fmt/errol/lookup.zig"
377 "fmt/index.zig"
378 "hash_map.zig"
379 "heap.zig"
380 "index.zig"
381 "io.zig"
382 "linked_list.zig"
383 "math/acos.zig"
384 "math/acosh.zig"
385 "math/asin.zig"
386 "math/asinh.zig"
387 "math/atan.zig"
388 "math/atan2.zig"
389 "math/atanh.zig"
390 "math/cbrt.zig"
391 "math/ceil.zig"
392 "math/copysign.zig"
393 "math/cos.zig"
394 "math/cosh.zig"
395 "math/exp.zig"
396 "math/exp2.zig"
397 "math/expm1.zig"
398 "math/expo2.zig"
399 "math/fabs.zig"
400 "math/floor.zig"
401 "math/fma.zig"
402 "math/frexp.zig"
403 "math/hypot.zig"
404 "math/ilogb.zig"
405 "math/index.zig"
406 "math/inf.zig"
407 "math/isfinite.zig"
408 "math/isinf.zig"
409 "math/isnan.zig"
410 "math/isnormal.zig"
411 "math/ln.zig"
412 "math/log.zig"
413 "math/log10.zig"
414 "math/log1p.zig"
415 "math/log2.zig"
416 "math/modf.zig"
417 "math/nan.zig"
418 "math/pow.zig"
419 "math/round.zig"
420 "math/scalbn.zig"
421 "math/signbit.zig"
422 "math/sin.zig"
423 "math/sinh.zig"
424 "math/sqrt.zig"
425 "math/tan.zig"
426 "math/tanh.zig"
427 "math/trunc.zig"
428 "mem.zig"
429 "net.zig"
430 "os/child_process.zig"
431 "os/darwin.zig"
432 "os/darwin_errno.zig"
433 "os/get_user_id.zig"
434 "os/index.zig"
435 "os/linux.zig"
436 "os/linux_errno.zig"
437 "os/linux_i386.zig"
438 "os/linux_x86_64.zig"
439 "os/path.zig"
440 "os/windows/error.zig"
441 "os/windows/index.zig"
442 "os/windows/util.zig"
443 "rand.zig"
444 "sort.zig"
445 "special/bootstrap.zig"
446 "special/bootstrap_lib.zig"
447 "special/build_file_template.zig"
448 "special/build_runner.zig"
449 "special/builtin.zig"
450 "special/compiler_rt/aulldiv.zig"
451 "special/compiler_rt/aullrem.zig"
452 "special/compiler_rt/comparetf2.zig"
453 "special/compiler_rt/fixuint.zig"
454 "special/compiler_rt/fixunsdfdi.zig"
455 "special/compiler_rt/fixunsdfsi.zig"
456 "special/compiler_rt/fixunsdfti.zig"
457 "special/compiler_rt/fixunssfdi.zig"
458 "special/compiler_rt/fixunssfsi.zig"
459 "special/compiler_rt/fixunssfti.zig"
460 "special/compiler_rt/fixunstfdi.zig"
461 "special/compiler_rt/fixunstfsi.zig"
462 "special/compiler_rt/fixunstfti.zig"
463 "special/compiler_rt/index.zig"
464 "special/compiler_rt/udivmod.zig"
465 "special/compiler_rt/udivmoddi4.zig"
466 "special/compiler_rt/udivmodti4.zig"
467 "special/compiler_rt/udivti3.zig"
468 "special/compiler_rt/umodti3.zig"
469 "special/panic.zig"
470 "special/test_runner.zig"
471 "unicode.zig"
472)
473
474set(ZIG_C_HEADER_FILES
475 "__clang_cuda_builtin_vars.h"
476 "__clang_cuda_cmath.h"
477 "__clang_cuda_complex_builtins.h"
478 "__clang_cuda_intrinsics.h"
479 "__clang_cuda_math_forward_declares.h"
480 "__clang_cuda_runtime_wrapper.h"
481 "__stddef_max_align_t.h"
482 "__wmmintrin_aes.h"
483 "__wmmintrin_pclmul.h"
484 "adxintrin.h"
485 "altivec.h"
486 "ammintrin.h"
487 "arm_acle.h"
488 "arm_neon.h"
489 "armintr.h"
490 "avx2intrin.h"
491 "avx512bwintrin.h"
492 "avx512cdintrin.h"
493 "avx512dqintrin.h"
494 "avx512erintrin.h"
495 "avx512fintrin.h"
496 "avx512ifmaintrin.h"
497 "avx512ifmavlintrin.h"
498 "avx512pfintrin.h"
499 "avx512vbmiintrin.h"
500 "avx512vbmivlintrin.h"
501 "avx512vlbwintrin.h"
502 "avx512vlcdintrin.h"
503 "avx512vldqintrin.h"
504 "avx512vlintrin.h"
505 "avx512vpopcntdqintrin.h"
506 "avxintrin.h"
507 "bmi2intrin.h"
508 "bmiintrin.h"
509 "clflushoptintrin.h"
510 "clzerointrin.h"
511 "cpuid.h"
512 "cuda_wrappers/algorithm"
513 "cuda_wrappers/complex"
514 "cuda_wrappers/new"
515 "emmintrin.h"
516 "f16cintrin.h"
517 "float.h"
518 "fma4intrin.h"
519 "fmaintrin.h"
520 "fxsrintrin.h"
521 "htmintrin.h"
522 "htmxlintrin.h"
523 "ia32intrin.h"
524 "immintrin.h"
525 "intrin.h"
526 "inttypes.h"
527 "iso646.h"
528 "limits.h"
529 "lwpintrin.h"
530 "lzcntintrin.h"
531 "mm3dnow.h"
532 "mm_malloc.h"
533 "mmintrin.h"
534 "module.modulemap"
535 "msa.h"
536 "mwaitxintrin.h"
537 "nmmintrin.h"
538 "opencl-c.h"
539 "pkuintrin.h"
540 "pmmintrin.h"
541 "popcntintrin.h"
542 "prfchwintrin.h"
543 "rdseedintrin.h"
544 "rtmintrin.h"
545 "s390intrin.h"
546 "shaintrin.h"
547 "smmintrin.h"
548 "stdalign.h"
549 "stdarg.h"
550 "stdatomic.h"
551 "stdbool.h"
552 "stddef.h"
553 "stdint.h"
554 "stdnoreturn.h"
555 "tbmintrin.h"
556 "tgmath.h"
557 "tmmintrin.h"
558 "unwind.h"
559 "vadefs.h"
560 "varargs.h"
561 "vecintrin.h"
562 "wmmintrin.h"
563 "x86intrin.h"
564 "xmmintrin.h"
565 "xopintrin.h"
566 "xsavecintrin.h"
567 "xsaveintrin.h"
568 "xsaveoptintrin.h"
569 "xsavesintrin.h"
570 "xtestintrin.h"
571)
572
356573set(ZIG_LIB_DIR "lib/zig")
357574set(C_HEADERS_DEST "${ZIG_LIB_DIR}/include")
358575set(ZIG_STD_DEST "${ZIG_LIB_DIR}/std")
......@@ -420,215 +637,12 @@ endif()
420637install(TARGETS zig DESTINATION bin)
421638install(TARGETS zig_cpp DESTINATION "${ZIG_CPP_LIB_DIR}")
422639
423install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_builtin_vars.h" DESTINATION "${C_HEADERS_DEST}")
424install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_cmath.h" DESTINATION "${C_HEADERS_DEST}")
425install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_complex_builtins.h" DESTINATION "${C_HEADERS_DEST}")
426install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_intrinsics.h" DESTINATION "${C_HEADERS_DEST}")
427install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_math_forward_declares.h" DESTINATION "${C_HEADERS_DEST}")
428install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__clang_cuda_runtime_wrapper.h" DESTINATION "${C_HEADERS_DEST}")
429install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__stddef_max_align_t.h" DESTINATION "${C_HEADERS_DEST}")
430install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__wmmintrin_aes.h" DESTINATION "${C_HEADERS_DEST}")
431install(FILES "${CMAKE_SOURCE_DIR}/c_headers/__wmmintrin_pclmul.h" DESTINATION "${C_HEADERS_DEST}")
432install(FILES "${CMAKE_SOURCE_DIR}/c_headers/adxintrin.h" DESTINATION "${C_HEADERS_DEST}")
433install(FILES "${CMAKE_SOURCE_DIR}/c_headers/altivec.h" DESTINATION "${C_HEADERS_DEST}")
434install(FILES "${CMAKE_SOURCE_DIR}/c_headers/ammintrin.h" DESTINATION "${C_HEADERS_DEST}")
435install(FILES "${CMAKE_SOURCE_DIR}/c_headers/arm_acle.h" DESTINATION "${C_HEADERS_DEST}")
436install(FILES "${CMAKE_SOURCE_DIR}/c_headers/arm_neon.h" DESTINATION "${C_HEADERS_DEST}")
437install(FILES "${CMAKE_SOURCE_DIR}/c_headers/armintr.h" DESTINATION "${C_HEADERS_DEST}")
438install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx2intrin.h" DESTINATION "${C_HEADERS_DEST}")
439install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512bwintrin.h" DESTINATION "${C_HEADERS_DEST}")
440install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512cdintrin.h" DESTINATION "${C_HEADERS_DEST}")
441install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512dqintrin.h" DESTINATION "${C_HEADERS_DEST}")
442install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512erintrin.h" DESTINATION "${C_HEADERS_DEST}")
443install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512fintrin.h" DESTINATION "${C_HEADERS_DEST}")
444install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512ifmaintrin.h" DESTINATION "${C_HEADERS_DEST}")
445install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512ifmavlintrin.h" DESTINATION "${C_HEADERS_DEST}")
446install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512pfintrin.h" DESTINATION "${C_HEADERS_DEST}")
447install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vbmiintrin.h" DESTINATION "${C_HEADERS_DEST}")
448install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vbmivlintrin.h" DESTINATION "${C_HEADERS_DEST}")
449install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vlbwintrin.h" DESTINATION "${C_HEADERS_DEST}")
450install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vlcdintrin.h" DESTINATION "${C_HEADERS_DEST}")
451install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vldqintrin.h" DESTINATION "${C_HEADERS_DEST}")
452install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vlintrin.h" DESTINATION "${C_HEADERS_DEST}")
453install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avx512vpopcntdqintrin.h" DESTINATION "${C_HEADERS_DEST}")
454install(FILES "${CMAKE_SOURCE_DIR}/c_headers/avxintrin.h" DESTINATION "${C_HEADERS_DEST}")
455install(FILES "${CMAKE_SOURCE_DIR}/c_headers/bmi2intrin.h" DESTINATION "${C_HEADERS_DEST}")
456install(FILES "${CMAKE_SOURCE_DIR}/c_headers/bmiintrin.h" DESTINATION "${C_HEADERS_DEST}")
457install(FILES "${CMAKE_SOURCE_DIR}/c_headers/clflushoptintrin.h" DESTINATION "${C_HEADERS_DEST}")
458install(FILES "${CMAKE_SOURCE_DIR}/c_headers/clzerointrin.h" DESTINATION "${C_HEADERS_DEST}")
459install(FILES "${CMAKE_SOURCE_DIR}/c_headers/cpuid.h" DESTINATION "${C_HEADERS_DEST}")
460install(FILES "${CMAKE_SOURCE_DIR}/c_headers/cuda_wrappers/algorithm" DESTINATION "${C_HEADERS_DEST}/cuda_wrappers")
461install(FILES "${CMAKE_SOURCE_DIR}/c_headers/cuda_wrappers/complex" DESTINATION "${C_HEADERS_DEST}/cuda_wrappers")
462install(FILES "${CMAKE_SOURCE_DIR}/c_headers/cuda_wrappers/new" DESTINATION "${C_HEADERS_DEST}/cuda_wrappers")
463install(FILES "${CMAKE_SOURCE_DIR}/c_headers/emmintrin.h" DESTINATION "${C_HEADERS_DEST}")
464install(FILES "${CMAKE_SOURCE_DIR}/c_headers/f16cintrin.h" DESTINATION "${C_HEADERS_DEST}")
465install(FILES "${CMAKE_SOURCE_DIR}/c_headers/float.h" DESTINATION "${C_HEADERS_DEST}")
466install(FILES "${CMAKE_SOURCE_DIR}/c_headers/fma4intrin.h" DESTINATION "${C_HEADERS_DEST}")
467install(FILES "${CMAKE_SOURCE_DIR}/c_headers/fmaintrin.h" DESTINATION "${C_HEADERS_DEST}")
468install(FILES "${CMAKE_SOURCE_DIR}/c_headers/fxsrintrin.h" DESTINATION "${C_HEADERS_DEST}")
469install(FILES "${CMAKE_SOURCE_DIR}/c_headers/htmintrin.h" DESTINATION "${C_HEADERS_DEST}")
470install(FILES "${CMAKE_SOURCE_DIR}/c_headers/htmxlintrin.h" DESTINATION "${C_HEADERS_DEST}")
471install(FILES "${CMAKE_SOURCE_DIR}/c_headers/ia32intrin.h" DESTINATION "${C_HEADERS_DEST}")
472install(FILES "${CMAKE_SOURCE_DIR}/c_headers/immintrin.h" DESTINATION "${C_HEADERS_DEST}")
473install(FILES "${CMAKE_SOURCE_DIR}/c_headers/intrin.h" DESTINATION "${C_HEADERS_DEST}")
474install(FILES "${CMAKE_SOURCE_DIR}/c_headers/inttypes.h" DESTINATION "${C_HEADERS_DEST}")
475install(FILES "${CMAKE_SOURCE_DIR}/c_headers/iso646.h" DESTINATION "${C_HEADERS_DEST}")
476install(FILES "${CMAKE_SOURCE_DIR}/c_headers/limits.h" DESTINATION "${C_HEADERS_DEST}")
477install(FILES "${CMAKE_SOURCE_DIR}/c_headers/lwpintrin.h" DESTINATION "${C_HEADERS_DEST}")
478install(FILES "${CMAKE_SOURCE_DIR}/c_headers/lzcntintrin.h" DESTINATION "${C_HEADERS_DEST}")
479install(FILES "${CMAKE_SOURCE_DIR}/c_headers/mm3dnow.h" DESTINATION "${C_HEADERS_DEST}")
480install(FILES "${CMAKE_SOURCE_DIR}/c_headers/mm_malloc.h" DESTINATION "${C_HEADERS_DEST}")
481install(FILES "${CMAKE_SOURCE_DIR}/c_headers/mmintrin.h" DESTINATION "${C_HEADERS_DEST}")
482install(FILES "${CMAKE_SOURCE_DIR}/c_headers/module.modulemap" DESTINATION "${C_HEADERS_DEST}")
483install(FILES "${CMAKE_SOURCE_DIR}/c_headers/msa.h" DESTINATION "${C_HEADERS_DEST}")
484install(FILES "${CMAKE_SOURCE_DIR}/c_headers/mwaitxintrin.h" DESTINATION "${C_HEADERS_DEST}")
485install(FILES "${CMAKE_SOURCE_DIR}/c_headers/nmmintrin.h" DESTINATION "${C_HEADERS_DEST}")
486install(FILES "${CMAKE_SOURCE_DIR}/c_headers/opencl-c.h" DESTINATION "${C_HEADERS_DEST}")
487install(FILES "${CMAKE_SOURCE_DIR}/c_headers/pkuintrin.h" DESTINATION "${C_HEADERS_DEST}")
488install(FILES "${CMAKE_SOURCE_DIR}/c_headers/pmmintrin.h" DESTINATION "${C_HEADERS_DEST}")
489install(FILES "${CMAKE_SOURCE_DIR}/c_headers/popcntintrin.h" DESTINATION "${C_HEADERS_DEST}")
490install(FILES "${CMAKE_SOURCE_DIR}/c_headers/prfchwintrin.h" DESTINATION "${C_HEADERS_DEST}")
491install(FILES "${CMAKE_SOURCE_DIR}/c_headers/rdseedintrin.h" DESTINATION "${C_HEADERS_DEST}")
492install(FILES "${CMAKE_SOURCE_DIR}/c_headers/rtmintrin.h" DESTINATION "${C_HEADERS_DEST}")
493install(FILES "${CMAKE_SOURCE_DIR}/c_headers/s390intrin.h" DESTINATION "${C_HEADERS_DEST}")
494install(FILES "${CMAKE_SOURCE_DIR}/c_headers/shaintrin.h" DESTINATION "${C_HEADERS_DEST}")
495install(FILES "${CMAKE_SOURCE_DIR}/c_headers/smmintrin.h" DESTINATION "${C_HEADERS_DEST}")
496install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdalign.h" DESTINATION "${C_HEADERS_DEST}")
497install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdarg.h" DESTINATION "${C_HEADERS_DEST}")
498install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdatomic.h" DESTINATION "${C_HEADERS_DEST}")
499install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdbool.h" DESTINATION "${C_HEADERS_DEST}")
500install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stddef.h" DESTINATION "${C_HEADERS_DEST}")
501install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdint.h" DESTINATION "${C_HEADERS_DEST}")
502install(FILES "${CMAKE_SOURCE_DIR}/c_headers/stdnoreturn.h" DESTINATION "${C_HEADERS_DEST}")
503install(FILES "${CMAKE_SOURCE_DIR}/c_headers/tbmintrin.h" DESTINATION "${C_HEADERS_DEST}")
504install(FILES "${CMAKE_SOURCE_DIR}/c_headers/tgmath.h" DESTINATION "${C_HEADERS_DEST}")
505install(FILES "${CMAKE_SOURCE_DIR}/c_headers/tmmintrin.h" DESTINATION "${C_HEADERS_DEST}")
506install(FILES "${CMAKE_SOURCE_DIR}/c_headers/unwind.h" DESTINATION "${C_HEADERS_DEST}")
507install(FILES "${CMAKE_SOURCE_DIR}/c_headers/vadefs.h" DESTINATION "${C_HEADERS_DEST}")
508install(FILES "${CMAKE_SOURCE_DIR}/c_headers/varargs.h" DESTINATION "${C_HEADERS_DEST}")
509install(FILES "${CMAKE_SOURCE_DIR}/c_headers/vecintrin.h" DESTINATION "${C_HEADERS_DEST}")
510install(FILES "${CMAKE_SOURCE_DIR}/c_headers/wmmintrin.h" DESTINATION "${C_HEADERS_DEST}")
511install(FILES "${CMAKE_SOURCE_DIR}/c_headers/x86intrin.h" DESTINATION "${C_HEADERS_DEST}")
512install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xmmintrin.h" DESTINATION "${C_HEADERS_DEST}")
513install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xopintrin.h" DESTINATION "${C_HEADERS_DEST}")
514install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xsavecintrin.h" DESTINATION "${C_HEADERS_DEST}")
515install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xsaveintrin.h" DESTINATION "${C_HEADERS_DEST}")
516install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xsaveoptintrin.h" DESTINATION "${C_HEADERS_DEST}")
517install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xsavesintrin.h" DESTINATION "${C_HEADERS_DEST}")
518install(FILES "${CMAKE_SOURCE_DIR}/c_headers/xtestintrin.h" DESTINATION "${C_HEADERS_DEST}")
640foreach(file ${ZIG_C_HEADER_FILES})
641 get_filename_component(file_dir "${C_HEADERS_DEST}/${file}" DIRECTORY)
642 install(FILES "${CMAKE_SOURCE_DIR}/c_headers/${file}" DESTINATION "${file_dir}")
643endforeach()
519644
520install(FILES "${CMAKE_SOURCE_DIR}/std/array_list.zig" DESTINATION "${ZIG_STD_DEST}")
521install(FILES "${CMAKE_SOURCE_DIR}/std/base64.zig" DESTINATION "${ZIG_STD_DEST}")
522install(FILES "${CMAKE_SOURCE_DIR}/std/buf_map.zig" DESTINATION "${ZIG_STD_DEST}")
523install(FILES "${CMAKE_SOURCE_DIR}/std/buf_set.zig" DESTINATION "${ZIG_STD_DEST}")
524install(FILES "${CMAKE_SOURCE_DIR}/std/buffer.zig" DESTINATION "${ZIG_STD_DEST}")
525install(FILES "${CMAKE_SOURCE_DIR}/std/build.zig" DESTINATION "${ZIG_STD_DEST}")
526install(FILES "${CMAKE_SOURCE_DIR}/std/c/darwin.zig" DESTINATION "${ZIG_STD_DEST}/c")
527install(FILES "${CMAKE_SOURCE_DIR}/std/c/index.zig" DESTINATION "${ZIG_STD_DEST}/c")
528install(FILES "${CMAKE_SOURCE_DIR}/std/c/linux.zig" DESTINATION "${ZIG_STD_DEST}/c")
529install(FILES "${CMAKE_SOURCE_DIR}/std/c/windows.zig" DESTINATION "${ZIG_STD_DEST}/c")
530install(FILES "${CMAKE_SOURCE_DIR}/std/cstr.zig" DESTINATION "${ZIG_STD_DEST}")
531install(FILES "${CMAKE_SOURCE_DIR}/std/debug/index.zig" DESTINATION "${ZIG_STD_DEST}/debug")
532install(FILES "${CMAKE_SOURCE_DIR}/std/debug/failing_allocator.zig" DESTINATION "${ZIG_STD_DEST}/debug")
533install(FILES "${CMAKE_SOURCE_DIR}/std/dwarf.zig" DESTINATION "${ZIG_STD_DEST}")
534install(FILES "${CMAKE_SOURCE_DIR}/std/elf.zig" DESTINATION "${ZIG_STD_DEST}")
535install(FILES "${CMAKE_SOURCE_DIR}/std/empty.zig" DESTINATION "${ZIG_STD_DEST}")
536install(FILES "${CMAKE_SOURCE_DIR}/std/endian.zig" DESTINATION "${ZIG_STD_DEST}")
537install(FILES "${CMAKE_SOURCE_DIR}/std/fmt/errol/enum3.zig" DESTINATION "${ZIG_STD_DEST}/fmt/errol")
538install(FILES "${CMAKE_SOURCE_DIR}/std/fmt/errol/index.zig" DESTINATION "${ZIG_STD_DEST}/fmt/errol")
539install(FILES "${CMAKE_SOURCE_DIR}/std/fmt/errol/lookup.zig" DESTINATION "${ZIG_STD_DEST}/fmt/errol")
540install(FILES "${CMAKE_SOURCE_DIR}/std/fmt/index.zig" DESTINATION "${ZIG_STD_DEST}/fmt")
541install(FILES "${CMAKE_SOURCE_DIR}/std/hash_map.zig" DESTINATION "${ZIG_STD_DEST}")
542install(FILES "${CMAKE_SOURCE_DIR}/std/heap.zig" DESTINATION "${ZIG_STD_DEST}")
543install(FILES "${CMAKE_SOURCE_DIR}/std/index.zig" DESTINATION "${ZIG_STD_DEST}")
544install(FILES "${CMAKE_SOURCE_DIR}/std/io.zig" DESTINATION "${ZIG_STD_DEST}")
545install(FILES "${CMAKE_SOURCE_DIR}/std/linked_list.zig" DESTINATION "${ZIG_STD_DEST}")
546install(FILES "${CMAKE_SOURCE_DIR}/std/math/acos.zig" DESTINATION "${ZIG_STD_DEST}/math")
547install(FILES "${CMAKE_SOURCE_DIR}/std/math/acosh.zig" DESTINATION "${ZIG_STD_DEST}/math")
548install(FILES "${CMAKE_SOURCE_DIR}/std/math/asin.zig" DESTINATION "${ZIG_STD_DEST}/math")
549install(FILES "${CMAKE_SOURCE_DIR}/std/math/asinh.zig" DESTINATION "${ZIG_STD_DEST}/math")
550install(FILES "${CMAKE_SOURCE_DIR}/std/math/atan.zig" DESTINATION "${ZIG_STD_DEST}/math")
551install(FILES "${CMAKE_SOURCE_DIR}/std/math/atan2.zig" DESTINATION "${ZIG_STD_DEST}/math")
552install(FILES "${CMAKE_SOURCE_DIR}/std/math/atanh.zig" DESTINATION "${ZIG_STD_DEST}/math")
553install(FILES "${CMAKE_SOURCE_DIR}/std/math/cbrt.zig" DESTINATION "${ZIG_STD_DEST}/math")
554install(FILES "${CMAKE_SOURCE_DIR}/std/math/ceil.zig" DESTINATION "${ZIG_STD_DEST}/math")
555install(FILES "${CMAKE_SOURCE_DIR}/std/math/copysign.zig" DESTINATION "${ZIG_STD_DEST}/math")
556install(FILES "${CMAKE_SOURCE_DIR}/std/math/cos.zig" DESTINATION "${ZIG_STD_DEST}/math")
557install(FILES "${CMAKE_SOURCE_DIR}/std/math/cosh.zig" DESTINATION "${ZIG_STD_DEST}/math")
558install(FILES "${CMAKE_SOURCE_DIR}/std/math/exp.zig" DESTINATION "${ZIG_STD_DEST}/math")
559install(FILES "${CMAKE_SOURCE_DIR}/std/math/exp2.zig" DESTINATION "${ZIG_STD_DEST}/math")
560install(FILES "${CMAKE_SOURCE_DIR}/std/math/expm1.zig" DESTINATION "${ZIG_STD_DEST}/math")
561install(FILES "${CMAKE_SOURCE_DIR}/std/math/expo2.zig" DESTINATION "${ZIG_STD_DEST}/math")
562install(FILES "${CMAKE_SOURCE_DIR}/std/math/fabs.zig" DESTINATION "${ZIG_STD_DEST}/math")
563install(FILES "${CMAKE_SOURCE_DIR}/std/math/floor.zig" DESTINATION "${ZIG_STD_DEST}/math")
564install(FILES "${CMAKE_SOURCE_DIR}/std/math/fma.zig" DESTINATION "${ZIG_STD_DEST}/math")
565install(FILES "${CMAKE_SOURCE_DIR}/std/math/frexp.zig" DESTINATION "${ZIG_STD_DEST}/math")
566install(FILES "${CMAKE_SOURCE_DIR}/std/math/hypot.zig" DESTINATION "${ZIG_STD_DEST}/math")
567install(FILES "${CMAKE_SOURCE_DIR}/std/math/ilogb.zig" DESTINATION "${ZIG_STD_DEST}/math")
568install(FILES "${CMAKE_SOURCE_DIR}/std/math/index.zig" DESTINATION "${ZIG_STD_DEST}/math")
569install(FILES "${CMAKE_SOURCE_DIR}/std/math/inf.zig" DESTINATION "${ZIG_STD_DEST}/math")
570install(FILES "${CMAKE_SOURCE_DIR}/std/math/isfinite.zig" DESTINATION "${ZIG_STD_DEST}/math")
571install(FILES "${CMAKE_SOURCE_DIR}/std/math/isinf.zig" DESTINATION "${ZIG_STD_DEST}/math")
572install(FILES "${CMAKE_SOURCE_DIR}/std/math/isnan.zig" DESTINATION "${ZIG_STD_DEST}/math")
573install(FILES "${CMAKE_SOURCE_DIR}/std/math/isnormal.zig" DESTINATION "${ZIG_STD_DEST}/math")
574install(FILES "${CMAKE_SOURCE_DIR}/std/math/ln.zig" DESTINATION "${ZIG_STD_DEST}/math")
575install(FILES "${CMAKE_SOURCE_DIR}/std/math/log.zig" DESTINATION "${ZIG_STD_DEST}/math")
576install(FILES "${CMAKE_SOURCE_DIR}/std/math/log10.zig" DESTINATION "${ZIG_STD_DEST}/math")
577install(FILES "${CMAKE_SOURCE_DIR}/std/math/log1p.zig" DESTINATION "${ZIG_STD_DEST}/math")
578install(FILES "${CMAKE_SOURCE_DIR}/std/math/log2.zig" DESTINATION "${ZIG_STD_DEST}/math")
579install(FILES "${CMAKE_SOURCE_DIR}/std/math/modf.zig" DESTINATION "${ZIG_STD_DEST}/math")
580install(FILES "${CMAKE_SOURCE_DIR}/std/math/nan.zig" DESTINATION "${ZIG_STD_DEST}/math")
581install(FILES "${CMAKE_SOURCE_DIR}/std/math/pow.zig" DESTINATION "${ZIG_STD_DEST}/math")
582install(FILES "${CMAKE_SOURCE_DIR}/std/math/round.zig" DESTINATION "${ZIG_STD_DEST}/math")
583install(FILES "${CMAKE_SOURCE_DIR}/std/math/scalbn.zig" DESTINATION "${ZIG_STD_DEST}/math")
584install(FILES "${CMAKE_SOURCE_DIR}/std/math/signbit.zig" DESTINATION "${ZIG_STD_DEST}/math")
585install(FILES "${CMAKE_SOURCE_DIR}/std/math/sin.zig" DESTINATION "${ZIG_STD_DEST}/math")
586install(FILES "${CMAKE_SOURCE_DIR}/std/math/sinh.zig" DESTINATION "${ZIG_STD_DEST}/math")
587install(FILES "${CMAKE_SOURCE_DIR}/std/math/sqrt.zig" DESTINATION "${ZIG_STD_DEST}/math")
588install(FILES "${CMAKE_SOURCE_DIR}/std/math/tan.zig" DESTINATION "${ZIG_STD_DEST}/math")
589install(FILES "${CMAKE_SOURCE_DIR}/std/math/tanh.zig" DESTINATION "${ZIG_STD_DEST}/math")
590install(FILES "${CMAKE_SOURCE_DIR}/std/math/trunc.zig" DESTINATION "${ZIG_STD_DEST}/math")
591install(FILES "${CMAKE_SOURCE_DIR}/std/mem.zig" DESTINATION "${ZIG_STD_DEST}")
592install(FILES "${CMAKE_SOURCE_DIR}/std/net.zig" DESTINATION "${ZIG_STD_DEST}")
593install(FILES "${CMAKE_SOURCE_DIR}/std/os/child_process.zig" DESTINATION "${ZIG_STD_DEST}/os")
594install(FILES "${CMAKE_SOURCE_DIR}/std/os/darwin.zig" DESTINATION "${ZIG_STD_DEST}/os")
595install(FILES "${CMAKE_SOURCE_DIR}/std/os/darwin_errno.zig" DESTINATION "${ZIG_STD_DEST}/os")
596install(FILES "${CMAKE_SOURCE_DIR}/std/os/get_user_id.zig" DESTINATION "${ZIG_STD_DEST}/os")
597install(FILES "${CMAKE_SOURCE_DIR}/std/os/index.zig" DESTINATION "${ZIG_STD_DEST}/os")
598install(FILES "${CMAKE_SOURCE_DIR}/std/os/linux.zig" DESTINATION "${ZIG_STD_DEST}/os")
599install(FILES "${CMAKE_SOURCE_DIR}/std/os/linux_errno.zig" DESTINATION "${ZIG_STD_DEST}/os")
600install(FILES "${CMAKE_SOURCE_DIR}/std/os/linux_i386.zig" DESTINATION "${ZIG_STD_DEST}/os")
601install(FILES "${CMAKE_SOURCE_DIR}/std/os/linux_x86_64.zig" DESTINATION "${ZIG_STD_DEST}/os")
602install(FILES "${CMAKE_SOURCE_DIR}/std/os/path.zig" DESTINATION "${ZIG_STD_DEST}/os")
603install(FILES "${CMAKE_SOURCE_DIR}/std/os/windows/error.zig" DESTINATION "${ZIG_STD_DEST}/os/windows")
604install(FILES "${CMAKE_SOURCE_DIR}/std/os/windows/index.zig" DESTINATION "${ZIG_STD_DEST}/os/windows")
605install(FILES "${CMAKE_SOURCE_DIR}/std/os/windows/util.zig" DESTINATION "${ZIG_STD_DEST}/os/windows")
606install(FILES "${CMAKE_SOURCE_DIR}/std/rand.zig" DESTINATION "${ZIG_STD_DEST}")
607install(FILES "${CMAKE_SOURCE_DIR}/std/sort.zig" DESTINATION "${ZIG_STD_DEST}")
608install(FILES "${CMAKE_SOURCE_DIR}/std/unicode.zig" DESTINATION "${ZIG_STD_DEST}")
609install(FILES "${CMAKE_SOURCE_DIR}/std/special/bootstrap.zig" DESTINATION "${ZIG_STD_DEST}/special")
610install(FILES "${CMAKE_SOURCE_DIR}/std/special/bootstrap_lib.zig" DESTINATION "${ZIG_STD_DEST}/special")
611install(FILES "${CMAKE_SOURCE_DIR}/std/special/build_file_template.zig" DESTINATION "${ZIG_STD_DEST}/special")
612install(FILES "${CMAKE_SOURCE_DIR}/std/special/build_runner.zig" DESTINATION "${ZIG_STD_DEST}/special")
613install(FILES "${CMAKE_SOURCE_DIR}/std/special/builtin.zig" DESTINATION "${ZIG_STD_DEST}/special")
614install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/aulldiv.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
615install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/aullrem.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
616install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/comparetf2.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
617install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixuint.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
618install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunsdfdi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
619install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunsdfsi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
620install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunsdfti.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
621install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunssfdi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
622install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunssfsi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
623install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunssfti.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
624install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunstfdi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
625install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunstfsi.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
626install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/fixunstfti.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
627install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/index.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
628install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/udivmod.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
629install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/udivmoddi4.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
630install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/udivmodti4.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
631install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/udivti3.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
632install(FILES "${CMAKE_SOURCE_DIR}/std/special/compiler_rt/umodti3.zig" DESTINATION "${ZIG_STD_DEST}/special/compiler_rt")
633install(FILES "${CMAKE_SOURCE_DIR}/std/special/panic.zig" DESTINATION "${ZIG_STD_DEST}/special")
634install(FILES "${CMAKE_SOURCE_DIR}/std/special/test_runner.zig" DESTINATION "${ZIG_STD_DEST}/special")
645foreach(file ${ZIG_STD_FILES})
646 get_filename_component(file_dir "${ZIG_STD_DEST}/${file}" DIRECTORY)
647 install(FILES "${CMAKE_SOURCE_DIR}/std/${file}" DESTINATION "${file_dir}")
648endforeach()
build.zig+16-120
......@@ -43,6 +43,8 @@ pub fn build(b: &Builder) {
4343 const cxx_compiler = nextValue(&index, build_info);
4444 const lld_include_dir = nextValue(&index, build_info);
4545 const lld_libraries = nextValue(&index, build_info);
46 const std_files = nextValue(&index, build_info);
47 const c_header_files = nextValue(&index, build_info);
4648
4749 var exe = b.addExecutable("zig", "src-self-hosted/main.zig");
4850 exe.setBuildMode(mode);
......@@ -77,7 +79,8 @@ pub fn build(b: &Builder) {
7779 test_step.dependOn(&exe.step);
7880
7981 b.installArtifact(exe);
80 installStdLib(b);
82 installStdLib(b, std_files);
83 installCHeaders(b, c_header_files);
8184
8285 }
8386
......@@ -200,131 +203,24 @@ fn findLLVM(b: &Builder) -> ?LibraryDep {
200203 return result;
201204}
202205
203pub fn installStdLib(b: &Builder) {
204 const stdlib_files = []const []const u8 {
205 "array_list.zig",
206 "base64.zig",
207 "buf_map.zig",
208 "buf_set.zig",
209 "buffer.zig",
210 "build.zig",
211 "c/darwin.zig",
212 "c/index.zig",
213 "c/linux.zig",
214 "c/windows.zig",
215 "cstr.zig",
216 "debug/failing_allocator.zig",
217 "debug/index.zig",
218 "dwarf.zig",
219 "elf.zig",
220 "empty.zig",
221 "endian.zig",
222 "fmt/errol/enum3.zig",
223 "fmt/errol/index.zig",
224 "fmt/errol/lookup.zig",
225 "fmt/index.zig",
226 "hash_map.zig",
227 "heap.zig",
228 "index.zig",
229 "io.zig",
230 "linked_list.zig",
231 "math/acos.zig",
232 "math/acosh.zig",
233 "math/asin.zig",
234 "math/asinh.zig",
235 "math/atan.zig",
236 "math/atan2.zig",
237 "math/atanh.zig",
238 "math/cbrt.zig",
239 "math/ceil.zig",
240 "math/copysign.zig",
241 "math/cos.zig",
242 "math/cosh.zig",
243 "math/exp.zig",
244 "math/exp2.zig",
245 "math/expm1.zig",
246 "math/expo2.zig",
247 "math/fabs.zig",
248 "math/floor.zig",
249 "math/fma.zig",
250 "math/frexp.zig",
251 "math/hypot.zig",
252 "math/ilogb.zig",
253 "math/index.zig",
254 "math/inf.zig",
255 "math/isfinite.zig",
256 "math/isinf.zig",
257 "math/isnan.zig",
258 "math/isnormal.zig",
259 "math/ln.zig",
260 "math/log.zig",
261 "math/log10.zig",
262 "math/log1p.zig",
263 "math/log2.zig",
264 "math/modf.zig",
265 "math/nan.zig",
266 "math/pow.zig",
267 "math/round.zig",
268 "math/scalbn.zig",
269 "math/signbit.zig",
270 "math/sin.zig",
271 "math/sinh.zig",
272 "math/sqrt.zig",
273 "math/tan.zig",
274 "math/tanh.zig",
275 "math/trunc.zig",
276 "mem.zig",
277 "net.zig",
278 "os/child_process.zig",
279 "os/darwin.zig",
280 "os/darwin_errno.zig",
281 "os/get_user_id.zig",
282 "os/index.zig",
283 "os/linux.zig",
284 "os/linux_errno.zig",
285 "os/linux_i386.zig",
286 "os/linux_x86_64.zig",
287 "os/path.zig",
288 "os/windows/error.zig",
289 "os/windows/index.zig",
290 "os/windows/util.zig",
291 "rand.zig",
292 "sort.zig",
293 "unicode.zig",
294 "special/bootstrap.zig",
295 "special/bootstrap_lib.zig",
296 "special/build_file_template.zig",
297 "special/build_runner.zig",
298 "special/builtin.zig",
299 "special/compiler_rt/aulldiv.zig",
300 "special/compiler_rt/aullrem.zig",
301 "special/compiler_rt/comparetf2.zig",
302 "special/compiler_rt/fixuint.zig",
303 "special/compiler_rt/fixunsdfdi.zig",
304 "special/compiler_rt/fixunsdfsi.zig",
305 "special/compiler_rt/fixunsdfti.zig",
306 "special/compiler_rt/fixunssfdi.zig",
307 "special/compiler_rt/fixunssfsi.zig",
308 "special/compiler_rt/fixunssfti.zig",
309 "special/compiler_rt/fixunstfdi.zig",
310 "special/compiler_rt/fixunstfsi.zig",
311 "special/compiler_rt/fixunstfti.zig",
312 "special/compiler_rt/index.zig",
313 "special/compiler_rt/udivmod.zig",
314 "special/compiler_rt/udivmoddi4.zig",
315 "special/compiler_rt/udivmodti4.zig",
316 "special/compiler_rt/udivti3.zig",
317 "special/compiler_rt/umodti3.zig",
318 "special/panic.zig",
319 "special/test_runner.zig",
320 };
321 for (stdlib_files) |stdlib_file| {
206pub fn installStdLib(b: &Builder, stdlib_files: []const u8) {
207 var it = mem.split(stdlib_files, ";");
208 while (it.next()) |stdlib_file| {
322209 const src_path = %%os.path.join(b.allocator, "std", stdlib_file);
323210 const dest_path = %%os.path.join(b.allocator, "lib", "zig", "std", stdlib_file);
324211 b.installFile(src_path, dest_path);
325212 }
326213}
327214
215pub fn installCHeaders(b: &Builder, c_header_files: []const u8) {
216 var it = mem.split(c_header_files, ";");
217 while (it.next()) |c_header_file| {
218 const src_path = %%os.path.join(b.allocator, "c_headers", c_header_file);
219 const dest_path = %%os.path.join(b.allocator, "lib", "zig", "include", c_header_file);
220 b.installFile(src_path, dest_path);
221 }
222}
223
328224fn nextValue(index: &usize, build_info: []const u8) -> []const u8 {
329225 const start = *index;
330226 while (build_info[*index] != '\n' and build_info[*index] != '\r') : (*index += 1) { }
src/config.h.in+2
......@@ -29,5 +29,7 @@
2929#define ZIG_CXX_COMPILER "@CMAKE_CXX_COMPILER@"
3030#define ZIG_LLD_INCLUDE_PATH "@LLD_INCLUDE_DIRS@"
3131#define ZIG_LLD_LIBRARIES "@LLD_LIBRARIES@"
32#define ZIG_STD_FILES "@ZIG_STD_FILES@"
33#define ZIG_C_HEADER_FILES "@ZIG_C_HEADER_FILES@"
3234
3335#endif
src/main.cpp+7-1
......@@ -267,7 +267,13 @@ static void add_package(CodeGen *g, CliPkg *cli_pkg, PackageTableEntry *pkg) {
267267
268268int main(int argc, char **argv) {
269269 if (argc == 2 && strcmp(argv[1], "BUILD_INFO") == 0) {
270 printf("%s\n%s\n%s\n%s\n", ZIG_CMAKE_BINARY_DIR, ZIG_CXX_COMPILER, ZIG_LLD_INCLUDE_PATH, ZIG_LLD_LIBRARIES);
270 printf("%s\n%s\n%s\n%s\n%s\n%s\n",
271 ZIG_CMAKE_BINARY_DIR,
272 ZIG_CXX_COMPILER,
273 ZIG_LLD_INCLUDE_PATH,
274 ZIG_LLD_LIBRARIES,
275 ZIG_STD_FILES,
276 ZIG_C_HEADER_FILES);
271277 return 0;
272278 }
273279