aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Several multiarch/biarch fixesThomas Preud'homme2012-05-231-2/+4
| | | | | | | | * Add multiarch directories for arm and i386 * Fix detection of biarch: /lib64/ld-linux-x86-64.so.2 is mandated by ABI and is thus always present, even if there is no biarch * Define CONFIG_LDDIR directly with the right value in case of multiarch instead of defining it to /lib and then redifining it.
* support "x86_64-linux-gnu" subdirs with lib & includegrischka2012-04-181-1/+2
| | | | suggested for newer ubuntu by Damian Gryski
* cleanup some partially broken patchesgrischka2012-04-181-1/+1
| | | | | | | | | | | | | | | | | | | - tests/Makefile: fix commit de54586d5b45800e26952ec77b4f51ad4c1e0079 This hunk it unrelated to the other changes (which are about MacOSX). It is not useful and partially wrong. Optional tests are meant to stay optional, btest would work only for i386 - tcc.h: fix commit c52d79605a3c895a16e18f0b7193f1f4b480a60f by unknown The message says it's for MINTW but the patch has obviously no effect for MINGW (which defines __GNUC__). However the patch seems useful for MSC which however needs _strto(u)i64 with underscore. - Makefile: fix commit 5280293d6b16bbe24dfda76e37f32322fa2874ca Do not build tcc.o with -DONE_SOURCE because we finally build tcc from tcc.o and libtcc.a/so
* Further changes improving the OSX build. Everything builds. libtest passes.Milutin Jovanovic2012-03-061-4/+1
| | | | | | | | | | | | | | | | | | | | Other tests still have issues, currently with weak linking. One of the primary stumbling blocks on OSX is the lack of support for mach-o binaries. Therefore all tcc usage on OSX has to be limited to elf binaries, presumably produced by tcc itself. Therefore I had to enable building of tiny_libmaker for OSX. Then changed the make to use tcc and tiny_libmaker to compile the tcclib1. In order to compile the tests, specifically the parts that use weak linking, I have had to define MACOSX_DEPLOYMENT_TARGET to 10.2, which seems like a hack, but extensive searching seems to indicate that this is the only way to make apple gcc allow weak linking. Using any other value, bigger or smaller breaks weak linking. Also added _ANSI_SOURCE define required by some OSX headers, and some cosmetic gitignore changes. I believe these changes should not impact other platforms.
* Revert "Multiple fixes for 64 bit sections"Andrew Mulbrook2012-03-031-3/+0
| | | | This reverts commit d7a7c3769d0a1dcb8400258cd8adf78a8566de61.
* Multiple fixes for 64 bit sectionsmob2012-02-261-0/+3
| | | | | | | | | | | | | | | This changeset attempts to fix a few problems when giving using the high 32bits of a 64bit section offset. There are likely more issues (or perhaps regressions) lurking in the muck here. In general, this moves a few data type declarations to use uplong. Also, add support for 64bit mingw32 building under cygwin. Because native types are used for 64 bit offsets, this won't fix challenges with cross compiling from 32bit -> 64bit. Tested under cygwin, against binary compiled with -Wl,-Ttext=0xffffff8000000000 Signed-off-by: Andrew Mulbrook <andrew262@gmail.com>
* Attempt to fix 32 bit OSX build. The fix consists of adding -m32 and -m64Milutin Jovanovic2012-02-161-2/+7
| | | | | | | | to the appropriate CFLAGS. In addition, memory hooks are very different on OSX, so build of bcheck.c had to be disabled for now. Change of the CFLAGS does affect builds on other platforms, and this needs to be tested.
* Patch attempting to build OSX TinyCC.Milutin Jovanovic2012-02-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Applied patch found on stackoverflow (link below). I also found some related changes that looked like logically needed. The stackoverflow changes addressed only two registers which were breaking a compile. However reading the code in the same file shows two other register accesses that, while not breaking the build, should have the same fix. http://stackoverflow.com/questions/3712902/problems-compiling-tcc-on-os-x/3713144#3713144 The test driver was changed by changing 'cp -u' into 'cp' as '-u' is not supported on mac osx. I found that osx build required the WITHOUT_LIBTCC define. I suspect the reason for this is tcc unability to handle mach-o files. In order to properly address this I had to change 'configure' to propagate target os name to Makefile. Current state is that simple tests work, but not the whole 'make test' suite runs. To the best of my knowledge, these changes should not impact other platforms.
* libtcc: minor adjustmentsgrischka2011-08-111-2/+2
| | | | | | | | | | | | | | | | | - use {B} to substitute tcc_lih_path (instead of \b) - expand CONFIG_TCC_CRTPREFIX in CONFIG_TCC_LIBPATHS which fixes duplicate CONFIG_SYSROOT. - put default CONFIG_SYSROOT ("") into tcc.h - remove hack from commit db6fcce78f4d8ea25036dd6643e9fa83d8e52e5a because $(tccdir)/include is already in sysincludes - configure: error out for unrecognized options. - win32/build-tcc.bat: put libtcc into base dir where it will find lib/include automatically, and build libtcc_test example.
* configure: add switches to set search pathsgrischka2011-08-061-2/+2
| | | | | | | | | | | | | | | | | | | --sysincludepaths=.. specify system include paths, colon separated" Sets CONFIG_TCC_SYSINCLUDEPATHS --libpaths=... specify system library paths, colon separated" Sets CONFIG_TCC_LIBPATHS --crtprefix=... specify location of crt?.o" Sets CONFIG_TCC_CRTPREFIX --elfinterp=... specify elf interpreter" Sets CONFIG_TCC_ELFINTERP Also the CONFIG_TCC_XXX were renamed to make them look more consistent. Also move the elf_interp definitions to tcc.h.
* Accept colon separated paths with -L and -Igrischka2011-08-011-3/+8
| | | | | | | | | | | | | | | | | | This allows passing colon separated paths to tcc_add_library_path tcc_add_sysinclude_path tcc_add_include_path Also there are new configure variables CONFIG_TCC_LIBPATH CONFIG_TCC_SYSINCLUDE_PATHS which define the lib/sysinclude paths all in one and can be overridden from configure/make For TCC_TARGET_PE semicolons (;) are used as separators Also, \b in the path string is replaced by s->tcc_lib_path (CONFIG_TCCDIR rsp. -B option)
* make: create native tcc from separate objectsgrischka2011-07-141-4/+3
| | | | | | | | | | | | | | | | | | | | | | | This was already possible using make NOTALLINONE=1 and is now the default. To build as previously from one big source, use make ONE_SOURCE=1 Cross compilers are still build from one source because using separate objects requires separate build directories one per platform which currently is not (yet) supported by the makefile. We could probably use gnu-makeish target variables like $(I386_CROSS): OUTDIR=build/i386 $(X64_CROSS): OUTDIR=build/x86-64 and so on ... Also NEED_FLOAT_TYPES for arm-gen is removed. It was about variables that are referenced from outside (libtcc, tccgen). We could declare them in tcc.h (as with reg_classes) or have them twice in arm-gen.c. I chose option 2.
* Revert "Make examples' shebang use target tcc bindir path"Thomas Preud'homme2011-07-071-10/+4
| | | | This reverts commit cb2138f8b098feb1b51a407343a4b99e25d5b506.
* Make examples' shebang use target tcc bindir pathThomas Preud'homme2011-06-181-4/+10
| | | | | | Use @BINDIR@ in shebang of examples to put the right path on the target system. That is, use #!/usr/local/bin/tcc if tcc is installed in /usr/local/bin and #!/usr/bin/tcc if tcc is installed in /usr/bin/tcc.
* Default to create progs with symbols (incl. debug)Thomas Preud'homme2011-06-171-4/+8
| | | | | | | * Set CFLAGS entirely in configure if not already set. * Compile bcheck.c with the same flags as the other source files * Don't strip binaries by default (GB are cheap now) but provide a --strip-binaries option in configure script.
* make test work when LIBTCC1 not definedThomas Preud'homme2011-05-171-0/+2
| | | | | Make libtest depends on LIBTCC1 instead of ../libtcc1.a and define LIBTCC1 to $(TOP)/$(LIBTCC1) if LIBTCC1 is defined
* make clean work when LIBTCC1 not definedThomas Preud'homme2011-05-141-0/+2
| | | | | Don't call make -C lib clean if LIBTCC1 is not defined, else make clean fails (for example of arm).
* Makefile: respect LDFLAGS (set via --extra-ldflags=)Sergei Trofimovich2011-01-041-2/+2
| | | | Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
* make: fix cannot find -ltcc with --disable-rpathHenry Kroll III2010-12-211-2/+1
|
* make: fix install with CC=tcc and potential link problemHenry Kroll III2010-12-201-1/+6
|
* configure: add --disable-rpath option (Fedora)Henry Kroll III2010-12-201-0/+4
|
* trim unnecessary bits from my previous 3 commitsHenry Kroll III2010-12-051-2/+1
|
* make: i386/libtcc1.a for i386-tcc (x86_64 to i386 cross)Henry Kroll III2010-12-051-2/+10
|
* make: cross compilers exist before using them (fixes parallel make)Henry Kroll III2010-12-041-1/+2
|
* make: new lib/Makefile for libtcc1.a on more platformsgrischka2010-12-041-198/+135
| | | | | | win32/64 cross-compilers now build libtcc1.a and install it together with the windows headers in a 'win32' sub-directory of TCCDIR.
* needs lib path on bcheck.o fixes undefined symbol '__try__'Henry Kroll III2010-12-021-1/+1
|
* Makefile: fix clean target, bcheck, add commentsHenry Kroll III2010-12-021-6/+14
|
* split cross libtcc1.a to separate directoriesHenry Kroll III2010-12-021-106/+147
|
* Makefile: cleanup leftovers on cross build. really works nowHenry Kroll III2010-11-301-0/+1
|
* Makefile: fix typo and resulting workaroundHenry Kroll III2010-11-301-2/+2
|
* Makefile: fix Linux cross install, cleanupHenry Kroll III2010-11-301-6/+6
|
* tccpe.c: Makefile: --enable-cross win64 cross library buildHenry Kroll III2010-11-301-7/+19
|
* make CC=tcc install: fixes strip:tcc: File format not recognizedHenry Kroll III2010-11-301-1/+2
|
* Makefile: Add .PHONY targetsHenry Kroll III2010-11-301-0/+2
|
* Makefile: Put i386-win32-tcc back into --enable-cross installHenry Kroll III2010-11-301-1/+1
|
* Makefile: build --config-cross libtcc1.a directly to win32/libHenry Kroll III2010-11-301-7/+8
|
* Remove unnecessary $(PROGS_CROSS) from non-cross builds.Henry Kroll III2010-11-291-1/+0
|
* Makefile: TCC=tccHenry Kroll III2010-11-281-1/+1
|
* Makefile: --enable-cross on x86_64 simplifiedHenry Kroll III2010-11-281-27/+11
|
* Makefile: x86_64 win32-cross add clean: targetHenry Kroll III2010-11-061-4/+6
|
* Makefile: edit commentsHenry K2010-10-291-2/+1
|
* Makefile: cross-copiler tcc1.def is now libtcc1.a, ignore mv errorsHenry Kroll III2010-10-291-7/+7
|
* Force gcc for x86_64 --enable-crossHenry Kroll III2010-10-281-1/+1
|
* Add info file creation into tcc build processThomas Preud'homme2010-09-101-3/+8
| | | | Add info file creation in tcc Makefile
* Don't load libtcc1 on arch where it doesn't existThomas Preud'homme2010-05-011-0/+1
| | | | | | | 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.
* reverse another unnecessary changeHenry Kroll III2010-04-291-1/+1
| | | | -m32 is set elsewhere now.
* recursive Makefiles should use $(MAKE), not "make"Henry Kroll III2010-04-291-3/+3
| | | | add clean: target for lib/tcc1.def
* remove superfluous LIBS=. (leftover from work on --disable-statc)Henry Kroll III2010-04-281-1/+0
|
* Summary of commits + added some brief comments to MakefileHenry Kroll III2010-04-261-5/+10
| | | | | | | | | | | | | | | | | | | 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.
* don't build tcc1.def on Windows.Henry Kroll III2010-04-261-11/+11
| | | | | I think the Windows build portion of the Makefile already provides their own version. If not, we can remove the check.