Commit Graph

247 Commits (meesbs)

Author SHA1 Message Date
Henry Kroll III 8185070841 Makefile: Add .PHONY targets 2010-11-30 13:09:16 -08:00
Henry Kroll III 52b75c5fa0 Makefile: Put i386-win32-tcc back into --enable-cross install 2010-11-30 02:42:38 -08:00
Henry Kroll III 7b18df138d Makefile: build --config-cross libtcc1.a directly to win32/lib 2010-11-30 01:49:34 -08:00
Henry Kroll III 48a2a8dabd Remove unnecessary $(PROGS_CROSS) from non-cross builds. 2010-11-29 21:09:20 -08:00
Henry Kroll III ddea94daea Makefile: TCC=tcc 2010-11-28 16:11:40 -08:00
Henry Kroll III 3d35b6b36d Makefile: --enable-cross on x86_64 simplified 2010-11-28 15:51:03 -08:00
Henry Kroll III f0afec709e Makefile: x86_64 win32-cross add clean: target 2010-11-06 02:39:28 -07:00
Henry K e250ffb319 Makefile: edit comments 2010-10-29 00:40:16 -07:00
Henry Kroll III 24d6a93f44 Makefile: cross-copiler tcc1.def is now libtcc1.a, ignore mv errors 2010-10-29 00:40:06 -07:00
Henry Kroll III c635976cd7 Force gcc for x86_64 --enable-cross 2010-10-28 22:08:44 -07:00
Thomas Preud'homme 3f829d11ff Add info file creation into tcc build process
Add info file creation in tcc Makefile
2010-09-10 21:19:01 +02:00
Thomas Preud'homme 2220467fcf Don't load libtcc1 on arch where it doesn't exist
ARM architecture doesn't have any libtcc1 implementation but tcc load
libtcc1.a in all case. This patch add a conditional preprocessor
instruction to load libtcc1.a only when there is an implementation for
the target architecture.
2010-05-01 17:20:28 +02:00
Henry Kroll III 036ff17916 reverse another unnecessary change
-m32 is set elsewhere now.
2010-04-29 23:52:20 -07:00
Henry Kroll III 1f62f2253c recursive Makefiles should use $(MAKE), not "make"
add clean: target for lib/tcc1.def
2010-04-29 23:06:23 -07:00
Henry Kroll III c7a4e11bf1 remove superfluous LIBS=. (leftover from work on --disable-statc) 2010-04-28 16:15:19 -07:00
Henry Kroll III 209caeedee Summary of commits + added some brief comments to Makefile
Summary of what was changed or added so far:
    These won't work on Win32

* --disable-static option builds libtcca.so.1.0 and associated simlinks.
  This replaces libtcca.a, which is a static library with a dynamic one.

* --with-selinux option uses mmap to enable tcc -run to work with Selinux.

* attempt to build tcc1.def on i386 / x86_64 when --enable-cross is used.

  If successful, this gets around the "_start not found" or "_winstart not
  found" messages when i386-win32-tcc is run on these systems. I say "if"
  because it gave me fits of trouble on my system and not all others have
  been tested yet. tcc1.def is not a real .def file by the way, but it works,
  so it's kind of a dancing bear at this point. We're not concerned that
  it's getting the steps wrong. We're just happy it's not eating us for lunch.
2010-04-26 23:20:35 -07:00
Henry Kroll III ac0b7d82d8 don't build tcc1.def on Windows.
I think the Windows build portion of the Makefile already
provides their own version. If not, we can remove the check.
2010-04-26 01:27:15 -07:00
Henry Kroll III 765992396f Makefile fixup:
* additional make target for lib/tcc1.def on non-win32 builds
  tcc1.def was formerly lib/libtcc1.a but has bee made into its
  own Makefile target, tcc1.def

* use mv instead of cp on config.h
  this fixes a mistake I made which caused Makefile to rebuild
  all targets every time

