tcc 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +35 -0
- data/README.md +196 -0
- data/ext/tcc/extconf.rb +25 -0
- data/ext/tcc/tcc-0.9.26.patch +30 -0
- data/ext/tcc/tcc-0.9.26/COPYING +504 -0
- data/ext/tcc/tcc-0.9.26/Changelog +396 -0
- data/ext/tcc/tcc-0.9.26/Makefile +349 -0
- data/ext/tcc/tcc-0.9.26/README +101 -0
- data/ext/tcc/tcc-0.9.26/TODO +93 -0
- data/ext/tcc/tcc-0.9.26/VERSION +1 -0
- data/ext/tcc/tcc-0.9.26/arm-gen.c +2005 -0
- data/ext/tcc/tcc-0.9.26/c67-gen.c +2560 -0
- data/ext/tcc/tcc-0.9.26/coff.h +446 -0
- data/ext/tcc/tcc-0.9.26/config.h +8 -0
- data/ext/tcc/tcc-0.9.26/config.mak +28 -0
- data/ext/tcc/tcc-0.9.26/config.texi +1 -0
- data/ext/tcc/tcc-0.9.26/configure +540 -0
- data/ext/tcc/tcc-0.9.26/conftest.c +71 -0
- data/ext/tcc/tcc-0.9.26/elf.h +1731 -0
- data/ext/tcc/tcc-0.9.26/examples/ex1.c +8 -0
- data/ext/tcc/tcc-0.9.26/examples/ex2.c +98 -0
- data/ext/tcc/tcc-0.9.26/examples/ex3.c +24 -0
- data/ext/tcc/tcc-0.9.26/examples/ex4.c +26 -0
- data/ext/tcc/tcc-0.9.26/examples/ex5.c +8 -0
- data/ext/tcc/tcc-0.9.26/i386-asm.c +1498 -0
- data/ext/tcc/tcc-0.9.26/i386-asm.h +473 -0
- data/ext/tcc/tcc-0.9.26/i386-gen.c +1096 -0
- data/ext/tcc/tcc-0.9.26/i386-tok.h +243 -0
- data/ext/tcc/tcc-0.9.26/il-gen.c +667 -0
- data/ext/tcc/tcc-0.9.26/il-opcodes.h +251 -0
- data/ext/tcc/tcc-0.9.26/include/float.h +57 -0
- data/ext/tcc/tcc-0.9.26/include/stdarg.h +41 -0
- data/ext/tcc/tcc-0.9.26/include/stdbool.h +10 -0
- data/ext/tcc/tcc-0.9.26/include/stddef.h +28 -0
- data/ext/tcc/tcc-0.9.26/include/tcclib.h +78 -0
- data/ext/tcc/tcc-0.9.26/include/varargs.h +12 -0
- data/ext/tcc/tcc-0.9.26/lib/Makefile +102 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86-bt.S +47 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86.S +35 -0
- data/ext/tcc/tcc-0.9.26/lib/alloca86_64.S +42 -0
- data/ext/tcc/tcc-0.9.26/lib/bcheck.c +875 -0
- data/ext/tcc/tcc-0.9.26/lib/libtcc1.c +691 -0
- data/ext/tcc/tcc-0.9.26/libtcc.c +1941 -0
- data/ext/tcc/tcc-0.9.26/libtcc.h +103 -0
- data/ext/tcc/tcc-0.9.26/stab.def +234 -0
- data/ext/tcc/tcc-0.9.26/stab.h +17 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.html +2332 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.info +1151 -0
- data/ext/tcc/tcc-0.9.26/tcc-doc.texi +1268 -0
- data/ext/tcc/tcc-0.9.26/tcc.1 +415 -0
- data/ext/tcc/tcc-0.9.26/tcc.c +352 -0
- data/ext/tcc/tcc-0.9.26/tcc.h +1379 -0
- data/ext/tcc/tcc-0.9.26/tccasm.c +1118 -0
- data/ext/tcc/tcc-0.9.26/tcccoff.c +948 -0
- data/ext/tcc/tcc-0.9.26/tccelf.c +3129 -0
- data/ext/tcc/tcc-0.9.26/tccgen.c +5841 -0
- data/ext/tcc/tcc-0.9.26/tccpe.c +1887 -0
- data/ext/tcc/tcc-0.9.26/tccpp.c +3128 -0
- data/ext/tcc/tcc-0.9.26/tccrun.c +737 -0
- data/ext/tcc/tcc-0.9.26/tcctok.h +278 -0
- data/ext/tcc/tcc-0.9.26/tests/Makefile +199 -0
- data/ext/tcc/tcc-0.9.26/tests/asmtest.S +609 -0
- data/ext/tcc/tcc-0.9.26/tests/boundtest.c +233 -0
- data/ext/tcc/tcc-0.9.26/tests/gcctestsuite.sh +33 -0
- data/ext/tcc/tcc-0.9.26/tests/libtcc_test.c +76 -0
- data/ext/tcc/tcc-0.9.26/tests/tcctest.c +2713 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/00_assignment.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/01_comment.expect +5 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/02_printf.expect +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.c +31 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/03_struct.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/04_for.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/05_array.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/06_case.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.c +30 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/07_function.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/08_while.expect +11 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/09_do_while.expect +11 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.c +40 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/10_pointer.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.c +40 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/11_precedence.expect +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/12_hashdefine.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.c +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/13_integer_literals.expect +5 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/14_if.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/15_recursion.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/16_nesting.expect +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/17_enum.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.c +12 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/18_include.h +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.c +28 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/19_pointer_arithmetic.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/20_pointer_comparison.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.c +33 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/21_char_array.expect +7 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.c +50 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/22_floating_point.expect +16 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.c +54 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/23_type_coercion.expect +12 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.c +28 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/24_math_library.expect +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.c +83 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/25_quicksort.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/26_character_constants.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.c +16 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/27_sizeof.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.c +46 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/28_strings.expect +19 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.c +13 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/29_array_address.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.c +122 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/30_hanoi.expect +71 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/31_args.expect +7 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.c +266 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/32_led.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/33_ternary_op.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.c +23 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/34_array_assignment.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.c +14 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/35_sizeof.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.c +21 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/36_array_initialisers.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/37_sprintf.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.c +32 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/38_multiple_array_index.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.c +31 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/39_typedef.expect +3 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.c +52 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/40_stdio.expect +27 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.c +85 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/41_hashif.expect +6 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/42_function_pointer.expect +2 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.c +15 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/43_void_param.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.c +17 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/44_scoped_declarations.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.c +18 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/45_empty_for.expect +10 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/46_grep.c +564 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.c +24 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/47_switch_return.expect +4 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.c +26 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/48_nested_break.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.c +23 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/49_bracket_evaluation.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.c +29 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/50_logical_second_arg.expect +20 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.c +30 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/51_static.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.c +27 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/52_unnamed_enum.expect +9 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.c +56 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/54_goto.expect +8 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.c +52 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/55_lshift_type.expect +1 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/LICENSE +37 -0
- data/ext/tcc/tcc-0.9.26/tests/tests2/Makefile +98 -0
- data/ext/tcc/tcc-0.9.26/texi2pod.pl +427 -0
- data/ext/tcc/tcc-0.9.26/win32/build-tcc.bat +60 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/dll.c +12 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/fib.c +23 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/hello_dll.c +19 -0
- data/ext/tcc/tcc-0.9.26/win32/examples/hello_win.c +163 -0
- data/ext/tcc/tcc-0.9.26/win32/include/_mingw.h +139 -0
- data/ext/tcc/tcc-0.9.26/win32/include/assert.h +54 -0
- data/ext/tcc/tcc-0.9.26/win32/include/conio.h +409 -0
- data/ext/tcc/tcc-0.9.26/win32/include/ctype.h +281 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dir.h +31 -0
- data/ext/tcc/tcc-0.9.26/win32/include/direct.h +68 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dirent.h +135 -0
- data/ext/tcc/tcc-0.9.26/win32/include/dos.h +55 -0
- data/ext/tcc/tcc-0.9.26/win32/include/errno.h +75 -0
- data/ext/tcc/tcc-0.9.26/win32/include/excpt.h +123 -0
- data/ext/tcc/tcc-0.9.26/win32/include/fcntl.h +52 -0
- data/ext/tcc/tcc-0.9.26/win32/include/fenv.h +108 -0
- data/ext/tcc/tcc-0.9.26/win32/include/inttypes.h +297 -0
- data/ext/tcc/tcc-0.9.26/win32/include/io.h +418 -0
- data/ext/tcc/tcc-0.9.26/win32/include/limits.h +111 -0
- data/ext/tcc/tcc-0.9.26/win32/include/locale.h +91 -0
- data/ext/tcc/tcc-0.9.26/win32/include/malloc.h +175 -0
- data/ext/tcc/tcc-0.9.26/win32/include/math.h +777 -0
- data/ext/tcc/tcc-0.9.26/win32/include/mem.h +13 -0
- data/ext/tcc/tcc-0.9.26/win32/include/memory.h +40 -0
- data/ext/tcc/tcc-0.9.26/win32/include/process.h +176 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/conio_s.h +42 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/crtdbg_s.h +19 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/io_s.h +33 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/mbstring_s.h +52 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/search_s.h +25 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdio_s.h +145 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stdlib_s.h +67 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/stralign_s.h +30 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/string_s.h +41 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/sys/timeb_s.h +34 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/tchar_s.h +266 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/time_s.h +61 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sec_api/wchar_s.h +128 -0
- data/ext/tcc/tcc-0.9.26/win32/include/setjmp.h +160 -0
- data/ext/tcc/tcc-0.9.26/win32/include/share.h +28 -0
- data/ext/tcc/tcc-0.9.26/win32/include/signal.h +63 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdint.h +209 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdio.h +429 -0
- data/ext/tcc/tcc-0.9.26/win32/include/stdlib.h +580 -0
- data/ext/tcc/tcc-0.9.26/win32/include/string.h +164 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/fcntl.h +13 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/file.h +14 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/locking.h +30 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/stat.h +290 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/time.h +69 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/timeb.h +133 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/types.h +118 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/unistd.h +14 -0
- data/ext/tcc/tcc-0.9.26/win32/include/sys/utime.h +146 -0
- data/ext/tcc/tcc-0.9.26/win32/include/tchar.h +1102 -0
- data/ext/tcc/tcc-0.9.26/win32/include/time.h +287 -0
- data/ext/tcc/tcc-0.9.26/win32/include/vadefs.h +11 -0
- data/ext/tcc/tcc-0.9.26/win32/include/values.h +4 -0
- data/ext/tcc/tcc-0.9.26/win32/include/wchar.h +871 -0
- data/ext/tcc/tcc-0.9.26/win32/include/wctype.h +172 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetsd.h +149 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/basetyps.h +85 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/guiddef.h +151 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/intrin.h +11 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/poppack.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack1.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack2.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack4.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/pshpack8.h +8 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/reason.h +80 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/specstrings.h +7 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/stralign.h +154 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/tvout.h +79 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winbase.h +2951 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/wincon.h +301 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/windef.h +293 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/windows.h +123 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winerror.h +3166 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/wingdi.h +4080 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnetwk.h +476 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnls.h +765 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winnt.h +5770 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winreg.h +272 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winuser.h +5651 -0
- data/ext/tcc/tcc-0.9.26/win32/include/winapi/winver.h +160 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/chkstk.S +191 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/crt1.c +34 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/dllcrt1.c +13 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/dllmain.c +9 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/gdi32.def +337 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/kernel32.def +765 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/msvcrt.def +1399 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/user32.def +654 -0
- data/ext/tcc/tcc-0.9.26/win32/lib/wincrt1.c +64 -0
- data/ext/tcc/tcc-0.9.26/win32/tcc-win32.txt +156 -0
- data/ext/tcc/tcc-0.9.26/win32/tools/tiny_impdef.c +243 -0
- data/ext/tcc/tcc-0.9.26/win32/tools/tiny_libmaker.c +258 -0
- data/ext/tcc/tcc-0.9.26/x86_64-asm.h +448 -0
- data/ext/tcc/tcc-0.9.26/x86_64-gen.c +1701 -0
- data/lib/tcc.rb +291 -0
- data/tcc.gemspec +15 -0
- metadata +343 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
# Automatically generated by configure - do not modify
|
2
|
+
prefix=/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build
|
3
|
+
bindir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/bin
|
4
|
+
tccdir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/lib/tcc
|
5
|
+
libdir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/lib
|
6
|
+
ln_libdir=/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/lib
|
7
|
+
includedir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/include
|
8
|
+
mandir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/share/man
|
9
|
+
infodir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/share/info
|
10
|
+
docdir=$(DESTDIR)/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/build/share/doc/tcc
|
11
|
+
CC=gcc
|
12
|
+
GCC_MAJOR=4
|
13
|
+
GCC_MINOR=8
|
14
|
+
HOST_CC=gcc
|
15
|
+
AR=ar
|
16
|
+
STRIP=strip -s -R .comment -R .note
|
17
|
+
CFLAGS=-Wall -g -O2
|
18
|
+
LDFLAGS=
|
19
|
+
LIBSUF=.a
|
20
|
+
EXESUF=
|
21
|
+
NATIVE_DEFINES+=-DCONFIG_LDDIR="\"lib64\""
|
22
|
+
ARCH=x86-64
|
23
|
+
TARGETOS=Linux
|
24
|
+
DISABLE_STATIC=yes
|
25
|
+
VERSION=0.9.26
|
26
|
+
SRC_PATH=/home/quark/src/github/quark-zju/libtcc-ruby/ext/tcc/tcc-0.9.26
|
27
|
+
top_srcdir=$(TOP)
|
28
|
+
top_builddir=$(TOP)
|
@@ -0,0 +1 @@
|
|
1
|
+
@set VERSION 0.9.26
|
@@ -0,0 +1,540 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
# tcc configure script (c) 2003 Fabrice Bellard
|
4
|
+
|
5
|
+
# set temporary file name
|
6
|
+
# if test ! -z "$TMPDIR" ; then
|
7
|
+
# TMPDIR1="${TMPDIR}"
|
8
|
+
# elif test ! -z "$TEMPDIR" ; then
|
9
|
+
# TMPDIR1="${TEMPDIR}"
|
10
|
+
# else
|
11
|
+
# TMPDIR1="/tmp"
|
12
|
+
# fi
|
13
|
+
#
|
14
|
+
# bashism: TMPN="${TMPDIR1}/tcc-conf-${RANDOM}-$$-${RANDOM}.c"
|
15
|
+
|
16
|
+
TMPN="./conftest-$$"
|
17
|
+
TMPH=$TMPN.h
|
18
|
+
|
19
|
+
# default parameters
|
20
|
+
build_cross="no"
|
21
|
+
use_libgcc="no"
|
22
|
+
prefix=""
|
23
|
+
execprefix=""
|
24
|
+
bindir=""
|
25
|
+
libdir=""
|
26
|
+
tccdir=""
|
27
|
+
includedir=""
|
28
|
+
mandir=""
|
29
|
+
infodir=""
|
30
|
+
sysroot=""
|
31
|
+
cross_prefix=""
|
32
|
+
cc="gcc"
|
33
|
+
host_cc="gcc"
|
34
|
+
ar="ar"
|
35
|
+
strip="strip"
|
36
|
+
cygwin="no"
|
37
|
+
gprof="no"
|
38
|
+
bigendian="no"
|
39
|
+
mingw32="no"
|
40
|
+
LIBSUF=".a"
|
41
|
+
EXESUF=""
|
42
|
+
tcc_sysincludepaths=""
|
43
|
+
tcc_libpaths=""
|
44
|
+
tcc_crtprefix=""
|
45
|
+
tcc_elfinterp=""
|
46
|
+
tcc_lddir=
|
47
|
+
confvars=
|
48
|
+
|
49
|
+
cpu=`uname -m`
|
50
|
+
|
51
|
+
# OS specific
|
52
|
+
targetos=`uname -s`
|
53
|
+
case $targetos in
|
54
|
+
MINGW32*) mingw32=yes;;
|
55
|
+
DragonFly) noldl=yes;;
|
56
|
+
OpenBSD) noldl=yes;;
|
57
|
+
*) ;;
|
58
|
+
esac
|
59
|
+
|
60
|
+
# find source path
|
61
|
+
# XXX: we assume an absolute path is given when launching configure,
|
62
|
+
# except in './configure' case.
|
63
|
+
source_path=${0%configure}
|
64
|
+
source_path=${source_path%/}
|
65
|
+
source_path_used="yes"
|
66
|
+
if test -z "$source_path" -o "$source_path" = "." ; then
|
67
|
+
source_path=`pwd`
|
68
|
+
source_path_used="no"
|
69
|
+
fi
|
70
|
+
|
71
|
+
case "$cpu" in
|
72
|
+
i386|i486|i586|i686|i86pc|BePC|i686-AT386)
|
73
|
+
cpu="x86"
|
74
|
+
;;
|
75
|
+
x86_64)
|
76
|
+
cpu="x86-64"
|
77
|
+
;;
|
78
|
+
arm*)
|
79
|
+
case "$cpu" in
|
80
|
+
arm|armv4l)
|
81
|
+
cpuver=4
|
82
|
+
;;
|
83
|
+
armv5tel|armv5tejl)
|
84
|
+
cpuver=5
|
85
|
+
;;
|
86
|
+
armv6j|armv6l)
|
87
|
+
cpuver=6
|
88
|
+
;;
|
89
|
+
armv7a|armv7l)
|
90
|
+
cpuver=7
|
91
|
+
;;
|
92
|
+
esac
|
93
|
+
cpu="armv4l"
|
94
|
+
;;
|
95
|
+
alpha)
|
96
|
+
cpu="alpha"
|
97
|
+
;;
|
98
|
+
"Power Macintosh"|ppc|ppc64)
|
99
|
+
cpu="powerpc"
|
100
|
+
;;
|
101
|
+
mips)
|
102
|
+
cpu="mips"
|
103
|
+
;;
|
104
|
+
s390)
|
105
|
+
cpu="s390"
|
106
|
+
;;
|
107
|
+
*)
|
108
|
+
cpu="unknown"
|
109
|
+
;;
|
110
|
+
esac
|
111
|
+
|
112
|
+
for opt do
|
113
|
+
eval opt=\"$opt\"
|
114
|
+
case "$opt" in
|
115
|
+
--prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
|
116
|
+
;;
|
117
|
+
--exec-prefix=*) execprefix=`echo $opt | cut -d '=' -f 2`
|
118
|
+
;;
|
119
|
+
--tccdir=*) tccdir=`echo $opt | cut -d '=' -f 2`
|
120
|
+
;;
|
121
|
+
--bindir=*) bindir=`echo $opt | cut -d '=' -f 2`
|
122
|
+
;;
|
123
|
+
--libdir=*) libdir=`echo $opt | cut -d '=' -f 2`
|
124
|
+
;;
|
125
|
+
--includedir=*) includedir=`echo $opt | cut -d '=' -f 2`
|
126
|
+
;;
|
127
|
+
--sharedir=*) sharedir=`echo $opt | cut -d '=' -f 2`
|
128
|
+
;;
|
129
|
+
--mandir=*) mandir=`echo $opt | cut -d '=' -f 2`
|
130
|
+
;;
|
131
|
+
--infodir=*) infodir=`echo $opt | cut -d '=' -f 2`
|
132
|
+
;;
|
133
|
+
--docdir=*) docdir=`echo $opt | cut -d '=' -f 2`
|
134
|
+
;;
|
135
|
+
--sysroot=*) sysroot=`echo $opt | cut -d '=' -f 2`
|
136
|
+
;;
|
137
|
+
--source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
|
138
|
+
;;
|
139
|
+
--cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
|
140
|
+
;;
|
141
|
+
--cc=*) cc=`echo $opt | cut -d '=' -f 2`
|
142
|
+
;;
|
143
|
+
--extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
|
144
|
+
;;
|
145
|
+
--extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
|
146
|
+
;;
|
147
|
+
--extra-libs=*) extralibs=${opt#--extra-libs=}
|
148
|
+
;;
|
149
|
+
--sysincludepaths=*) tcc_sysincludepaths=`echo $opt | cut -d '=' -f 2`
|
150
|
+
;;
|
151
|
+
--libpaths=*) tcc_libpaths=`echo $opt | cut -d '=' -f 2`
|
152
|
+
;;
|
153
|
+
--crtprefix=*) tcc_crtprefix=`echo $opt | cut -d '=' -f 2`
|
154
|
+
;;
|
155
|
+
--elfinterp=*) tcc_elfinterp=`echo $opt | cut -d '=' -f 2`
|
156
|
+
;;
|
157
|
+
--cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
|
158
|
+
;;
|
159
|
+
--enable-gprof) gprof="yes"
|
160
|
+
;;
|
161
|
+
--enable-mingw32) mingw32="yes" ; cross_prefix="i686-pc-mingw32-" ; cpu=x86
|
162
|
+
;;
|
163
|
+
--enable-cygwin) mingw32="yes" ; cygwin="yes" ; cross_prefix="mingw32-" ; cpu=x86
|
164
|
+
;;
|
165
|
+
--enable-cross) build_cross="yes"
|
166
|
+
;;
|
167
|
+
--disable-static) disable_static="yes"
|
168
|
+
;;
|
169
|
+
--disable-rpath) disable_rpath="yes"
|
170
|
+
;;
|
171
|
+
--strip-binaries) strip_binaries="yes"
|
172
|
+
;;
|
173
|
+
--with-libgcc) use_libgcc="yes"
|
174
|
+
;;
|
175
|
+
--with-selinux) have_selinux="yes"
|
176
|
+
;;
|
177
|
+
--help|-h) show_help="yes"
|
178
|
+
;;
|
179
|
+
*) echo "configure: WARNING: unrecognized option $opt"
|
180
|
+
;;
|
181
|
+
esac
|
182
|
+
done
|
183
|
+
|
184
|
+
# Checking for CFLAGS
|
185
|
+
if test -z "$CFLAGS"; then
|
186
|
+
CFLAGS="-Wall -g -O2"
|
187
|
+
fi
|
188
|
+
|
189
|
+
if test "$mingw32" = "yes" ; then
|
190
|
+
if test x"$tccdir" = x""; then
|
191
|
+
tccdir="tcc"
|
192
|
+
fi
|
193
|
+
if test -z "$prefix" ; then
|
194
|
+
prefix="C:/Program Files/${tccdir}"
|
195
|
+
fi
|
196
|
+
if test -z "$sharedir" ; then
|
197
|
+
sharedir="${prefix}"
|
198
|
+
fi
|
199
|
+
execprefix="$prefix"
|
200
|
+
bindir="${prefix}"
|
201
|
+
tccdir="${prefix}"
|
202
|
+
libdir="${prefix}/lib"
|
203
|
+
docdir="${sharedir}/doc"
|
204
|
+
mandir="${sharedir}/man"
|
205
|
+
infodir="${sharedir}/info"
|
206
|
+
LIBSUF=".lib"
|
207
|
+
EXESUF=".exe"
|
208
|
+
else
|
209
|
+
if test -z "$prefix" ; then
|
210
|
+
prefix="/usr/local"
|
211
|
+
fi
|
212
|
+
if test -z "$sharedir" ; then
|
213
|
+
sharedir="${prefix}/share"
|
214
|
+
fi
|
215
|
+
if test x"$execprefix" = x""; then
|
216
|
+
execprefix="${prefix}"
|
217
|
+
fi
|
218
|
+
if test x"$libdir" = x""; then
|
219
|
+
libdir="${execprefix}/lib"
|
220
|
+
fi
|
221
|
+
if test x"$bindir" = x""; then
|
222
|
+
bindir="${execprefix}/bin"
|
223
|
+
fi
|
224
|
+
if test x"$tccdir" = x""; then
|
225
|
+
tccdir="tcc"
|
226
|
+
fi
|
227
|
+
if test x"$docdir" = x""; then
|
228
|
+
docdir="${sharedir}/doc/${tccdir}"
|
229
|
+
fi
|
230
|
+
if test x"$mandir" = x""; then
|
231
|
+
mandir="${sharedir}/man"
|
232
|
+
fi
|
233
|
+
if test x"$infodir" = x""; then
|
234
|
+
infodir="${sharedir}/info"
|
235
|
+
fi
|
236
|
+
tccdir="${libdir}/${tccdir}"
|
237
|
+
fi # mingw32
|
238
|
+
|
239
|
+
if test x"$includedir" = x""; then
|
240
|
+
includedir="${prefix}/include"
|
241
|
+
fi
|
242
|
+
|
243
|
+
if test x"$show_help" = "xyes" ; then
|
244
|
+
cat << EOF
|
245
|
+
Usage: configure [options]
|
246
|
+
Options: [defaults in brackets after descriptions]
|
247
|
+
|
248
|
+
Standard options:
|
249
|
+
--help print this message
|
250
|
+
--prefix=PREFIX install in PREFIX [$prefix]
|
251
|
+
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
|
252
|
+
[same as prefix]
|
253
|
+
--bindir=DIR user executables in DIR [EPREFIX/bin]
|
254
|
+
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
|
255
|
+
--tccdir=DIR installation directory [EPREFIX/lib/tcc]
|
256
|
+
--includedir=DIR C header files in DIR [PREFIX/include]
|
257
|
+
--sharedir=DIR documentation root DIR [PREFIX/share]
|
258
|
+
--docdir=DIR documentation in DIR [SHAREDIR/doc/tcc]
|
259
|
+
--mandir=DIR man documentation in DIR [SHAREDIR/man]
|
260
|
+
--infodir=DIR info documentation in DIR [SHAREDIR/info]
|
261
|
+
|
262
|
+
Advanced options (experts only):
|
263
|
+
--source-path=PATH path of source code [$source_path]
|
264
|
+
--cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]
|
265
|
+
--sysroot=PREFIX prepend PREFIX to library/include paths []
|
266
|
+
--cc=CC use C compiler CC [$cc]
|
267
|
+
--extra-cflags= specify compiler flags [$CFLAGS]
|
268
|
+
--extra-ldflags= specify linker options []
|
269
|
+
--strip-binaries strip symbol tables from resulting binaries
|
270
|
+
--disable-static make libtcc.so instead of libtcc.a
|
271
|
+
--disable-rpath disable use of -rpath with the above
|
272
|
+
--with-libgcc use /lib/libgcc_s.so.1 instead of libtcc.a
|
273
|
+
--enable-mingw32 build windows version on linux with mingw32
|
274
|
+
--enable-cygwin build windows version on windows with cygwin
|
275
|
+
--enable-cross build cross compilers
|
276
|
+
--with-selinux use mmap for exec mem [needs writable /tmp]
|
277
|
+
--sysincludepaths=... specify system include paths, colon separated
|
278
|
+
--libpaths=... specify system library paths, colon separated
|
279
|
+
--crtprefix=... specify locations of crt?.o, colon separated
|
280
|
+
--elfinterp=... specify elf interpreter
|
281
|
+
EOF
|
282
|
+
#echo "NOTE: The object files are build at the place where configure is launched"
|
283
|
+
exit 1
|
284
|
+
fi
|
285
|
+
|
286
|
+
cc="${cross_prefix}${cc}"
|
287
|
+
ar="${cross_prefix}${ar}"
|
288
|
+
strip="${cross_prefix}${strip}"
|
289
|
+
|
290
|
+
CONFTEST=./conftest$EXESUF
|
291
|
+
|
292
|
+
if test -z "$cross_prefix" ; then
|
293
|
+
if ! $cc -o $CONFTEST $source_path/conftest.c 2>/dev/null ; then
|
294
|
+
echo "configure: error: '$cc' failed to compile conftest.c."
|
295
|
+
else
|
296
|
+
bigendian="$($CONFTEST bigendian)"
|
297
|
+
gcc_major="$($CONFTEST version)"
|
298
|
+
gcc_minor="$($CONFTEST minor)"
|
299
|
+
if test "$mingw32" = "no" ; then
|
300
|
+
triplet="$($CONFTEST triplet)"
|
301
|
+
if test -f "/usr/lib/$triplet/crti.o" ; then
|
302
|
+
tcc_lddir="lib/$triplet"
|
303
|
+
multiarch_triplet="$triplet"
|
304
|
+
elif test -f "/usr/lib64/crti.o" ; then
|
305
|
+
tcc_lddir="lib64"
|
306
|
+
fi
|
307
|
+
|
308
|
+
if test "$cpu" = "armv4l" ; then
|
309
|
+
if test "${triplet%eabihf}" != "$triplet" ; then
|
310
|
+
confvars="$confvars arm_eabihf"
|
311
|
+
elif test "${triplet%eabi}" != "$triplet" ; then
|
312
|
+
confvars="$confvars arm_eabi"
|
313
|
+
fi
|
314
|
+
if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then
|
315
|
+
confvars="$confvars arm_vfp"
|
316
|
+
fi
|
317
|
+
fi
|
318
|
+
|
319
|
+
# multiarch_triplet=${libc_dir#*/}
|
320
|
+
# multiarch_triplet=${multiarch_triplet%/}
|
321
|
+
# tcc_lddir="${libc_dir%%/*}"
|
322
|
+
# if test -n "$multiarch_triplet" ; then
|
323
|
+
# tcc_lddir="$tcc_lddir/$multiarch_triplet"
|
324
|
+
# fi
|
325
|
+
|
326
|
+
if test -f "/lib/ld-uClibc.so.0" ; then
|
327
|
+
confvars="$confvars uClibc"
|
328
|
+
fi
|
329
|
+
# gr: maybe for after the release:
|
330
|
+
# tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')"
|
331
|
+
# echo "elfinterp $tcc_elfinterp"
|
332
|
+
|
333
|
+
fi
|
334
|
+
fi
|
335
|
+
else
|
336
|
+
# if cross compiling, cannot launch a program, so make a static guess
|
337
|
+
case $cpu in
|
338
|
+
powerpc|mips|s390) bigendian=yes;;
|
339
|
+
esac
|
340
|
+
fi
|
341
|
+
|
342
|
+
cat <<EOF
|
343
|
+
Binary directory $bindir
|
344
|
+
TinyCC directory $tccdir
|
345
|
+
Library directory $libdir
|
346
|
+
Include directory $includedir
|
347
|
+
Manual directory $mandir
|
348
|
+
Info directory $infodir
|
349
|
+
Doc directory $docdir
|
350
|
+
Target root prefix $sysroot
|
351
|
+
Source path $source_path
|
352
|
+
C compiler $cc
|
353
|
+
Target OS $targetos
|
354
|
+
CPU $cpu
|
355
|
+
Big Endian $bigendian
|
356
|
+
gprof enabled $gprof
|
357
|
+
cross compilers $build_cross
|
358
|
+
use libgcc $use_libgcc
|
359
|
+
EOF
|
360
|
+
|
361
|
+
echo "Creating config.mak and config.h"
|
362
|
+
|
363
|
+
cat >config.mak <<EOF
|
364
|
+
# Automatically generated by configure - do not modify
|
365
|
+
prefix=$prefix
|
366
|
+
bindir=\$(DESTDIR)$bindir
|
367
|
+
tccdir=\$(DESTDIR)$tccdir
|
368
|
+
libdir=\$(DESTDIR)$libdir
|
369
|
+
ln_libdir=$libdir
|
370
|
+
includedir=\$(DESTDIR)$includedir
|
371
|
+
mandir=\$(DESTDIR)$mandir
|
372
|
+
infodir=\$(DESTDIR)$infodir
|
373
|
+
docdir=\$(DESTDIR)$docdir
|
374
|
+
CC=$cc
|
375
|
+
GCC_MAJOR=$gcc_major
|
376
|
+
GCC_MINOR=$gcc_minor
|
377
|
+
HOST_CC=$host_cc
|
378
|
+
AR=$ar
|
379
|
+
STRIP=$strip -s -R .comment -R .note
|
380
|
+
CFLAGS=$CFLAGS
|
381
|
+
LDFLAGS=$LDFLAGS
|
382
|
+
LIBSUF=$LIBSUF
|
383
|
+
EXESUF=$EXESUF
|
384
|
+
EOF
|
385
|
+
|
386
|
+
print_inc() {
|
387
|
+
if test -n "$2"; then
|
388
|
+
echo "#ifndef $1" >> $TMPH
|
389
|
+
echo "# define $1 \"$2\"" >> $TMPH
|
390
|
+
echo "#endif" >> $TMPH
|
391
|
+
fi
|
392
|
+
}
|
393
|
+
print_mak() {
|
394
|
+
if test -n "$2"; then
|
395
|
+
echo "NATIVE_DEFINES+=-D$1=\"\\\"$2\\\"\"" >> config.mak
|
396
|
+
fi
|
397
|
+
}
|
398
|
+
|
399
|
+
echo "/* Automatically generated by configure - do not modify */" > $TMPH
|
400
|
+
|
401
|
+
print_inc CONFIG_SYSROOT "$sysroot"
|
402
|
+
print_inc CONFIG_TCCDIR "$tccdir"
|
403
|
+
print_mak CONFIG_TCC_SYSINCLUDEPATHS "$tcc_sysincludepaths"
|
404
|
+
print_mak CONFIG_TCC_LIBPATHS "$tcc_libpaths"
|
405
|
+
print_mak CONFIG_TCC_CRTPREFIX "$tcc_crtprefix"
|
406
|
+
print_mak CONFIG_TCC_ELFINTERP "$tcc_elfinterp"
|
407
|
+
print_mak CONFIG_LDDIR "$tcc_lddir"
|
408
|
+
print_mak CONFIG_MULTIARCHDIR "$multiarch_triplet"
|
409
|
+
|
410
|
+
echo "#define GCC_MAJOR $gcc_major" >> $TMPH
|
411
|
+
echo "#define GCC_MINOR $gcc_minor" >> $TMPH
|
412
|
+
|
413
|
+
if test "$cpu" = "x86" ; then
|
414
|
+
echo "ARCH=i386" >> config.mak
|
415
|
+
echo "#define HOST_I386 1" >> $TMPH
|
416
|
+
elif test "$cpu" = "x86-64" ; then
|
417
|
+
echo "ARCH=x86-64" >> config.mak
|
418
|
+
echo "#define HOST_X86_64 1" >> $TMPH
|
419
|
+
elif test "$cpu" = "armv4l" ; then
|
420
|
+
echo "ARCH=arm" >> config.mak
|
421
|
+
echo "#define HOST_ARM 1" >> $TMPH
|
422
|
+
echo "#define TCC_ARM_VERSION $cpuver" >> $TMPH
|
423
|
+
elif test "$cpu" = "powerpc" ; then
|
424
|
+
echo "ARCH=ppc" >> config.mak
|
425
|
+
echo "#define HOST_PPC 1" >> $TMPH
|
426
|
+
elif test "$cpu" = "mips" ; then
|
427
|
+
echo "ARCH=mips" >> config.mak
|
428
|
+
echo "#define HOST_MIPS 1" >> $TMPH
|
429
|
+
elif test "$cpu" = "s390" ; then
|
430
|
+
echo "ARCH=s390" >> config.mak
|
431
|
+
echo "#define HOST_S390 1" >> $TMPH
|
432
|
+
elif test "$cpu" = "alpha" ; then
|
433
|
+
echo "ARCH=alpha" >> config.mak
|
434
|
+
echo "#define HOST_ALPHA 1" >> $TMPH
|
435
|
+
else
|
436
|
+
echo "Unsupported CPU"
|
437
|
+
exit 1
|
438
|
+
fi
|
439
|
+
|
440
|
+
echo "TARGETOS=$targetos" >> config.mak
|
441
|
+
|
442
|
+
for v in $confvars ; do
|
443
|
+
echo "CONFIG_$v=yes" >> config.mak
|
444
|
+
done
|
445
|
+
if test "$noldl" = "yes" ; then
|
446
|
+
echo "CONFIG_NOLDL=yes" >> config.mak
|
447
|
+
fi
|
448
|
+
if test "$mingw32" = "yes" ; then
|
449
|
+
echo "CONFIG_WIN32=yes" >> config.mak
|
450
|
+
echo "#define CONFIG_WIN32 1" >> $TMPH
|
451
|
+
fi
|
452
|
+
if test "$cygwin" = "yes" ; then
|
453
|
+
echo "#ifndef _WIN32" >> $TMPH
|
454
|
+
echo "# define _WIN32" >> $TMPH
|
455
|
+
echo "#endif" >> $TMPH
|
456
|
+
echo "AR=ar" >> config.mak
|
457
|
+
fi
|
458
|
+
if test "$bigendian" = "yes" ; then
|
459
|
+
echo "WORDS_BIGENDIAN=yes" >> config.mak
|
460
|
+
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
|
461
|
+
fi
|
462
|
+
if test "$gprof" = "yes" ; then
|
463
|
+
echo "TARGET_GPROF=yes" >> config.mak
|
464
|
+
echo "#define HAVE_GPROF 1" >> $TMPH
|
465
|
+
fi
|
466
|
+
if test "$build_cross" = "yes" ; then
|
467
|
+
echo "CONFIG_CROSS=yes" >> config.mak
|
468
|
+
fi
|
469
|
+
if test "$disable_static" = "yes" ; then
|
470
|
+
echo "DISABLE_STATIC=yes" >> config.mak
|
471
|
+
fi
|
472
|
+
if test "$disable_rpath" = "yes" ; then
|
473
|
+
echo "DISABLE_RPATH=yes" >> config.mak
|
474
|
+
fi
|
475
|
+
if test "$strip_binaries" = "yes" ; then
|
476
|
+
echo "STRIP_BINARIES=yes" >> config.mak
|
477
|
+
fi
|
478
|
+
if test "$use_libgcc" = "yes" ; then
|
479
|
+
echo "#define CONFIG_USE_LIBGCC" >> $TMPH
|
480
|
+
echo "CONFIG_USE_LIBGCC=yes" >> config.mak
|
481
|
+
fi
|
482
|
+
if test "$have_selinux" = "yes" ; then
|
483
|
+
echo "#define HAVE_SELINUX" >> $TMPH
|
484
|
+
echo "HAVE_SELINUX=yes" >> config.mak
|
485
|
+
fi
|
486
|
+
|
487
|
+
version=`head $source_path/VERSION`
|
488
|
+
echo "VERSION=$version" >>config.mak
|
489
|
+
echo "#define TCC_VERSION \"$version\"" >> $TMPH
|
490
|
+
echo "@set VERSION $version" > config.texi
|
491
|
+
echo "SRC_PATH=$source_path" >>config.mak
|
492
|
+
|
493
|
+
if test "$source_path_used" = "yes" ; then
|
494
|
+
case $source_path in
|
495
|
+
/*) echo "top_srcdir=$source_path";;
|
496
|
+
*) echo "top_srcdir=\$(TOP)/$source_path";;
|
497
|
+
esac >>config.mak
|
498
|
+
else
|
499
|
+
echo 'top_srcdir=$(TOP)' >>config.mak
|
500
|
+
fi
|
501
|
+
echo 'top_builddir=$(TOP)' >>config.mak
|
502
|
+
|
503
|
+
diff $TMPH config.h >/dev/null 2>&1
|
504
|
+
if test $? -ne 0 ; then
|
505
|
+
mv -f $TMPH config.h
|
506
|
+
else
|
507
|
+
echo "config.h is unchanged"
|
508
|
+
fi
|
509
|
+
|
510
|
+
rm -f $TMPN* $CONFTEST
|
511
|
+
|
512
|
+
# ---------------------------------------------------------------------------
|
513
|
+
# build tree in object directory if source path is different from current one
|
514
|
+
|
515
|
+
fn_makelink()
|
516
|
+
{
|
517
|
+
tgt=$1/$2
|
518
|
+
case $2 in
|
519
|
+
*/*) dn=${2%/*}
|
520
|
+
test -d $dn || mkdir -p $dn
|
521
|
+
case $1 in
|
522
|
+
/*) ;;
|
523
|
+
*) while test $dn ; do
|
524
|
+
tgt=../$tgt; dn=${dn#${dn%%/*}}; dn=${dn#/}
|
525
|
+
done
|
526
|
+
;;
|
527
|
+
esac
|
528
|
+
;;
|
529
|
+
esac
|
530
|
+
ln -sfn $tgt $2
|
531
|
+
}
|
532
|
+
|
533
|
+
if test "$source_path_used" = "yes" ; then
|
534
|
+
FILES="Makefile lib/Makefile tests/Makefile tests/tests2/Makefile"
|
535
|
+
for f in $FILES ; do
|
536
|
+
fn_makelink $source_path $f
|
537
|
+
done
|
538
|
+
fi
|
539
|
+
|
540
|
+
# ---------------------------------------------------------------------------
|