tcc: re-enable correct option -r support

Forgot about it.  It allows to compile several
sources (and other .o's) to one single .o file;

    tcc -r -o all.o f1.c f2.c f3.S o4.o ...

Also:
- option -fold-struct-init-code removed, no effect anymore
- (tcc_)set_environment() moved to tcc.c
- win32/lib/(win)crt1 minor fix & add dependency
- debug line output for asm (tcc -c -g xxx.S) enabled
- configure/Makefiles: x86-64 -> x86_64 changes
- README: cleanup
This commit is contained in:
grischka
2017-02-20 18:58:08 +01:00
parent 399237850d
commit 5f33d313c8
18 changed files with 180 additions and 153 deletions

View File

@ -24,11 +24,9 @@ TARGET = $(CPU)
ifeq ($(TARGET), 64)
TFLAGS = -m$(TARGET) -DTCC_TARGET_X86_64
TARCH = x86_64
CARCH = x86-64
else
TFLAGS = -m$(TARGET) -DTCC_TARGET_I386
TARCH = i386
CARCH = i386
endif
all: pre bootstrap libs rebuild
@ -36,7 +34,7 @@ all: pre bootstrap libs rebuild
@ls -ls *.exe
pre:
@echo ARCH=$(CARCH) 1> ../config.mak
@echo ARCH=$(TARCH) 1> ../config.mak
@echo TARGETOS=Windows 1>> ../config.mak
@echo CONFIG_WIN32=yes 1>> ../config.mak
@echo TOPSRC=$$\(TOP\) 1>> ../config.mak

View File

@ -139,6 +139,18 @@ typedef struct localeinfo_struct _locale_tstruct,*_locale_t;
#define NOSERVICE 1
#define NOMCX 1
#define NOIME 1
#define __INTRIN_H_
#ifndef DUMMYUNIONNAME
# define DUMMYUNIONNAME
# define DUMMYUNIONNAME1
# define DUMMYUNIONNAME2
# define DUMMYUNIONNAME3
# define DUMMYUNIONNAME4
# define DUMMYUNIONNAME5
#endif
#ifndef DUMMYSTRUCTNAME
# define DUMMYSTRUCTNAME
#endif
#ifndef WINVER
# define WINVER 0x0502
#endif

View File

@ -73,15 +73,18 @@ int _runtmain(int argc, /* as tcc passed in */ char **argv)
_startupinfo start_info = {0};
__tgetmainargs(&wargc, &wargv, &wenv, _dowildcard, &start_info);
/* may be wrong when tcc has received wildcards (*.c) */
if (argc < wargc)
wargv += wargc - argc;
else
argc = wargc;
#define argv wargv
#endif
#ifdef __i386
_controlfp(_PC_53, _MCW_PC);
#endif
return _tmain(argc, argv, NULL);
return _tmain(argc, argv, _tenviron);
}
// =============================================

View File

@ -336,6 +336,10 @@ GetWindow
GetWindowContextHelpId
GetWindowDC
GetWindowInfo
GetWindowLongPtrA
GetWindowLongPtrW
SetWindowLongPtrA
SetWindowLongPtrW
GetWindowLongA
GetWindowLongW
GetWindowModuleFileNameA

View File

@ -80,6 +80,8 @@ int _runtwinmain(int argc, /* as tcc passed in */ char **argv)
__tgetmainargs(&wargc, &wargv, &wenv, 0, &start_info);
if (argc < wargc)
wargv += wargc - argc;
else
argc = wargc;
#define argv wargv
#endif