* make links from libtcc.so.1.0 to libtcc.so.1 and libtcc.so
2010-04-25 13:34:02 -07:00
Henry Kroll III 07eb850608 make --enable-cross work properly on x86_64
merge more changes from Fedora spec file into Makefile
I did a lot of reading on Makefiles. It should be a lot less hacked now that I got rid of my temporary cross-build script. I had to build i386-win32-tcc as 32 bit in order to use it to build the windows version of libtcc1.a and move that into lib directory. Still testing, but it does build windows fib.exe smoothly now and generates shard lib, libtcc.so.1.0 and test links against it.
2010-04-25 00:35:25 -07:00
Henry Kroll III 239fdf0b87 remove make_libtcc1_win32.sh shell script
and merge commands into Makefile
2010-04-24 22:16:39 -07:00
Henry Kroll III 80b4c698c2 make win32 version of libtcc1.a for cross-compiler on x86 / x86_64 2010-04-24 13:27:56 -07:00
Henry Kroll III a4ed587f61 add --disable-static option to build libtcc.so instead of libtcc.a
for distros that want static libs
2010-04-24 02:35:43 -07:00
Henry Kroll III 4686236091 i386-win32-tcc fails to build a valid win32 executable if built
on x86_64 using --enable-cross. The easiest way to fix this is
to put -m32 in the Makefile.

Committer: Henry Kroll <henry@comptune.com>

Committer: Henry Kroll <henry@comptune.com>
2010-04-23 18:36:12 -07:00
Nikos Mavrogiannopoulos 253bad7993 Added patch to detect and use the paths for 64bit libraries as
used by CentOS (affects X86_64 only).
2010-01-28 08:27:38 +01:00
Detlef Riekenberg 5caf6235cf Makefile: Delete tcc-doc.html during 'make distclean' 2010-01-26 22:53:52 +01:00
grischka 903b6001e7 update Makefiles 2009-12-20 20:34:35 +01:00
grischka 88a3ccab9f allow tcc be build from separate objects
If you want that, run: make NOTALLINONE=1
2009-12-20 01:53:49 +01:00
grischka 7fa712e00c win32: enable bounds checker & exception handler
exception handler borrowed from k1w1. Thanks.
2009-12-19 22:22:43 +01:00
grischka 1308e8ebcf integrate x86_64-asm.c into i386-asm.c
Also, disable 16bit support for now as it causes bugs
in 32bit mode.  #define I386_ASM_16 if you want it.
2009-12-19 22:16:20 +01:00
grischka e81569bc70 tcc: add "-Wl,-rpath=path" option (library search path) 2009-12-19 22:16:20 +01:00
Frederic Feret b7d7af4fa2 ARM: first support for arm-pe target 2009-11-13 18:09:00 +01:00
Frederic Feret 526c464504 first support of x86_64 assembly 2009-11-13 18:08:59 +01:00
grischka fc977d56c9 x86-64: chkstk, alloca 2009-07-18 22:06:54 +02:00
grischka dc251a7d8d win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
grischka 3ba1532cfb pe32+ target: add to makefile 2009-07-18 22:05:40 +02:00
grischka 045cff28fe fix asmtest (somehow), update Makefiles 2009-07-18 21:54:51 +02:00
Shinichiro Hamaji 8ea8305199 x86-64: Add alloca. 2009-06-09 03:23:08 +09:00
grischka 110a4edc15 drop alloca #define
(Because GNU's alloca.h unconditionally #undef's alloca)

