aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefile leftover of rev 44c6e99Roy2015-03-061-2/+2
|
* Add a dependency for a PROGS and TCCLIBS to a Makefileseyko2015-03-051-0/+2
| | | | | Simply assume this is all *.c and *.h files in a tcc top directory. Now a tcc compiler is recompiled if any of this files is changed.
* Fix compiling in MinGW/MSYSRoy2015-03-051-2/+2
|
* gcc options and mingw: move a gcc options detection from a makefile to the ↵seyko2015-03-041-13/+1
| | | | | | | | configure + define XCC and XAR if mingw32 defined + use XCC and XAR in lib/Makefile if defined Try "./configure --enable-mingw32; make". This must work
* install-clean-tuningseyko2015-03-041-16/+26
| | | | | | | | | | | | | | | | * Don't use /usr/local/lib/tcc/libtcc1.a for i386 and x86_64 A $(tccdir)/i386 directory was used to install a libtcc1.a but only when cross compiling. And no x86_64 directory. * Build/install i386-tcc/x86_64-tcc and not a tcc * Build/install i386-win-tcc/x86_64-win-tcc and not a i386-win-mingw32-tcc/... * DEFINES = -DTCC_TARGET_I386... also for i386-tcc and i386-win-tcc * Make a symlink tcc to the i386-tcc/x86_64-tcc for a "make test" * Build a $(ARCH) directory with a symlink to the libtcc1.a for a "make test" * Remove a /usr/local/lib/tcc directory on uninstall * Remove a /usr/local/share/doc/tcc directory on uninstall * Remove a $(ARCH) directory on "make clean" * Remove a *-tcc files on "make clean"
* an unification of the tcc cross names for a windowsseyko2015-03-041-16/+16
| | | | | | | | | | | | | | | | | | | | | | produce a i386-win-mingw32-tcc i386-win-tcc x86_64-win-mingw32-tcc x86_64-win-tcc arm-win-mingw32ce-tcc arm-win-tcc instead of the i386-w64-mingw32-tcc i386-win32-tcc x86_64-w64-mingw32-tcc x86_64-win32-tcc arm-wince-mingw32ce-tcc arm-win32-tcc Replacing a *-win32 directory names with a *-win names because this names are based on the names of the tcc x86_64-win32-tcc, i386-win32-tcc
* reverse a commit a6149c6dbb41: Set CONFIG_MULTIARCHDIR for cross compilers.seyko2015-03-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set CONFIG_MULTIARCHDIR for cross compilers. Chances a cross-compiler will find a working crt*.o in /usr/lib are more or less 0. This commit breaks x86 / x86_64 compilres for linux. A solution for the crt*.o must be discussed. must be: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64, Linux) install: /usr/local/lib/tcc crt: /usr/lib64 libraries: /usr/lib64 /lib64 /usr/local/lib64 include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 and with MULTIARCH we have: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64 Linux) install: /usr/local/lib/tcc/ crt: /usr/lib/x86_64-linux-gnu ??????????????????? libraries: /usr/lib/x86_64-linux-gnu /usr/lib ??????????????????? /lib/x86_64-linux-gnu /lib ??????????????????? /usr/local/lib/x86_64-linux-gnu /usr/local/lib ??????????????????? include: /usr/local/include/x86_64-linux-gnu /usr/local/include /usr/include/x86_64-linux-gnu /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 And CONFIG_MULTIARCHDIR don't handle C67. On Linux x86 we have: # ./c67-tcc -vv tcc version 0.9.26 (C67, Linux) install: /usr/local/lib/tcc crt: /usr/lib libraries: /usr/lib /lib /usr/local/lib include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib/ld-linux.so.2
* Add arm64 (AArch64) as a target architecture.Edmund Grimley Evans2015-02-231-5/+15
|
* Set CONFIG_MULTIARCHDIR for cross compilers.Reimar Döffinger2015-01-181-4/+4
| | | | | | | Chances a cross-compiler will find a working crt*.o in /usr/lib are more or less 0. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Build also WinCE cross compiler when cross compilers enabled.Reimar Döffinger2015-01-181-5/+5
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Makefile: Add rules to create tags and TAGS.Lee Duhem2014-11-281-2/+9
|
* Accept CPPFLAGS from the environmentMatteo Cypriani2014-09-071-1/+1
| | | | | | | Don't override CPPFLAGS so that it can be passed through the environment. (This is a patch Thomas Preud'homme wrote for Debian in February 2013.)
* Always link libtcc1.a in (useful for va_* on x86)Thomas Preud'homme2014-03-251-4/+0
| | | | On x86 tcc call to function in libtcc1.a to implement va_* functions.
* Ordinary and implicit rules cannot be mixed in the same string in MakefileIavael2014-01-231-1/+1
|
* tcctest: add back testXb (self compile with -b)grischka2014-01-211-2/+2
| | | | | | | | | | | | | | | | | | - Thanks to Kirill "tcc -b itself" should work now (was removed in d5f4df09ff4a84dda5b03525285f03be7723376b) Also: - tests/Makefile: - fix spurious --I from 767410b8750b45d63805b45ca1a2cf34d7cb4923 - lookup boundtest.c via VPATH (for out-of-tree build) - test[123]b?: fail on diff error - Windows: test3 now works (from e31579b0769e1f9c0947d12e83316d1149307b1a) - abitest: a libtcc.a made by gcc is not usable for tcc on WIndows - using source instead (libtcc.c) - tccpe: - avoid gcc warning (x86_64)
* Various Makefile fixes for cross-compilationThomas Preud'homme2014-01-091-4/+5
| | | | | | - Build libtcc1 for cross-compiler on arm (arm to X cross compilers) - Install libtcc1 and includes for arm to i386 cross compiler - Add basic check of cross-compilers (compile ex1.c)
* Use GNU triplet prefix for cross tcc compilersThomas Preud'homme2014-01-081-10/+24
| | | | | Compatibility symlinks are put in place in case some script were relying on former names except for CMake since it was added after last release.
* Explicit that EABI only supports VFP for nowThomas Preud'homme2014-01-071-1/+1
|
* fixed permissions for install on UnixVincent Lefevre2014-01-071-3/+3
| | | | Signed-off-by: Vincent Lefevre <vincent@vinc17.net>
* misc. fixesgrischka2014-01-061-3/+0
| | | | | | | | | | | | | | | | | | | | | | - tccgen: error out for cast to void, as in void foo(void) { return 1; } This avoids an assertion failure in x86_64-gen.c, also. also fix tests2/03_struct.c accordingly - Error: "memory full" - be more specific - Makefiles: remove circular dependencies, lookup tcctest.c from VPATH - tcc.h: cleanup lib, include, crt and libgcc search paths" avoid duplication or trailing slashes with no CONFIG_MULTIARCHDIR (as from 9382d6f1a0e2d0104a82ed805207d9e742c6b068) - tcc.h: remove ";{B}" from PE search path in ce5e12c2f950052d8109b6b7a56d900547705c08 James Lyon wrote: "... I'm not sure this is the right way to fix this problem." And the answer is: No, please. (copying libtcc1.a for tests instead) - win32/build_tcc.bat: do not move away a versioned file
* Provide install-strip target in MakefileThomas Preud'homme2014-01-041-0/+3
|
* Add __clear_cache implementation in libtcc1Thomas Preud'homme2013-11-051-1/+2
| | | | Add __clear_cache function for flushing caches to libtcc1.
* Improve texi2html -> makeinfo conversionThomas Preud'homme2013-05-291-1/+1
|
* Sorted out CMake on x86-64 and fixed silly XMM# bug introduced when working ↵James Lyon2013-04-251-6/+7
| | | | | | | | | on Win64 stdargs. I removed the XMM6/7 registers from the register list because they are not used on Win64 however they are necessary for parameter passing on x86-64. I have now restored them but not marked them with RC_FLOAT so they will not be used except for parameter passing.
* Tests in abitest.c now work on Win32.James Lyon2013-04-181-2/+16
| | | | | | | I expect that Linux-x86 is probably fine. All other architectures except ARM are definitely broken since I haven't yet implemented gfunc_sret for these, although replicating the current behaviour should be straightforward.
* Fixed tests on Windows (including out-of-tree problems)James Lyon2013-04-171-0/+2
| | | | | | | | | | | Modified tcctest.c so that it uses 'double' in place of 'long double' with MinGW since this is what TCC does, and what Visual C++ does. Added an option -norunsrc to tcc to allow argv[0] to be set independently of the compiled source when using tcc -run, which allows tests that rely on the value of argv[0] to work in out-of-tree builds. Also added Makefile rules to automatically update out-of-tree build Makefiles when in-tree Makefiles have changed.
* Fixed out of tree build problem on Windows.James Lyon2013-04-171-7/+7
| | | | | | | | Some files installed are not generated so need to be copied from the source tree rather than the build tree. I also switched texi2html for makeinfo --html since texi2html is apparently unmaintained.
* add version number to manpageUrs Janssen2013-02-171-2/+2
| | | | | | | avoid c++/c99 style comments in preprocessor directives avoid leadings whitespaces in preprocessor directives mention implemented variable length arrays in documentation fixed ambiguous option in texi2html call (Austin English)
* fixed pasto in in 108b2876; background for the additional $CC test is:Urs Janssen2013-02-151-1/+1
| | | | | | | GCC_MAJOR may be set even is $CC not realy gcc (but i.e. clang, which (as of 3.1) requires an addtional CFLAG to accept the non portable (gnuisms all over the place; try to cimpile tcc with Sun^HOracle, Intel, Pathscale, ... compiler) code).
* - don't use GCC_MAJOR to see if we're not using gcc as GCC_MAJOR might be setUrs Janssen2013-02-151-0/+2
| | | | during configure even with --cc=notgcc as long as gcc is installed.
* configure: detect ARM variantsgrischka2013-02-141-33/+19
| | | | Using gnu make's variable variable-names.
* configure: pass CONFIG_xxxDIR/PATH options via commandlinegrischka2013-02-141-3/+3
| | | | | | | | | | | | | | | - except for CONFIG_SYSROOT and CONFIG_TCCDIR Strictly neccessary it is only for CONFIG_MULTIARCHDIR because otherwise if it's in config.h it is impossible to leave it undefined. But it is also nicer not to use these definitions for cross-compilers. - Also: lib/Makefile : include ../Makefile for CFLAGS lib/libtcc1.c : fix an issue compiling tcc with tcc on x64
* - make clang accept unportable code in libtcc1.cUrs Janssen2013-02-141-0/+5
| | | | - add -dumpversion cmd.line opt
* configure: cleanupgrischka2013-02-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - add quotes: eval opt=\"$opt\" - use $source_path/conftest.c for OOT build - add fn_makelink() for OOT build - do not check lddir etc. on Windows/MSYS - formatting config-print.c - rename to conftest.c (for consistency) - change option e to b - change output from that from "yes" to "no" - remove inttypes.h dependency - simpify version output Makefile: - improve GCC warning flag checks tcc.h: - add back default CONFIG_LDDIR - add default CONFIG_TCCDIR also (just for fun) tccpp.c: - fix Christian's last warning tccpp.c: In function ‘macro_subst’: tccpp.c:2803:12: warning: ‘*((void *)&cval+4)’ is used uninitialized in this function [-Wuninitialized] That the change fixes the warning doesn't make sense but anyway. libtcc.c: - tcc_error/warning: print correct source filename/line for token :paste: (also inline :asm:) lddir and multiarch logic still needs fixing.
* Improve multiarch detectionThomas Preud'homme2013-02-131-10/+0
| | | | | | * Detect multiarch at configure time * Detect based on the place where crti.o is * Define multiarch triplet in tcc.h
* tcc.h: declare CValue.tab[LDOUBLE_SIZE/4]grischka2013-02-081-2/+2
| | | | | | | | Should fix some warnings wrt. access out of array bounds. tccelf.c: fix "static function unused" warning x86_64-gen.c: fix "ctype.ref uninitialzed" warning and cleanup tcc-win32.txt: remove obsolete limitation notes.
* lib/Makefile: use CC, add bcheck to libtcc1.agrischka2013-02-061-30/+7
| | | | | | | | Also: - fix "make tcc_p" (profiling version) - remove old gcc flags: -mpreferred-stack-boundary=2 -march=i386 -falign-functions=0 - remove test "hello" for Darwin (cannot compile to file)
* tests: cleanupgrischka2013-02-051-2/+0
| | | | | | | | | | | | | | | | tests: - add "hello" to test first basic compilation to file/memory - add "more" test (tests2 suite) - remove some tests tests2: - move into tests dir - Convert some files from DOS to unix LF - remove 2>&1 redirection win32: - tccrun.c: modify exception filter to exit correctly (needed for btest) - tcctest.c: exclude weak_test() (feature does not exist on win32)
* Slightly improved support for !gcc compilersThomas Preud'homme2013-02-041-1/+3
| | | | | Hack before a complete solution after 0.9.26's release to be able to compile tcc with clang.
* Makefile: fix "allow CONFIG_LDDIR=lib64 configuration"grischka2013-02-041-4/+4
| | | | I forgot the commas.
* Makefile: allow CONFIG_LDDIR=lib64 configurationgrischka2013-02-041-7/+9
|
* Fix cross-compilation out-of-tree buildThomas Preud'homme2013-01-301-2/+2
| | | | | | Add tcc.c as a prerequesite of the %-tcc$(EXESUF) target and compile $< instead of tcc.c to make sure tcc.c is search in directories specified by VPATH.
* configure: use relative paths for in-tree buildgrischka2013-01-301-0/+2
| | | | | | Also - move CPPFLAGS to Makefile - Use top_srcdir in lib/Makefile
* Favor arm hardfloat over arm softfloat.Thomas Preud'homme2013-01-291-4/+4
| | | | | | | Favor ARM hardfloat over ARM softfloat calling convention. In particular, this solve the problem of the raspbian distribution where the softfloat ld.so pathname (lib/ld-linux.so.3) is actually a symlink to the hardfloat ld.so pathname (/lib/arm-linux-gnueabihf/ld-2.13.so).
* Install libtcc.h when invoking make installThomas Preud'homme2013-01-141-0/+2
| | | | This fix commit e79281f58ec302e8cc9dfc7d00e06f426fcd2acd
* Revert "Added what I call virtual io to tinycc this way we can make a ↵Thomas Preud'homme2013-01-141-12/+4
| | | | | | | | monolitic executable or library that contains all needed to compile programs, truly tinycc portable." This reverts commit 59e18aee0e509a3ca75dbe6f909e18c1d17893d1. tcc is being stabilized now in order to do a new release soon. Therefore, such a change is not appropriate now.
* Stop setting -Wno-unused-result switch in MakefileThomas Preud'homme2013-01-131-11/+0
| | | | | | | | | | This commit revert commit 061b5799cc1feb15014da589ea98057deda14a23 and subsequent commits to detect whether -Wno-unused-result is supported or not by the compiler used to compile tcc. No warning about unused results is issued in a normal build and thus this switch is only needed if calling make with extra switches in CFLAGS or CPPFLAGS. It should thus be added with the extra switches when calling make and not in the Makefile.
* Added what I call virtual io to tinycc this way we can make a monolitic ↵mingodad2013-01-111-4/+12
| | | | | | executable or library that contains all needed to compile programs, truly tinycc portable. Tested under linux exec the "mk-it" shell script and you'll end up with a portable tinycc executable that doesn't depend on anything else.
* Honor CC when testing for -Wno-unused-resultThomas Preud'homme2013-01-061-1/+1
| | | | | | The compiler used for compiling tcc is the one referenced in the CC variable. As such, the check for -Wno-unused-result presence should be done on CC.
* build: fix out-of-tree installAkim Demaille2012-12-211-3/+1
| | | | | Makefile (install): Fix installation of headers. Do not try to install twice libtcc.h, once should be enough.