aboutsummaryrefslogtreecommitdiff
path: root/tccelf.c
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-03-03 18:34:22 +0300
committerseyko <seyko2@gmail.com>2015-03-03 18:34:22 +0300
commitd70440b406f84b2e0ed77d052682c6d39d3b1a8a (patch)
tree38311c5217ee53481e1950910af0844e3fe1a717 /tccelf.c
parent43e4a406b4675cd312453697c7a19f2bd63c3b55 (diff)
downloadtinycc-d70440b406f84b2e0ed77d052682c6d39d3b1a8a.tar.gz
tinycc-d70440b406f84b2e0ed77d052682c6d39d3b1a8a.tar.bz2
A 32/64 bit tcc on linux: an arch specific path for libtcc1.a
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. And this directory location was unknown inside tccelf.c
Diffstat (limited to 'tccelf.c')
-rw-r--r--tccelf.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/tccelf.c b/tccelf.c
index 648422e..9c2ce6f 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -1575,7 +1575,25 @@ ST_FUNC void tcc_add_bcheck(TCCState *s1)
static inline int tcc_add_support(TCCState *s1, const char *filename)
{
char buf[1024];
- snprintf(buf, sizeof(buf), "%s/%s", s1->tcc_lib_path, filename);
+ snprintf(buf, sizeof(buf), "%s/%s/%s", s1->tcc_lib_path,
+ /* an cpu specific path inside tcc_lib_path, mainly for keeping libtcc1.a */
+ #ifdef TCC_TARGET_I386
+ "i386"
+ #endif
+ #ifdef TCC_TARGET_X86_64
+ "x86-64"
+ #endif
+ #ifdef TCC_TARGET_ARM
+ "ARM"
+ #endif
+ #ifdef TCC_TARGET_ARM64
+ "ARM64"
+ #endif
+ #ifdef TCC_TARGET_C67
+ "C67"
+ #endif
+ ,filename);
+
return tcc_add_file(s1, buf);
}