Also, remove gcc specific sections in headers. and
instead change tests such that gcc does not use them.
2009-05-16 22:30:13 +02:00
grischka 68310299b6 ulibc: #define TCC_UCLIBC and load elf_interp 2009-05-16 22:29:40 +02:00
grischka 5c6509578e make tcc from tcc.c and libtcc from libtcc.c 2009-05-05 20:41:17 +02:00
grischka a93bcdffae new files: tcc.h libtcc.c tccpp.c tccgen.c 2009-05-05 20:17:11 +02:00
grischka 15626621fb cleanup makefiles 2009-04-19 21:24:32 +02:00
grischka 5829791ffa fix makefiles etc for subdirs 2009-04-18 15:08:03 +02:00
grischka e8a52a8249 win32: readme.txt->tcc-win32.txt, update tcc-doc 2009-04-18 15:08:03 +02:00
grischka d165e87340 libtcc: new api tcc_set_lib_path 2009-04-18 15:08:03 +02:00
Shinichiro Hamaji 742cf05875 x86-64: Define make variable TARGET so that test2 and test3 use correct flag. 2009-04-18 15:08:02 +02:00
Shinichiro Hamaji 7db1e69df2 Suppress noisy pointer signed-ness warnings on x86-64. 2009-04-18 15:07:09 +02:00
Shinichiro Hamaji 0a9873aa22 Add support of x86-64.
Most change was done in #ifdef TCC_TARGET_X86_64. So, nothing should be broken by this change.

Summary of current status of x86-64 support:

