rename libtcc1.c

master
jiang 2014-04-30 17:35:44 +08:00
parent 5af0ea7fb8
commit ba61fd9cd1
10 changed files with 47 additions and 47 deletions

View File

@ -22,7 +22,7 @@ endif
endif endif
else # not GCC else # not GCC
ifeq (-$(findstring clang,$(CC))-,-clang-) ifeq (-$(findstring clang,$(CC))-,-clang-)
# make clang accept gnuisms in libtcc1.c # make clang accept gnuisms in libcrt.c
CFLAGS+=-fheinous-gnu-extensions CFLAGS+=-fheinous-gnu-extensions
endif endif
endif endif
@ -113,29 +113,29 @@ ifdef CONFIG_WIN64
PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF)
NATIVE_FILES=$(WIN64_FILES) NATIVE_FILES=$(WIN64_FILES)
PROGS_CROSS=$(WIN32_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS) PROGS_CROSS=$(WIN32_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS)
LIBTCC1_CROSS=lib/i386-win32/libtcc1.a LIBTCC1_CROSS=lib/i386-win32/libcrt.a
LIBTCC1=libtcc1.a LIBCRT=libcrt.a
else ifdef CONFIG_WIN32 else ifdef CONFIG_WIN32
PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF)
NATIVE_FILES=$(WIN32_FILES) NATIVE_FILES=$(WIN32_FILES)
PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS) PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS)
LIBTCC1_CROSS=lib/x86_64-win32/libtcc1.a LIBTCC1_CROSS=lib/x86_64-win32/libcrt.a
LIBTCC1=libtcc1.a LIBCRT=libcrt.a
else ifeq ($(ARCH),i386) else ifeq ($(ARCH),i386)
NATIVE_FILES=$(I386_FILES) NATIVE_FILES=$(I386_FILES)
PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a
LIBTCC1=libtcc1.a LIBCRT=libcrt.a
else ifeq ($(ARCH),x86-64) else ifeq ($(ARCH),x86-64)
NATIVE_FILES=$(X86_64_FILES) NATIVE_FILES=$(X86_64_FILES)
PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS) PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a lib/i386/libtcc1.a LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a lib/i386/libcrt.a
LIBTCC1=libtcc1.a LIBCRT=libcrt.a
else ifeq ($(ARCH),arm) else ifeq ($(ARCH),arm)
NATIVE_FILES=$(ARM_FILES) NATIVE_FILES=$(ARM_FILES)
PROGS_CROSS=$(I386_CROSS) $(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(C67_CROSS) PROGS_CROSS=$(I386_CROSS) $(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(C67_CROSS)
LIBTCC1=libtcc1.a LIBCRT=libcrt.a
LIBTCC1_CROSS=lib/i386-win32/libtcc1.a lib/x86_64-win32/libtcc1.a lib/i386/libtcc1.a LIBTCC1_CROSS=lib/i386-win32/libcrt.a lib/x86_64-win32/libcrt.a lib/i386/libcrt.a
endif endif
PROGS_CROSS_LINK=$(foreach PROG_CROSS,$(PROGS_CROSS),$($(PROG_CROSS)_LINK)) PROGS_CROSS_LINK=$(foreach PROG_CROSS,$(PROGS_CROSS),$($(PROG_CROSS)_LINK))
@ -143,7 +143,7 @@ ifeq ($(TARGETOS),Darwin)
PROGS+=tiny_libmaker$(EXESUF) PROGS+=tiny_libmaker$(EXESUF)
endif endif
TCCLIBS = $(LIBTCC1) $(LIBTCC) $(LIBTCC_EXTRA) TCCLIBS = $(LIBCRT) $(LIBTCC) $(LIBTCC_EXTRA)
TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info
ifdef CONFIG_CROSS ifdef CONFIG_CROSS
@ -225,9 +225,9 @@ tiny_libmaker$(EXESUF): win32/tools/tiny_libmaker.c
$(CC) -o $@ $< $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(CC) -o $@ $< $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
# TinyCC runtime libraries # TinyCC runtime libraries
libtcc1.a : FORCE libcrt.a : FORCE
$(MAKE) -C lib native $(MAKE) -C lib native
lib/%/libtcc1.a : FORCE $(PROGS_CROSS) lib/%/libcrt.a : FORCE $(PROGS_CROSS)
$(MAKE) -C lib cross TARGET=$* $(MAKE) -C lib cross TARGET=$*
FORCE: FORCE:
@ -258,8 +258,8 @@ endif
-$(INSTALL) -m644 tcc-doc.info "$(infodir)" -$(INSTALL) -m644 tcc-doc.info "$(infodir)"
mkdir -p "$(tccdir)" mkdir -p "$(tccdir)"
mkdir -p "$(tccdir)/include" mkdir -p "$(tccdir)/include"
ifneq ($(LIBTCC1),) ifneq ($(LIBCRT),)
$(INSTALL) -m644 $(LIBTCC1) "$(tccdir)" $(INSTALL) -m644 $(LIBCRT) "$(tccdir)"
endif endif
$(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include" $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include"
mkdir -p "$(libdir)" mkdir -p "$(libdir)"
@ -277,19 +277,19 @@ ifdef CONFIG_CROSS
mkdir -p "$(tccdir)/win32/lib/64" mkdir -p "$(tccdir)/win32/lib/64"
ifneq ($(ARCH),i386) ifneq ($(ARCH),i386)
mkdir -p "$(tccdir)/i386" mkdir -p "$(tccdir)/i386"
$(INSTALL) -m644 lib/i386/libtcc1.a "$(tccdir)/i386" $(INSTALL) -m644 lib/i386/libcrt.a "$(tccdir)/i386"
cp -r "$(tccdir)/include" "$(tccdir)/i386" cp -r "$(tccdir)/include" "$(tccdir)/i386"
endif endif
$(INSTALL) -m644 $(top_srcdir)/win32/lib/*.def "$(tccdir)/win32/lib" $(INSTALL) -m644 $(top_srcdir)/win32/lib/*.def "$(tccdir)/win32/lib"
$(INSTALL) -m644 lib/i386-win32/libtcc1.a "$(tccdir)/win32/lib/32" $(INSTALL) -m644 lib/i386-win32/libcrt.a "$(tccdir)/win32/lib/32"
$(INSTALL) -m644 lib/x86_64-win32/libtcc1.a "$(tccdir)/win32/lib/64" $(INSTALL) -m644 lib/x86_64-win32/libcrt.a "$(tccdir)/win32/lib/64"
cp -r $(top_srcdir)/win32/include/. "$(tccdir)/win32/include" cp -r $(top_srcdir)/win32/include/. "$(tccdir)/win32/include"
cp -r "$(tccdir)/include" "$(tccdir)/win32" cp -r "$(tccdir)/include" "$(tccdir)/win32"
endif endif
uninstall: uninstall:
rm -fv $(foreach P,$(PROGS),"$(bindir)/$P") rm -fv $(foreach P,$(PROGS),"$(bindir)/$P")
rm -fv $(foreach P,$(LIBTCC1),"$(tccdir)/$P") rm -fv $(foreach P,$(LIBCRT),"$(tccdir)/$P")
rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P") rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P")
rm -fv "$(tccdir)/include/tcclib.h" rm -fv "$(tccdir)/include/tcclib.h"
rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info" rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info"
@ -310,7 +310,7 @@ install: $(PROGS) $(TCCLIBS) $(TCCDOCS)
mkdir -p "$(tccdir)/doc" mkdir -p "$(tccdir)/doc"
mkdir -p "$(tccdir)/libtcc" mkdir -p "$(tccdir)/libtcc"
$(INSTALLBIN) -m755 $(PROGS) "$(tccdir)" $(INSTALLBIN) -m755 $(PROGS) "$(tccdir)"
$(INSTALL) -m644 $(LIBTCC1) $(top_srcdir)/win32/lib/*.def "$(tccdir)/lib" $(INSTALL) -m644 $(LIBCRT) $(top_srcdir)/win32/lib/*.def "$(tccdir)/lib"
cp -r $(top_srcdir)/win32/include/. "$(tccdir)/include" cp -r $(top_srcdir)/win32/include/. "$(tccdir)/include"
cp -r $(top_srcdir)/win32/examples/. "$(tccdir)/examples" cp -r $(top_srcdir)/win32/examples/. "$(tccdir)/examples"
$(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include" $(INSTALL) -m644 $(addprefix $(top_srcdir)/include/,$(TCC_INCLUDES)) $(top_srcdir)/tcclib.h "$(tccdir)/include"
@ -320,8 +320,8 @@ install: $(PROGS) $(TCCLIBS) $(TCCDOCS)
ifdef CONFIG_CROSS ifdef CONFIG_CROSS
mkdir -p "$(tccdir)/lib/32" mkdir -p "$(tccdir)/lib/32"
mkdir -p "$(tccdir)/lib/64" mkdir -p "$(tccdir)/lib/64"
-$(INSTALL) -m644 lib/i386-win32/libtcc1.a "$(tccdir)/lib/32" -$(INSTALL) -m644 lib/i386-win32/libcrt.a "$(tccdir)/lib/32"
-$(INSTALL) -m644 lib/x86_64-win32/libtcc1.a "$(tccdir)/lib/64" -$(INSTALL) -m644 lib/x86_64-win32/libcrt.a "$(tccdir)/lib/64"
endif endif
uninstall: uninstall:
@ -340,7 +340,7 @@ tcc-doc.info: tcc-doc.texi
-makeinfo $< -makeinfo $<
# in tests subdir # in tests subdir
export LIBTCC1 export LIBCRT
%est: %est:
$(MAKE) -C tests $@ 'PROGS_CROSS=$(PROGS_CROSS)' $(MAKE) -C tests $@ 'PROGS_CROSS=$(PROGS_CROSS)'
@ -348,7 +348,7 @@ export LIBTCC1
clean: clean:
rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test$(EXESUF) rm -vf $(PROGS) tcc_p$(EXESUF) tcc.pod *~ *.o *.a *.so* *.out *.exe libtcc_test$(EXESUF)
$(MAKE) -C tests $@ $(MAKE) -C tests $@
ifneq ($(LIBTCC1),) ifneq ($(LIBCRT),)
$(MAKE) -C lib $@ $(MAKE) -C lib $@
endif endif

View File

@ -1,5 +1,5 @@
# #
# Tiny C Compiler Makefile for libtcc1.a # Tiny C Compiler Makefile for libcrt.a
# #
TOP = .. TOP = ..
@ -38,15 +38,15 @@ endif
DIR = $(TARGET) DIR = $(TARGET)
native : ../libtcc1.a native : ../libcrt.a
cross : $(DIR)/libtcc1.a cross : $(DIR)/libcrt.a
native : TCC = $(TOP)/tcc$(EXESUF) native : TCC = $(TOP)/tcc$(EXESUF)
cross : TCC = $(TOP)/$(TARGET)-tcc$(EXESUF) cross : TCC = $(TOP)/$(TARGET)-tcc$(EXESUF)
I386_O = libtcc1.o alloca86.o alloca86-bt.o $(BCHECK_O) I386_O = libcrt.o alloca86.o alloca86-bt.o $(BCHECK_O)
X86_64_O = libtcc1.o alloca86_64.o X86_64_O = libcrt.o alloca86_64.o
ARM_O = libtcc1.o armeabi.o alloca-arm.o ARM_O = libcrt.o armeabi.o alloca-arm.o
WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o WIN32_O = $(I386_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o
WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o WIN64_O = $(X86_64_O) crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o
@ -83,7 +83,7 @@ ifeq "$(TARGET)" "arm"
TGT = -DTCC_TARGET_ARM TGT = -DTCC_TARGET_ARM
XCC ?= $(TCC) -B$(TOP) XCC ?= $(TCC) -B$(TOP)
else else
$(error libtcc1.a not supported on target '$(TARGET)') $(error libcrt.a not supported on target '$(TARGET)')
endif endif
endif endif
endif endif
@ -102,7 +102,7 @@ ifdef XAR
AR = $(XAR) AR = $(XAR)
endif endif
$(DIR)/libtcc1.a ../libtcc1.a : $(OBJ) $(XAR) $(DIR)/libcrt.a ../libcrt.a : $(OBJ) $(XAR)
$(AR) rcs $@ $(OBJ) $(AR) rcs $@ $(OBJ)
$(DIR)/%.o : %.c $(DIR)/%.o : %.c
$(XCC) -c $< -o $@ $(XFLAGS) $(XCC) -c $< -o $@ $(XFLAGS)

2
tcc.h
View File

@ -274,7 +274,7 @@
# define DEFAULT_ELFINTERP(s) default_elfinterp(s) # define DEFAULT_ELFINTERP(s) default_elfinterp(s)
#endif #endif
/* library to use with CONFIG_USE_LIBGCC instead of libtcc1.a */ /* library to use with CONFIG_USE_LIBGCC instead of libcrt.a */
#define TCC_LIBGCC USE_MUADIR(CONFIG_SYSROOT "/" CONFIG_LDDIR) "/libgcc_s.so.1" #define TCC_LIBGCC USE_MUADIR(CONFIG_SYSROOT "/" CONFIG_LDDIR) "/libgcc_s.so.1"
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -1443,16 +1443,16 @@ ST_FUNC void tcc_add_runtime(TCCState *s1)
#ifdef CONFIG_USE_LIBGCC #ifdef CONFIG_USE_LIBGCC
if (!s1->static_link) { if (!s1->static_link) {
tcc_add_file(s1, TCC_LIBGCC); tcc_add_file(s1, TCC_LIBGCC);
tcc_add_support(s1, "libtcc1.a"); tcc_add_support(s1, "libcrt.a");
} else } else
tcc_add_support(s1, "libtcc1.a"); tcc_add_support(s1, "libcrt.a");
#else #else
tcc_add_support(s1, "libtcc1.a"); tcc_add_support(s1, "libcrt.a");
#endif #endif
} }
/* tcc_add_bcheck tries to relocate a call to __bound_init in _init so /* tcc_add_bcheck tries to relocate a call to __bound_init in _init so
libtcc1.a must be loaded before for __bound_init to be defined and libcrt.a must be loaded before for __bound_init to be defined and
crtn.o must be loaded after to not finalize _init too early. */ crtn.o must be loaded after to not finalize _init too early. */
tcc_add_bcheck(s1); tcc_add_bcheck(s1);

View File

@ -1773,7 +1773,7 @@ static void pe_add_runtime(TCCState *s1, struct pe_info *pe)
if (0 == s1->nostdlib) { if (0 == s1->nostdlib) {
static const char *libs[] = { static const char *libs[] = {
"libtcc1.a", "msvcrt", "kernel32", "", "user32", "gdi32", NULL "libcrt.a", "msvcrt", "kernel32", "", "user32", "gdi32", NULL
}; };
const char **pp, *p; const char **pp, *p;
for (pp = libs; 0 != (p = *pp); ++pp) { for (pp = libs; 0 != (p = *pp); ++pp) {

View File

@ -66,8 +66,8 @@ RUN_TCC = $(NATIVE_DEFINES) -DONE_SOURCE -run $(top_srcdir)/tcc.c $(TCCFLAGS)
DISAS = objdump -d DISAS = objdump -d
# libtcc test # libtcc test
ifdef LIBTCC1 ifdef LIBCRT
LIBTCC1:=$(TOP)/$(LIBTCC1) LIBCRT:=$(TOP)/$(LIBCRT)
endif endif
all test : $(TESTS) all test : $(TESTS)
@ -89,7 +89,7 @@ hello-run: ../examples/ex1.c
@echo ------------ $@ ------------ @echo ------------ $@ ------------
$(TCC) -run $< $(TCC) -run $<
libtest: libtcc_test$(EXESUF) $(LIBTCC1) libtest: libtcc_test$(EXESUF) $(LIBCRT)
@echo ------------ $@ ------------ @echo ------------ $@ ------------
./libtcc_test$(EXESUF) lib_path=.. ./libtcc_test$(EXESUF) lib_path=..
@ -101,7 +101,7 @@ moretests:
$(MAKE) -C tests2 $(MAKE) -C tests2
w32-prep: w32-prep:
cp ../libtcc1.a ../lib cp ../libcrt.a ../lib
# test.ref - generate using cc # test.ref - generate using cc
test.ref: tcctest.c test.ref: tcctest.c
@ -242,4 +242,4 @@ clean:
rm -vf *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc \ rm -vf *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc \
*-cc *-tcc *.exe \ *-cc *-tcc *.exe \
hello libtcc_test vla_test tcctest[1234] ex? tcc_g tcclib.h \ hello libtcc_test vla_test tcctest[1234] ex? tcc_g tcclib.h \
../lib/libtcc1.a ../lib/libcrt.a

View File

@ -468,7 +468,7 @@ int main(int argc, char **argv) {
const char *testname = NULL; const char *testname = NULL;
int retval = EXIT_SUCCESS; int retval = EXIT_SUCCESS;
/* if tcclib.h and libtcc1.a are not installed, where can we find them */ /* if tcclib.h and libcrt.a are not installed, where can we find them */
for (i = 1; i < argc; ++i) { for (i = 1; i < argc; ++i) {
if (!memcmp(argv[i], "lib_path=",9)) if (!memcmp(argv[i], "lib_path=",9))
tccdir = argv[i] + 9; tccdir = argv[i] + 9;

View File

@ -43,7 +43,7 @@ int main(int argc, char **argv)
exit(1); exit(1);
} }
/* if tcclib.h and libtcc1.a are not installed, where can we find them */ /* if tcclib.h and libcrt.a are not installed, where can we find them */
if (argc == 2 && !memcmp(argv[1], "lib_path=",9)) if (argc == 2 && !memcmp(argv[1], "lib_path=",9))
tcc_set_lib_path(s, argv[1]+9); tcc_set_lib_path(s, argv[1]+9);

View File

@ -1,5 +1,5 @@
/* /*
* This program is for making libtcc1.a without ar * This program is for making libcrt.a without ar
* tiny_libmaker - tiny elf lib maker * tiny_libmaker - tiny elf lib maker
* usage: tiny_libmaker [lib] files... * usage: tiny_libmaker [lib] files...
* Copyright (c) 2007 Timppa * Copyright (c) 2007 Timppa