- produces x86-64 object files and executables.
- the x86-64 code generator is based on x86's.
-- for long long integers, we use 64bit registers instead of tcc's generic implementation.
-- for float or double, we use SSE. SSE registers are not utilized well (we only use xmm0 and xmm1).
-- for long double, we use x87 FPU.
- passes make test.
- passes ./libtcc_test.
- can compile tcc.c. The compiled tcc can compile tcc.c, too. (there should be some bugs since the binary size of tcc2 and tcc3 is differ where tcc tcc.c -o tcc2 and tcc2 tcc.c -o tcc3)
- can compile links browser. It seems working.
- not tested well. I tested this work only on my linux box with few programs.
- calling convention of long-double-integer or struct is not exactly the same as GCC's x86-64 ABI.
- implementation of tcc -run is naive (tcc -run tcctest.c works, but tcc -run tcc.c doesn't work). Relocating 64bit addresses seems to be not as simple as 32bit environments.
- shared object support isn't unimplemented
- no bounds checker support
- some builtin functions such as __divdi3 aren't supported
2008-12-02 02:30:47 +01:00
Daniel Glöckner 15e0dc08a6 Allow to use libgcc instead of libtcc1
This patch adds a switch --with-libgcc to configure.
When passed it prevents libtcc1.a from being built and links to
/lib/libgcc_s.so.1 instead of PREFIX/lib/tcc/libtcc1.a.

It will work on ARM when using libgcc from GCC >= 4.2.0.
Prior versions don't have the __floatun[sd]i[sdx]f functions.

It won't work on i386 because of two missing symbols emitted when
floats are cast to integers, but users can provide those symbols
(global short constants) in their code if needed.

  Daniel
2008-09-12 22:22:58 +02:00
Daniel Glöckner e8039673ad ARM related Makefile changes
- Builds all four possible ARM targets when cross compiling

- Adds some auto detection to select the target for native ARM builds

The auto detection will select EABI if it finds /lib/ld-linux.so.3.
It will select VFP floating point support when /proc/cpuinfo lists
a VFP or iWMMXt coprocessor. Intel Wireless MMX does not imply VFP,
but it conflicts with FPA, so VFP is the only choice (apart from
yet unsupported soft-float).

  Daniel
2008-09-12 22:22:57 +02:00
Adam Sampson 8f7e3f325d Patch for DESTDIR installation (Adam Sampson) 2008-09-12 02:36:26 +02:00
grischka f22e961f80 update manual, changelog 2008-03-31 19:50:58 +00:00
grischka 2eaa1104f7 Checkin tiny_libmaker (ar replacement) by Timovj Lahde 2008-03-08 19:55:47 +00:00
grischka 265dddbecf Udated and cleaned up TODO. 2008-01-16 22:33:56 +00:00
grischka 6c96c41ee4 Import changesets (part 4) 428,457,460,467: defines for openbsd etc. 2007-12-16 18:24:44 +00:00
grischka f466577673 Disable singnedness warnings with newer gcc. 2007-12-13 19:17:45 +00:00
grischka f99d3de221 Import 409,410: ARM EABI by Daniel Glckner 2007-12-04 20:38:09 +00:00
grischka d778bde7f9 Import more changesets from Rob Landley's fork (part 2) 2007-11-21 17:16:31 +00:00
bellard d13aa5426a typos 2006-10-28 19:50:24 +00:00
bellard c42532c37d use CFLAGS from configure 2005-09-03 18:34:22 +00:00
bellard c262e9ea04 win32 fix 2005-06-17 22:03:50 +00:00
bellard c897c52088 cannot change dir layout yet 2005-04-15 00:23:00 +00:00
bellard ce93d5440f update 2005-04-15 00:11:02 +00:00
bellard 7baf968102 build of cross compilers is optional - win32 merge 2005-04-14 23:52:04 +00:00
bellard 2c538d7a2b initial PE format support 2005-04-10 21:46:58 +00:00
bellard 27feb1adac gcc 3.4 fix 2004-11-07 18:08:15 +00:00
bellard 13affef3f1 win32 configure 2004-10-07 21:11:43 +00:00
bellard ec7d36326d C67 COFF executable format support (TK) 2004-10-05 22:33:55 +00:00
bellard 6e5b1cc43a ARM fixes (Daniel Glockner) 2004-10-04 22:19:21 +00:00
bellard 79c72b2419 initial TMS320C67xx support (TK) 2004-10-04 21:57:35 +00:00
bellard 8da2d689df install fix 2004-10-02 13:46:33 +00:00
bellard 370f5e571c added missing texi2pod.pl 2003-05-24 18:31:27 +00:00
bellard fe3b68b087 libtcc1 is now a library so that it is linked in only on demand 2003-05-24 15:45:33 +00:00
bellard f0d5a74bcd automatic man page generation from tcc-doc.texi 2003-05-18 18:11:06 +00:00
bellard 6104629dc2 added -run option 2003-04-13 21:55:08 +00:00
bellard cb96022ab7 added configure - gcc 3.x support 2003-04-13 19:48:19 +00:00
bellard 75e743d23e update 2003-01-06 20:19:20 +00:00
bellard dc685c6b7d update 2002-12-08 14:34:02 +00:00
bellard 122198a8c2 update 2002-11-24 15:58:28 +00:00
bellard 6cd2d5d2c8 update 2002-11-03 00:44:38 +00:00
bellard d8ef07df04 added tcc_relocate() and tcc_get_symbol() 2002-09-08 22:46:32 +00:00
bellard 10f5d44f43 update 2002-09-08 22:13:54 +00:00
bellard bc427f5bec update 2002-08-31 12:44:16 +00:00
bellard 2eddd13c10 tccelf.c 2002-08-18 14:31:04 +00:00
bellard 840d197e87 update 2002-07-24 22:13:02 +00:00
bellard 1e14c90c7a added libtcc 2002-05-13 22:58:22 +00:00
bellard 7feafd2bba version 2002-03-17 11:41:46 +00:00
bellard 6933ac641f update 2002-03-03 22:44:31 +00:00
bellard 77db7175ca added il target 2002-02-10 16:15:22 +00:00
bellard dbb999f8bd version change and window fixes 2002-01-26 18:06:03 +00:00
bellard 2bd31e4ea6 added bound test 2002-01-05 19:57:08 +00:00
bellard b0b2d5d2e9 update 2001-12-17 21:57:01 +00:00
bellard a88b855866 update 2001-12-02 21:44:40 +00:00
bellard 34a14a08a3 update 2001-11-18 16:33:35 +00:00
bellard eb0e3e70dc update 2001-11-11 18:01:29 +00:00
bellard 927c4afc0c update for name change 2001-10-28 15:20:24 +00:00
bellard 27f6e16bae Initial revision 2001-10-27 23:48:39 +00:00