You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(16) |
Aug
(203) |
Sep
(142) |
Oct
(113) |
Nov
(73) |
Dec
(27) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(7) |
Feb
(38) |
Mar
(6) |
Apr
(1) |
May
(9) |
Jun
(104) |
Jul
(6) |
Aug
(11) |
Sep
(13) |
Oct
(6) |
Nov
(15) |
Dec
(37) |
2008 |
Jan
(17) |
Feb
(4) |
Mar
(6) |
Apr
(4) |
May
(2) |
Jun
(5) |
Jul
(1) |
Aug
(3) |
Sep
(21) |
Oct
(7) |
Nov
|
Dec
(3) |
2009 |
Jan
(4) |
Feb
(15) |
Mar
|
Apr
(34) |
May
(44) |
Jun
(12) |
Jul
(6) |
Aug
(15) |
Sep
(20) |
Oct
(10) |
Nov
(1) |
Dec
(20) |
2010 |
Jan
(19) |
Feb
(5) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dan...@us...> - 2009-04-15 11:27:26
|
Revision: 1242 http://cegcc.svn.sourceforge.net/cegcc/?rev=1242&view=rev Author: dannybackx Date: 2009-04-15 11:27:17 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Add preliminary stuff for CE's error dumps. Added Paths: ----------- trunk/cegcc/tools/cedump/ trunk/cegcc/tools/cedump/DwCeDump.h trunk/cegcc/tools/cedump/cedump.c trunk/cegcc/tools/cedump/examples/ trunk/cegcc/tools/cedump/examples/null.c trunk/cegcc/tools/cedump/examples/null1.txt trunk/cegcc/tools/cedump/examples/null2.exe trunk/cegcc/tools/cedump/examples/null2.txt trunk/cegcc/tools/cedump/examples/rm1.txt trunk/cegcc/tools/cedump/examples/rm2.txt Added: trunk/cegcc/tools/cedump/DwCeDump.h =================================================================== --- trunk/cegcc/tools/cedump/DwCeDump.h (rev 0) +++ trunk/cegcc/tools/cedump/DwCeDump.h 2009-04-15 11:27:17 UTC (rev 1242) @@ -0,0 +1,247 @@ +#ifndef __DwCeDump_H__ +#define __DwCeDump_H__ + +typedef unsigned int RVA; +typedef unsigned int ULONG32; +typedef unsigned long ULONG64; +typedef wchar_t WCHAR; +typedef unsigned short USHORT; +typedef unsigned long DWORD; + +/* + * This structure identifies the type, version, and format + * of a minidump file. + * + * Signature must be one of : + * CEDUMP_SIGNATURE_CONTEXT ('XDEC') + * CEDUMP_SIGNATURE_SYSTEM ('SDEC') + * CEDUMP_SIGNATURE_COMPLETE ('CDEC') + */ +typedef struct _MINIDUMP_HEADER { + ULONG32 Signature; + ULONG32 Version; + ULONG32 NumberOfStreams; + RVA StreamDirectoryRva; /* relative virtual address of + an array of MINIDUMP_DIRECTORY */ + ULONG32 CheckSum; + union + { + ULONG32 Reserved; + ULONG32 TimeDateStamp; + }; + ULONG64 Flags; +} MINIDUMP_HEADER, *PMINIDUMP_HEADER; + +#define CEDUMP_SIGNATURE_CONTEXT "XDEC" +#define CEDUMP_SIGNATURE_SYSTEM "SDEC" +#define CEDUMP_SIGNATURE_COMPLETE "CDEC" + +/* + * This structure contains information about the location of memory ranges + * specified in _MINIDUMP_MEMORY_DESCRIPTOR. + */ +typedef struct _MINIDUMP_LOCATION_DESCRIPTOR { + ULONG32 DataSize; + RVA Rva; +} MINIDUMP_LOCATION_DESCRIPTOR; + +/* + * This structure identifies and locates each stream type + * found in an error report minidump. + */ +typedef struct _MINIDUMP_DIRECTORY { + ULONG32 StreamType; + MINIDUMP_LOCATION_DESCRIPTOR Location; +} MINIDUMP_DIRECTORY, *PMINIDUMP_DIRECTORY; + +/* + * This structure contains information about a memory range + * listed in _CEDUMP_MEMORY_LIST. + */ +typedef struct _MINIDUMP_MEMORY_DESCRIPTOR { + ULONG64 StartOfMemoryRange; + MINIDUMP_LOCATION_DESCRIPTOR Memory; +} MINIDUMP_MEMORY_DESCRIPTOR, *PMINIDUMP_MEMORY_DESCRIPTOR; + +/* + * This structure describes the format of a string pointed to by an RVA pointer. + */ +typedef struct _MINIDUMP_STRING { + ULONG32 Length; + WCHAR Buffer [0]; +} MINIDUMP_STRING, *PMINIDUMP_STRING; + +/* + * This enumeration lists the valid kinds of Windows CE stream types. + */ +typedef enum _MINIDUMP_STREAM_TYPE { + UnusedStream = 0, +// 1 to 0x7FFF - Reserved for Desktop Windows +// 0x8000 to 0xFFFE - Windows CE stream types + ceStreamNull = 0x8000, + ceStreamSystemInfo = 0x8001, + ceStreamException = 0x8002, + ceStreamModuleList = 0x8003, + ceStreamProcessList = 0x8004, + ceStreamThreadList = 0x8005, + ceStreamThreadContextList = 0x8006, + ceStreamThreadCallStackList = 0x8007, + ceStreamMemoryVirtualList = 0x8008, + ceStreamMemoryPhysicalList = 0x8009, + ceStreamBucketParameters = 0x800A, + + LastReservedStream = 0xffff + +} MINIDUMP_STREAM_TYPE; + +/* + * This structure defines the bucketing parameters used when + * uploading an error report. + * This structure is used to define the ceStreamBucketParameters stream. + */ +typedef struct _CEDUMP_BUCKET_PARAMETERS { + USHORT SizeOfHeader; + USHORT __unusedAlignment; + RVA EventType; + ULONG32 fDebug; /* Type of app build, 1 = debug, 0 = release */ + RVA AppName; + ULONG32 AppStamp; + ULONG32 AppVerMS; + ULONG32 AppVerLS; + RVA ModName; + ULONG32 ModStamp; + ULONG32 ModVerMS; + ULONG32 ModVerLS; + ULONG32 Offset; + RVA OwnerName; + ULONG32 OwnerStamp; + ULONG32 OwnerVerMS; + ULONG32 OwnerVerLS; +} CEDUMP_BUCKET_PARAMETERS, *PCEDUMP_BUCKET_PARAMETERS; + +/* + * This structure contains a list of all the modules, processes, + * threads, or thread contexts that were active when the dump file + * was generated. + */ +typedef struct _CEDUMP_ELEMENT_LIST { + USHORT SizeOfHeader; + USHORT SizeOfFieldInfo; + ULONG32 NumberOfFieldInfo; + ULONG32 NumberOfElements; + RVA Elements; +} CEDUMP_ELEMENT_LIST, *PCEDUMP_ELEMENT_LIST; + +/* + * This structure describes fields associated with modules, processes, + * threads, and context records listed in _CEDUMP_ELEMENT_LIST. + */ +typedef struct _CEDUMP_FIELD_INFO { + ULONG32 FieldId; + ULONG32 FieldSize; + RVA FieldLabel; + RVA FieldFormat; +} CEDUMP_FIELD_INFO, *PCEDUMP_FIELD_INFO; + +/* + * This structure contains system-wide information about the device + * and operating system with which the dump file was generated. + */ +typedef struct _CEDUMP_SYSTEM_INFO { + USHORT SizeOfHeader; + USHORT ProcessorArchitecture; + ULONG32 NumberOfProcessors; + ULONG32 ProcessorType; + USHORT ProcessorLevel; + USHORT ProcessorRevision; + ULONG32 ProcessorFamily; + ULONG32 MajorVersion; + ULONG32 MinorVersion; + ULONG32 BuildNumber; + ULONG32 PlatformId; + ULONG32 LCID; + RVA OEMStringRva; + ULONG32 SupportFlags; + USHORT Machine; + USHORT __unusedAlignment; + RVA PlatformTypeRva; + DWORD Platforms; + RVA PlatformVersion; + DWORD InstructionSet; + DWORD __unusedAlignment2; +} CEDUMP_SYSTEM_INFO, *PCEDUMP_SYSTEM_INFO; + +/* + * This structure lists the memory dumps associated with the error report. + */ +typedef struct _CEDUMP_MEMORY_LIST { + USHORT SizeOfHeader; + USHORT SizeOfEntry; + ULONG32 NumberOfEntries; +} CEDUMP_MEMORY_LIST, *PCEDUMP_MEMORY_LIST; + +/* + * This structure contains the exception record for the exception + * that caused the dump file to be generated. + */ +#define EXCEPTION_MAXIMUM_PARAMETERS 8 /* ?? */ +typedef struct _CEDUMP_EXCEPTION { + ULONG32 ExceptionCode; + ULONG32 ExceptionFlags; + ULONG32 ExceptionRecord; + ULONG32 ExceptionAddress; + ULONG32 NumberParameters; + ULONG32 ExceptionInformation [ EXCEPTION_MAXIMUM_PARAMETERS ]; +} CEDUMP_EXCEPTION, *PCEDUMP_EXCEPTION; + +/* + * This structure contains information about the exception that + * caused the dump file to be generated. + */ +typedef struct _CEDUMP_EXCEPTION_STREAM { + USHORT SizeOfHeader; + USHORT SizeOfException; + USHORT SizeOfThreadContext; + USHORT Flags; + ULONG32 CurrentProcessId; + ULONG32 ThreadId; + ULONG32 OwnerProcessId; + ULONG32 CaptureAPICurrentProcessId; + ULONG32 CaptureAPIThreadId; + ULONG32 CaptureAPIOwnerProcessId; +} CEDUMP_EXCEPTION_STREAM, *PCEDUMP_EXCEPTION_STREAM; + +/* + * The thread call stack is a header for stack frames. + */ +typedef struct _CEDUMP_THREAD_CALL_STACK { + ULONG32 ProcessId; + ULONG32 ThreadId; + USHORT SizeOfFrame; + USHORT NumberOfFrames; + RVA StackFramess; +} CEDUMP_THREAD_CALL_STACK, *PCEDUMP_THREAD_CALL_STACK; + +/* + * This structure contains information about the thread call stack + * frames listed in _CEDUMP_THREAD_CALL_STACK. + */ +typedef struct _CEDUMP_THREAD_CALL_STACK_FRAME { + ULONG32 ReturnAddr; + ULONG32 FramePtr; + ULONG32 ProcessId; + ULONG32 __unusedAlignment; + ULONG32 Params[4]; +} CEDUMP_THREAD_CALL_STACK_FRAME, *PCEDUMP_THREAD_CALL_STACK_FRAME; + +/* + * The structure contains a list of the thread call stacks + * associated with the dump file. + */ +typedef struct _CEDUMP_THREAD_CALL_STACK_LIST { + USHORT SizeOfHeader; + USHORT SizeOfEntry; + ULONG32 NumberOfEntries; +} CEDUMP_THREAD_CALL_STACK_LIST, *PCEDUMP_THREAD_CALL_STACK_LIST; + +#endif Property changes on: trunk/cegcc/tools/cedump/DwCeDump.h ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/cegcc/tools/cedump/cedump.c =================================================================== --- trunk/cegcc/tools/cedump/cedump.c (rev 0) +++ trunk/cegcc/tools/cedump/cedump.c 2009-04-15 11:27:17 UTC (rev 1242) @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <stdlib.h> + +#include "DwCeDump.h" + +main(int argc, char *argv[]) +{ + int i; + FILE *f = fopen(argv[1], "rb"); + MINIDUMP_HEADER buf; + int r; + char s[128]; + + if (!f) { + fprintf(stderr, "Could not open %s", argv[1]); + perror("fopen"); + exit(1); + } + + r = fread(&buf, sizeof(MINIDUMP_HEADER), 1, f); + if (r <= 0) { + perror("fread"); + fclose(f); + exit(0); + } +// wcstombs(s, buf.pwzQueryString, 128); + fprintf(stderr, "Number of streams %d\n", buf.NumberOfStreams); + + fclose(f); +} Property changes on: trunk/cegcc/tools/cedump/cedump.c ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/cegcc/tools/cedump/examples/null.c =================================================================== --- trunk/cegcc/tools/cedump/examples/null.c (rev 0) +++ trunk/cegcc/tools/cedump/examples/null.c 2009-04-15 11:27:17 UTC (rev 1242) @@ -0,0 +1,8 @@ +#include <windows.h> + +int WinMain(HINSTANCE hInst, HINSTANCE prev, LPWSTR lpCmdLine, int nCmdShow) +{ + int *p = 0; + *p = 1; + return 0; +} Property changes on: trunk/cegcc/tools/cedump/examples/null.c ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/cegcc/tools/cedump/examples/null1.txt =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/null1.txt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/cegcc/tools/cedump/examples/null2.exe =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/null2.exe ___________________________________________________________________ Added: svn:executable + * Added: svn:mime-type + application/octet-stream Added: trunk/cegcc/tools/cedump/examples/null2.txt =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/null2.txt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/cegcc/tools/cedump/examples/rm1.txt =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/rm1.txt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/cegcc/tools/cedump/examples/rm2.txt =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/cedump/examples/rm2.txt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-15 10:15:57
|
Revision: 1241 http://cegcc.svn.sourceforge.net/cegcc/?rev=1241&view=rev Author: dannybackx Date: 2009-04-15 10:15:54 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Another omission Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winbase.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-15 06:07:32 UTC (rev 1240) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-15 10:15:54 UTC (rev 1241) @@ -1,3 +1,7 @@ +2009-04-15 Danny Backx <dan...@us...> + + * include/winbase.h : Include inlined functions only from one file. + 2009-04-11 Danny Backx <dan...@us...> * include/windefs.h, include/kfuncs.h : change inlined functions to Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2009-04-15 06:07:32 UTC (rev 1240) +++ trunk/cegcc/src/w32api/include/winbase.h 2009-04-15 10:15:54 UTC (rev 1241) @@ -1953,7 +1953,7 @@ #if (_WIN32_WINNT >= 0x0500) WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*); #endif -WINBASEAPI BOOL WINAPI PulseEvent(HANDLE); +// inlined in kfuncs.h WINBASEAPI BOOL WINAPI PulseEvent(HANDLE); WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD); #if (_WIN32_WINNT >= 0x0501) WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T*); @@ -2003,7 +2003,7 @@ WINBASEAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID); WINBASEAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID); #ifdef _WIN32_WCE -extern BOOL ResetEvent(HANDLE); +// inlined in kfuncs.h extern BOOL ResetEvent(HANDLE); #else WINBASEAPI BOOL WINAPI ResetEvent(HANDLE); #endif @@ -2040,7 +2040,7 @@ WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR); WINBASEAPI UINT WINAPI SetErrorMode(UINT); #ifdef _WIN32_WCE -extern BOOL SetEvent(HANDLE); +// inlined in kfuncs.h extern BOOL SetEvent(HANDLE); #else WINBASEAPI BOOL WINAPI SetEvent(HANDLE); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-15 06:07:39
|
Revision: 1240 http://cegcc.svn.sourceforge.net/cegcc/?rev=1240&view=rev Author: dannybackx Date: 2009-04-15 06:07:32 +0000 (Wed, 15 Apr 2009) Log Message: ----------- Make yesterday's quick update official. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-14 19:01:19 UTC (rev 1239) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-15 06:07:32 UTC (rev 1240) @@ -1,3 +1,7 @@ +2009-04-14 Danny Backx <dan...@us...> + + * config.gcc : Add new file gcc/config/i386/mingw32ce.h . + 2009-04-11 Danny Backx <dan...@us...> * gcc/config/i386/t-cygming : Include the src/mingw/include tree so This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-14 19:01:22
|
Revision: 1239 http://cegcc.svn.sourceforge.net/cegcc/?rev=1239&view=rev Author: dannybackx Date: 2009-04-14 19:01:19 +0000 (Tue, 14 Apr 2009) Log Message: ----------- Forgotten update. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/config.gcc Modified: trunk/cegcc/src/gcc/gcc/config.gcc =================================================================== --- trunk/cegcc/src/gcc/gcc/config.gcc 2009-04-11 16:52:02 UTC (rev 1238) +++ trunk/cegcc/src/gcc/gcc/config.gcc 2009-04-14 19:01:19 UTC (rev 1239) @@ -1271,7 +1271,7 @@ fi ;; i[34567]86-*-mingw32*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h" + tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h i386/mingw32ce.h" xm_file=i386/xm-mingw32.h tmake_file="i386/t-cygming i386/t-mingw32" target_gtfiles="\$(srcdir)/config/i386/winnt.c" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 16:52:07
|
Revision: 1238 http://cegcc.svn.sourceforge.net/cegcc/?rev=1238&view=rev Author: dannybackx Date: 2009-04-11 16:52:02 +0000 (Sat, 11 Apr 2009) Log Message: ----------- More updates for x86 Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 15:21:26 UTC (rev 1237) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 16:52:02 UTC (rev 1238) @@ -9,6 +9,8 @@ * gcc/config/i386/mingw32ce.h(EXTRA_OS_CPP_BUILTINS) : Redefine, so UNDER_CE is predefined by the compiler. * gcc/config/i386/mingw32ce.h(TARGET_OS_CPP_BUILTINS) : Copy from ARM. + * gcc/config/i386/mingw32ce.h(CPP_SPEC, LIB_SPEC, LINK_SPEC, + STARTFILE_SPEC, LIBGCC_SPEC) : Define. 2007-12-25 Pedro Alves <ped...@po...> Modified: trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 15:21:26 UTC (rev 1237) +++ trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 16:52:02 UTC (rev 1238) @@ -68,7 +68,7 @@ and to corelibc, a static lib that contains the start files, among other basic crt stuff. */ #undef LIB_SPEC -#define LIB_SPEC "-lcoredll -lcorelibc" +#define LIB_SPEC "-lcoredll" #undef LINK_SPEC #define LINK_SPEC "\ @@ -77,3 +77,13 @@ %{static:-Bstatic} %{!static:-Bdynamic} \ %{shared|mdll: -e DllMainCRTStartup} \ " + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "%{shared|mdll:dllcrt3%O%s} \ + %{!shared:%{!mdll:crt3%O%s}} %{pg:gcrt3%O%s}" + + +/* Include in the mingw32 libraries with libgcc */ +#undef LIBGCC_SPEC +#define LIBGCC_SPEC \ + "%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lceoldname -lmingwex" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 15:21:31
|
Revision: 1237 http://cegcc.svn.sourceforge.net/cegcc/?rev=1237&view=rev Author: dannybackx Date: 2009-04-11 15:21:26 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Copy stuff from ARM. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 14:24:19 UTC (rev 1236) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 15:21:26 UTC (rev 1237) @@ -8,6 +8,7 @@ __MSVCRT__ is not predefined by the compiler. * gcc/config/i386/mingw32ce.h(EXTRA_OS_CPP_BUILTINS) : Redefine, so UNDER_CE is predefined by the compiler. + * gcc/config/i386/mingw32ce.h(TARGET_OS_CPP_BUILTINS) : Copy from ARM. 2007-12-25 Pedro Alves <ped...@po...> Modified: trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 14:24:19 UTC (rev 1236) +++ trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 15:21:26 UTC (rev 1237) @@ -31,6 +31,49 @@ builtin_define ("_WIN32"); \ builtin_define_std ("WIN32"); \ builtin_define_std ("WINNT"); \ - builtin_define_std ("UNDER_CE"); \ } \ while (0) + +#undef CPP_SPEC +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} \ +-D__COREDLL__ -D__MINGW32__ -D__MINGW32CE__ -D__CEGCC_VERSION__ \ +%{!nostdinc: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s }" + +#undef TARGET_OS_CPP_BUILTINS +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + /* We currently define UNDER_CE to a non-value, as it seems \ + MSVC2005 does the same. */ \ + builtin_define_std ("UNDER_CE"); \ + builtin_define ("_UNICODE"); \ + builtin_define_std ("UNICODE"); \ + /* Let's just ignore stdcall, and fastcall. */ \ + builtin_define ("__stdcall=__attribute__((__cdecl__))"); \ + builtin_define ("__fastcall=__attribute__((__cdecl__))"); \ + builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ + if (!flag_iso) \ + { \ + builtin_define ("_stdcall=__attribute__((__cdecl__))"); \ + builtin_define ("_fastcall=__attribute__((__cdecl__))"); \ + builtin_define ("_cdecl=__attribute__((__cdecl__))"); \ + } \ + /* Even though linkonce works with static libs, this is needed \ + to compare typeinfo symbols across dll boundaries. */ \ + builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \ + } \ + while (0) + +/* Link with coredll, the main libc in the native SDK, + and to corelibc, a static lib that contains the start files, among other + basic crt stuff. */ +#undef LIB_SPEC +#define LIB_SPEC "-lcoredll -lcorelibc" + +#undef LINK_SPEC +#define LINK_SPEC "\ + %{shared: %{mdll: %eshared and mdll are not compatible}} \ + %{shared: --shared} %{mdll:--dll} \ + %{static:-Bstatic} %{!static:-Bdynamic} \ + %{shared|mdll: -e DllMainCRTStartup} \ + " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 14:24:21
|
Revision: 1236 http://cegcc.svn.sourceforge.net/cegcc/?rev=1236&view=rev Author: dannybackx Date: 2009-04-11 14:24:19 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Add UNDER_CE definition Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 14:19:15 UTC (rev 1235) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 14:24:19 UTC (rev 1236) @@ -6,6 +6,8 @@ * gcc/config/i386/mingw32ce.h : New file. * gcc/config/i386/mingw32ce.h(EXTRA_OS_CPP_BUILTINS) : Redefine, so __MSVCRT__ is not predefined by the compiler. + * gcc/config/i386/mingw32ce.h(EXTRA_OS_CPP_BUILTINS) : Redefine, so + UNDER_CE is predefined by the compiler. 2007-12-25 Pedro Alves <ped...@po...> Modified: trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 14:19:15 UTC (rev 1235) +++ trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 14:24:19 UTC (rev 1236) @@ -31,5 +31,6 @@ builtin_define ("_WIN32"); \ builtin_define_std ("WIN32"); \ builtin_define_std ("WINNT"); \ + builtin_define_std ("UNDER_CE"); \ } \ while (0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 14:19:18
|
Revision: 1235 http://cegcc.svn.sourceforge.net/cegcc/?rev=1235&view=rev Author: dannybackx Date: 2009-04-11 14:19:15 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Add new file, make sure __MSVCRT__ doesn't get predefined. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce Added Paths: ----------- trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 12:32:42 UTC (rev 1234) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 14:19:15 UTC (rev 1235) @@ -3,6 +3,9 @@ * gcc/config/i386/t-cygming : Include the src/mingw/include tree so libgcc2 can be compiled. * gcc/config/i386/gthr-win32.c : Use ERROR_INVALID_FUNCTION, not EINVAL. + * gcc/config/i386/mingw32ce.h : New file. + * gcc/config/i386/mingw32ce.h(EXTRA_OS_CPP_BUILTINS) : Redefine, so + __MSVCRT__ is not predefined by the compiler. 2007-12-25 Pedro Alves <ped...@po...> Added: trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h (rev 0) +++ trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h 2009-04-11 14:19:15 UTC (rev 1235) @@ -0,0 +1,35 @@ +/* Implement cegcc's flavour of a gcc runtime for Windows CE on x86. + + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Free Software Foundation, Inc. + + Copyright (c) 2009, Danny Backx. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +/* Same as for cygwin but without the MSVCRT */ +#undef EXTRA_OS_CPP_BUILTINS +#define EXTRA_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__MINGW32__"); \ + builtin_define ("_WIN32"); \ + builtin_define_std ("WIN32"); \ + builtin_define_std ("WINNT"); \ + } \ + while (0) Property changes on: trunk/cegcc/src/gcc/gcc/config/i386/mingw32ce.h ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 12:32:52
|
Revision: 1234 http://cegcc.svn.sourceforge.net/cegcc/?rev=1234&view=rev Author: dannybackx Date: 2009-04-11 12:32:42 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Experimental version of script to build an x86 version. Added Paths: ----------- trunk/cegcc/src/scripts/build-x86.sh Added: trunk/cegcc/src/scripts/build-x86.sh =================================================================== --- trunk/cegcc/src/scripts/build-x86.sh (rev 0) +++ trunk/cegcc/src/scripts/build-x86.sh 2009-04-11 12:32:42 UTC (rev 1234) @@ -0,0 +1,468 @@ +#! /usr/bin/env bash + +BASE_DIRECTORY=`dirname $0` +BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; cd ..; pwd)` +ME=`basename $0` + +# FIXME: some components need this (mingwdll), but they shouldn't. +export BASE_DIRECTORY + +# +# Initializations. +# +export BUILD_DIR=`pwd` + +ac_default_prefix="/opt/x86mingw32ce" + +gcc_src=gcc + +# The list of components, in build order. There's a build_FOO +# function for each of these components +COMPONENTS=( binutils bootstrap_gcc mingw w32api gcc profile dlls docs ) +COMPONENTS_NUM=${#COMPONENTS[*]} + +# Build comma separated list of components, for user display. +for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ $i = 0 ]; then + COMPONENTS_COMMA_LIST=${COMPONENTS[${i}]} + else + COMPONENTS_COMMA_LIST="${COMPONENTS_COMMA_LIST}, ${COMPONENTS[${i}]}" + fi +done + +usage() +{ + cat << _ACEOF + +$ME builds the mingw32ce toolchain. + +Usage: $0 [OPTIONS] ... + + -h, --help print this help, then exit + --prefix=PREFIX install toolchain in PREFIX + [$ac_default_prefix] + -j, --parallelism PARALLELISM Pass PARALLELISM as -jPARALLELISM + to make invocations. + --components=LIST specify which components to build + valid components are: ${COMPONENTS_COMMA_LIST} + [all] + +Report bugs to <ceg...@li...>. +_ACEOF + +} + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + case $ac_option in + + -help | --help | --hel | --he | -h) + usage; exit 0 ;; + + -j | --parallelism | --parallelis | --paralleli | --parallel \ + | --paralle | --parall | --paral | --para | --par \ + | --pa) + ac_prev=parallelism ;; + -j=* | --parallelism=* | --parallelis=* | --paralleli=* | --parallel=* \ + | --paralle=* | --parall=* | --paral=* | --para=* | --par=* \ + | --pa=*) + parallelism=$ac_optarg ;; + -j*) + parallelism=`echo $ac_option | sed 's/-j//'` ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -components | --components | --component | --componen | \ + --compone | --compon | --compo | --comp | --com \ + | --co | --c) + ac_prev=components ;; + -components=* | --components=* | --component=* | --componen=* \ + | --compone=* | --compon=* | --compo=* | --comp=* | --com=* \ + | --co=* | --c=*) + components=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + ;; + esac +done + +# We don't want no errors from here on. +set -e + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +if [ "x${prefix}" != "x" ]; then + export PREFIX="${prefix}" +else + export PREFIX=${ac_default_prefix} +fi + +# Figure out what components where requested to be built. +if test x"${components+set}" != xset; then + components=all +else + if test x"${components}" = x || + test x"${components}" = xyes; + then + echo --components needs at least one argument 1>&2 + exit 1 + fi +fi + +if [ "x${parallelism}" != "x" ]; then + PARALLELISM="-j${parallelism}" +else + PARALLELISM= +fi + +# embedded tabs in the sed below -- do not untabify +components=`echo "${components}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` + +# Don't build in source directory, it will clobber things and cleanup is hard. +if [ -d ${BUILD_DIR}/.svn ]; then + echo "Don't build in a source directory, please create an empty directory and build there." + echo "Example :" + echo " mkdir build-mingw32ce" + echo " cd build-mingw32ce" + echo " sh ../build-mingw32ce.sh $@" + exit 1 +fi + +build_binutils() +{ + echo "" + echo "BUILDING BINUTILS --------------------------" + echo "" + echo "" + mkdir -p binutils + cd binutils + ${BASE_DIRECTORY}/binutils/configure \ + --prefix=${PREFIX} \ + --target=${TARGET} \ + --disable-nls + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_bootstrap_gcc() +{ + mkdir -p gcc-bootstrap + cd gcc-bootstrap + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --disable-threads \ + --disable-nls \ + --enable-languages=c \ + --disable-win32-registry \ + --disable-multilib \ + --disable-shared \ + --disable-interwork \ + --without-newlib \ + --enable-checking + + make ${PARALLELISM} all-gcc + make install-gcc + + cd ${BUILD_DIR} +} + +build_w32api() +{ + mkdir -p w32api + cd w32api + + ${BASE_DIRECTORY}/w32api/configure \ + --host=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_mingw() +{ + mkdir -p mingw + cd mingw + ${BASE_DIRECTORY}/mingw/configure \ + --build=${BUILD} \ + --host=${TARGET} \ + --target=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gcc() +{ + mkdir -p gcc + cd gcc + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --enable-threads=win32 \ + --disable-nls \ + --enable-languages=c,c++ \ + --disable-win32-registry \ + --disable-multilib \ + --disable-interwork \ + --without-newlib \ + --enable-checking \ + --with-headers + +# we build libstdc++ as dll, so we don't need this. +# --enable-fully-dynamic-string \ + +# --disable-clocale \ + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gdb() +{ + echo "" + echo "BUILDING GDB --------------------------" + echo "" + echo "" + + mkdir -p gdb + cd gdb + + ${BASE_DIRECTORY}/gdb/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --disable-nls \ + --disable-win32-registry \ + --disable-multilib \ + --disable-interwork \ + --enable-checking + + export CFLAGS=${PREV_CFLAGS} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gdbserver() +{ + echo "" + echo "BUILDING gdbserver --------------------------" + echo "" + echo "" + + mkdir -p gdbserver + cd gdbserver + + ${BASE_DIRECTORY}/gdb/gdbserver/configure \ + --target=${TARGET} \ + --host=${TARGET} \ + --prefix=${PREFIX} \ + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_docs() +{ + echo "" + echo "INSTALLING documentation --------------------------" + echo "" + echo "" + + mkdir -p ${PREFIX}/share/docs + mkdir -p ${PREFIX}/share/images + + cd ${BASE_DIRECTORY}/../docs + tar cf - . | (cd ${PREFIX}/share/docs; tar xf -) + cd ${BASE_DIRECTORY}/../website + tar cf - images | (cd ${PREFIX}/share; tar xf -) + + cd ${BASE_DIRECTORY}/.. + cp NEWS README ${PREFIX} + cp src/binutils/COPYING ${PREFIX} + cp src/binutils/COPYING.LIB ${PREFIX} + cp src/newlib/COPYING.NEWLIB ${PREFIX} + + cd ${BUILD_DIR} +} + +build_profile() +{ + echo "" + echo "BUILDING profiling libraries --------------------------" + echo "" + echo "" + + mkdir -p profile + cd profile + + ${BASE_DIRECTORY}/profile/configure \ + --build=${BUILD} \ + --host=${TARGET} \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + || exit + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +obuild_dlls() +{ + echo "" + echo "BUILDING DLL libraries --------------------------" + echo "" + echo "" + + cd ${BUILD_DIR} + + mkdir -p dll + cd dll + + cd ${BASE_DIRECTORY} + ${BASE_DIRECTORY}/build-mingw32ce-dlls.sh + + cd ${BUILD_DIR} +} + +build_dlls() +{ + echo "" + echo "BUILDING DLL libraries --------------------------" + echo "" + echo "" + + cd ${BUILD_DIR} + + cd ${BASE_DIRECTORY}/mingwdll + make + make install + + cd ${BUILD_DIR} +} + +build_all() +{ + for ((i=0;i<$COMPONENTS_NUM;i++)); do + comp=${COMPONENTS[${i}]} + build_$comp + done +} + +split_components=`echo "${components}" | sed -e 's/,/ /g'` + +# check for valid options before trying to build them all. +eval "set -- $split_components" +while [ -n "$1" ]; do + if [ "$1" != "all" ]; then + found=false + for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ "${COMPONENTS[${i}]}" = "$1" ]; then + found=true + fi + done + if [ $found = false ] ; then + echo "Please enter a valid build option." + exit 1 + fi + fi + + shift +done + +export TARGET="i386-mingw32ce" + +export BUILD=`sh ${BASE_DIRECTORY}/gcc/config.guess` +export PATH=${PREFIX}/bin:${PATH} + +echo "Building mingw32ce:" +echo "source: ${BASE_DIRECTORY}" +echo "building in: ${BUILD_DIR}" +echo "prefix: ${PREFIX}" +echo "components: ${components}" + +mkdir -p ${BUILD_DIR} +mkdir -p ${PREFIX} + +# Now actually build them. +eval "set -- $split_components" +while [ -n "$1" ]; do + build_${1} + shift +done + +echo "" +echo "DONE --------------------------" +echo "" +echo "" Property changes on: trunk/cegcc/src/scripts/build-x86.sh ___________________________________________________________________ Added: svn:executable + * Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 12:31:32
|
Revision: 1233 http://cegcc.svn.sourceforge.net/cegcc/?rev=1233&view=rev Author: dannybackx Date: 2009-04-11 12:31:23 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Stuff to get the gcc-bootstrap for x86 going. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/i386/gthr-win32.c trunk/cegcc/src/gcc/gcc/config/i386/t-cygming Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 09:38:42 UTC (rev 1232) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2009-04-11 12:31:23 UTC (rev 1233) @@ -1,3 +1,9 @@ +2009-04-11 Danny Backx <dan...@us...> + + * gcc/config/i386/t-cygming : Include the src/mingw/include tree so + libgcc2 can be compiled. + * gcc/config/i386/gthr-win32.c : Use ERROR_INVALID_FUNCTION, not EINVAL. + 2007-12-25 Pedro Alves <ped...@po...> * libgcov.c (gcov_exit) [UNDER_CE]: Fix mbstowcs/wcstombs Modified: trunk/cegcc/src/gcc/gcc/config/i386/gthr-win32.c =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/gthr-win32.c 2009-04-11 09:38:42 UTC (rev 1232) +++ trunk/cegcc/src/gcc/gcc/config/i386/gthr-win32.c 2009-04-11 12:31:23 UTC (rev 1233) @@ -73,8 +73,13 @@ int __gthr_win32_once (__gthread_once_t *once, void (*func) (void)) { - if (once == NULL || func == NULL) + if (once == NULL || func == NULL) { +#ifdef EINVAL return EINVAL; +#else + return ERROR_INVALID_FUNCTION; +#endif + } if (! once->done) { Modified: trunk/cegcc/src/gcc/gcc/config/i386/t-cygming =================================================================== --- trunk/cegcc/src/gcc/gcc/config/i386/t-cygming 2009-04-11 09:38:42 UTC (rev 1232) +++ trunk/cegcc/src/gcc/gcc/config/i386/t-cygming 2009-04-11 12:31:23 UTC (rev 1233) @@ -8,7 +8,15 @@ # If we are building next to winsup, this will let us find the real # limits.h when building libgcc2. Otherwise, winsup must be installed # first. -LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include +# +# For CeGCC, don't point to winsup (we don't have that) but to the +# src/mingw/include tree. +# +LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include \ + -I$(prefix)/$(target)/include \ + -I$(srcdir)/../../w32api/include \ + -I$(srcdir)/../../mingw/include \ + -I$(prefix)/i386-mingw32ce/include winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 09:38:48
|
Revision: 1232 http://cegcc.svn.sourceforge.net/cegcc/?rev=1232&view=rev Author: dannybackx Date: 2009-04-11 09:38:42 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Change Marcel's email address. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-11 06:22:16 UTC (rev 1231) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-11 09:38:42 UTC (rev 1232) @@ -3,7 +3,7 @@ * include/windefs.h, include/kfuncs.h : change inlined functions to static, include them only from one file. -2009-04-10 Marcel Smit <mar...@us...> +2009-04-10 Marcel Smit <ms...@re...> * include/cegcc.h.in (__CEGCC_VERSION__) : Add backslashes at the end of lines to allow line continuation. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-11 06:22:20
|
Revision: 1231 http://cegcc.svn.sourceforge.net/cegcc/?rev=1231&view=rev Author: dannybackx Date: 2009-04-11 06:22:16 +0000 (Sat, 11 Apr 2009) Log Message: ----------- Fix problems with kfuncs.h Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/kfuncs.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-10 17:03:17 UTC (rev 1230) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-11 06:22:16 UTC (rev 1231) @@ -1,3 +1,8 @@ +2009-04-11 Danny Backx <dan...@us...> + + * include/windefs.h, include/kfuncs.h : change inlined functions to + static, include them only from one file. + 2009-04-10 Marcel Smit <mar...@us...> * include/cegcc.h.in (__CEGCC_VERSION__) : Add backslashes at the end Modified: trunk/cegcc/src/w32api/include/kfuncs.h =================================================================== --- trunk/cegcc/src/w32api/include/kfuncs.h 2009-04-10 17:03:17 UTC (rev 1230) +++ trunk/cegcc/src/w32api/include/kfuncs.h 2009-04-11 06:22:16 UTC (rev 1231) @@ -21,23 +21,23 @@ #define SH_CURPROC 2 /* Process/Thread ID Methods */ -inline HANDLE GetCurrentProcess() +static inline HANDLE GetCurrentProcess() { return ((HANDLE)(SH_CURPROC+SYS_HANDLE_BASE)); } -inline HANDLE GetCurrentThread() +static inline HANDLE GetCurrentThread() { return ((HANDLE)(SH_CURTHREAD+SYS_HANDLE_BASE)); } -inline DWORD GetCurrentThreadId() +static inline DWORD GetCurrentThreadId() { return ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURTHREAD])); } -inline DWORD GetCurrentProcessId() +static inline DWORD GetCurrentProcessId() { return ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURPROC])); } @@ -53,17 +53,17 @@ #define EVENT_RESET 2 #define EVENT_SET 3 -inline BOOL PulseEvent (HANDLE x) +static inline BOOL PulseEvent (HANDLE x) { return EventModify(x, EVENT_PULSE); } -inline BOOL ResetEvent (HANDLE x) +static inline BOOL ResetEvent (HANDLE x) { return EventModify(x, EVENT_PULSE); } -inline BOOL SetEvent (HANDLE x) +static inline BOOL SetEvent (HANDLE x) { return EventModify(x, EVENT_PULSE); } @@ -74,16 +74,14 @@ WINBASEAPI DWORD WINAPI TlsCall(DWORD func, DWORD val); -inline DWORD TlsAlloc (void) +static inline DWORD TlsAlloc (void) { return (TlsCall(TLS_FUNCALLOC, 0)); } -inline BOOL WINAPI TlsFree(DWORD x) +static inline BOOL WINAPI TlsFree(DWORD x) { return (TlsCall(TLS_FUNCFREE, x)); } #endif - - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-10 17:03:25
|
Revision: 1230 http://cegcc.svn.sourceforge.net/cegcc/?rev=1230&view=rev Author: dannybackx Date: 2009-04-10 17:03:17 +0000 (Fri, 10 Apr 2009) Log Message: ----------- Add backslashes Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/cegcc.h.in Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-10 10:06:28 UTC (rev 1229) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-10 17:03:17 UTC (rev 1230) @@ -1,5 +1,7 @@ 2009-04-10 Marcel Smit <mar...@us...> + * include/cegcc.h.in (__CEGCC_VERSION__) : Add backslashes at the end + of lines to allow line continuation. * include/kfuncs.h (TlsAlloc, TlsFree, PulseEvent, ResetEvent, SetEvent, GetCurrentThread, GetCurrentProcess, GetCurrentThreadId, GetCurrentProcessId) : Change them from macros to inline functions. Modified: trunk/cegcc/src/w32api/include/cegcc.h.in =================================================================== --- trunk/cegcc/src/w32api/include/cegcc.h.in 2009-04-10 10:06:28 UTC (rev 1229) +++ trunk/cegcc/src/w32api/include/cegcc.h.in 2009-04-10 17:03:17 UTC (rev 1230) @@ -18,8 +18,8 @@ /* Automatic changes above */ #define __CEGCC_VERSION__ \ - (((__CEGCC_VERSION_MAJOR__) << 16) - + ((__CEGCC_VERSION_MINOR__) << 8) + (((__CEGCC_VERSION_MAJOR__) << 16) \ + + ((__CEGCC_VERSION_MINOR__) << 8) \ + (__CEGCC_PATCHLEVEL__)) #ifdef __cplusplus This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-10 10:06:43
|
Revision: 1229 http://cegcc.svn.sourceforge.net/cegcc/?rev=1229&view=rev Author: dannybackx Date: 2009-04-10 10:06:28 +0000 (Fri, 10 Apr 2009) Log Message: ----------- Input by Marcel Smit, see bug #2750052. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/kfuncs.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-07 18:46:40 UTC (rev 1228) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2009-04-10 10:06:28 UTC (rev 1229) @@ -1,3 +1,9 @@ +2009-04-10 Marcel Smit <mar...@us...> + + * include/kfuncs.h (TlsAlloc, TlsFree, PulseEvent, ResetEvent, + SetEvent, GetCurrentThread, GetCurrentProcess, GetCurrentThreadId, + GetCurrentProcessId) : Change them from macros to inline functions. + 2009-02-07 Pedro Alves <ped...@us...> Merge from upstream. Now at 3.12. Modified: trunk/cegcc/src/w32api/include/kfuncs.h =================================================================== --- trunk/cegcc/src/w32api/include/kfuncs.h 2009-04-07 18:46:40 UTC (rev 1228) +++ trunk/cegcc/src/w32api/include/kfuncs.h 2009-04-10 10:06:28 UTC (rev 1229) @@ -21,12 +21,27 @@ #define SH_CURPROC 2 /* Process/Thread ID Methods */ -#define GetCurrentThread() ((HANDLE)(SH_CURTHREAD+SYS_HANDLE_BASE)) -#define GetCurrentProcess() ((HANDLE)(SH_CURPROC+SYS_HANDLE_BASE)) -#define GetCurrentThreadId() ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURTHREAD])) -#define GetCurrentProcessId() ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURPROC])) +inline HANDLE GetCurrentProcess() +{ + return ((HANDLE)(SH_CURPROC+SYS_HANDLE_BASE)); +} +inline HANDLE GetCurrentThread() +{ + return ((HANDLE)(SH_CURTHREAD+SYS_HANDLE_BASE)); +} + +inline DWORD GetCurrentThreadId() +{ + return ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURTHREAD])); +} + +inline DWORD GetCurrentProcessId() +{ + return ((DWORD)(((HANDLE *)(PUserKData+SYSHANDLE_OFFSET))[SH_CURPROC])); +} + /* EventModify signature hinted on: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcehardware5/html/wce50lrfCeLogImportTable.asp @@ -37,16 +52,38 @@ #define EVENT_PULSE 1 #define EVENT_RESET 2 #define EVENT_SET 3 -#define PulseEvent(x) EventModify(x, EVENT_PULSE) -#define ResetEvent(x) EventModify(x, EVENT_RESET) -#define SetEvent(x) EventModify(x, EVENT_SET) +inline BOOL PulseEvent (HANDLE x) +{ + return EventModify(x, EVENT_PULSE); +} + +inline BOOL ResetEvent (HANDLE x) +{ + return EventModify(x, EVENT_PULSE); +} + +inline BOOL SetEvent (HANDLE x) +{ + return EventModify(x, EVENT_PULSE); +} + /* TLS Constants and Constructs */ #define TLS_FUNCALLOC 0 #define TLS_FUNCFREE 1 WINBASEAPI DWORD WINAPI TlsCall(DWORD func, DWORD val); -#define TlsAlloc() (TlsCall(TLS_FUNCALLOC, 0)) -#define TlsFree(x) (TlsCall(TLS_FUNCFREE, x)) +inline DWORD TlsAlloc (void) +{ + return (TlsCall(TLS_FUNCALLOC, 0)); +} + +inline BOOL WINAPI TlsFree(DWORD x) +{ + return (TlsCall(TLS_FUNCFREE, x)); +} + #endif + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-04-07 18:46:52
|
Revision: 1228 http://cegcc.svn.sourceforge.net/cegcc/?rev=1228&view=rev Author: dannybackx Date: 2009-04-07 18:46:40 +0000 (Tue, 07 Apr 2009) Log Message: ----------- Change wfdopen definition Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/include/stdio.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 16:52:52 UTC (rev 1227) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-04-07 18:46:40 UTC (rev 1228) @@ -1,3 +1,8 @@ +2009-04-07 Danny Backx <dan...@us...> + + * include/stdio.h (_wfdopen) : Add const keyword to 2nd parameter + after discussion on the mailing list. + 2009-02-08 Pedro Alves <ped...@us...> * include/_mingw.h (__MSVCRT_VERSION__): Only define if __MSVCRT__ Modified: trunk/cegcc/src/mingw/include/stdio.h =================================================================== --- trunk/cegcc/src/mingw/include/stdio.h 2009-02-08 16:52:52 UTC (rev 1227) +++ trunk/cegcc/src/mingw/include/stdio.h 2009-04-07 18:46:40 UTC (rev 1228) @@ -664,7 +664,7 @@ #ifndef __STRICT_ANSI__ _CRTIMP wchar_t* __cdecl _getws (wchar_t*); _CRTIMP int __cdecl _putws (const wchar_t*); -_CRTIMP FILE* __cdecl _wfdopen(int, wchar_t *); +_CRTIMP FILE* __cdecl _wfdopen(int, const wchar_t *); _CRTIMP FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*); _CRTIMP FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*); #endif /* __STRICT_ANSI__ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-08 16:52:54
|
Revision: 1227 http://cegcc.svn.sourceforge.net/cegcc/?rev=1227&view=rev Author: pedroalves Date: 2009-02-08 16:52:52 +0000 (Sun, 08 Feb 2009) Log Message: ----------- * include/_mingw.h (__MSVCRT_VERSION__): Only define if __MSVCRT__ is defined. * mingwex/Makefile.in (PFORMAT_CFLAGS): Don't define __MSVCRT_VERSION__ when building for mingw32ce. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/include/_mingw.h trunk/cegcc/src/mingw/mingwex/Makefile.in Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 11:20:14 UTC (rev 1226) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 16:52:52 UTC (rev 1227) @@ -1,5 +1,12 @@ 2009-02-08 Pedro Alves <ped...@us...> + * include/_mingw.h (__MSVCRT_VERSION__): Only define if __MSVCRT__ + is defined. + * mingwex/Makefile.in (PFORMAT_CFLAGS): Don't define + __MSVCRT_VERSION__ when building for mingw32ce. + +2009-02-08 Pedro Alves <ped...@us...> + * Makefile.in (install-headers): New rule. 2009-02-07 Pedro Alves <ped...@us...> Modified: trunk/cegcc/src/mingw/include/_mingw.h =================================================================== --- trunk/cegcc/src/mingw/include/_mingw.h 2009-02-08 11:20:14 UTC (rev 1226) +++ trunk/cegcc/src/mingw/include/_mingw.h 2009-02-08 16:52:52 UTC (rev 1227) @@ -230,7 +230,7 @@ /* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW. This will allow GCC to optimize away some EH unwind code, at least in DW2 case. */ -#ifndef __MSVCRT_VERSION__ +#if defined __MSVCRT__ && !defined (__MSVCRT_VERSION__) /* High byte is the major version, low byte is the minor. */ # define __MSVCRT_VERSION__ 0x0600 #endif Modified: trunk/cegcc/src/mingw/mingwex/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-08 11:20:14 UTC (rev 1226) +++ trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-08 16:52:52 UTC (rev 1227) @@ -328,7 +328,12 @@ # (in the parent directory) to maintain forward compatibility # for earlier versions of MSVCRT.DLL # -PFORMAT_CFLAGS = $(ALL_CFLAGS) -I $(srcdir)/gdtoa -D__MSVCRT_VERSION__=0x0800 +PFORMAT_CFLAGS = $(ALL_CFLAGS) -I $(srcdir)/gdtoa + +ifeq (,$(findstring mingw32ce,$(host_alias))) +PFORMAT_CFLAGS:=$(PFORMAT_CFLAGS) -D__MSVCRT_VERSION__=0x0800 +endif + pformat.o: pformat.c pformat.h $(CC) -c $(PFORMAT_CFLAGS) $(srcdir)/stdio/$*.c -o $@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2009-02-08 11:20:16
|
Revision: 1226 http://cegcc.svn.sourceforge.net/cegcc/?rev=1226&view=rev Author: dannybackx Date: 2009-02-08 11:20:14 +0000 (Sun, 08 Feb 2009) Log Message: ----------- Fix [ 2574606 ] windres can't detect architecture Modified Paths: -------------- trunk/cegcc/src/binutils/ChangeLog.ce trunk/cegcc/src/binutils/binutils/windres.c Modified: trunk/cegcc/src/binutils/ChangeLog.ce =================================================================== --- trunk/cegcc/src/binutils/ChangeLog.ce 2009-02-08 02:28:08 UTC (rev 1225) +++ trunk/cegcc/src/binutils/ChangeLog.ce 2009-02-08 11:20:14 UTC (rev 1226) @@ -1,3 +1,8 @@ +2009-02-08 Rikky <ri...@us...> + + * binutils/windres.c : Fix [ 2574606 ] "windres can't detect + architecture" problem. + 2009-02-04 Pedro Alves <ped...@us...> Merge from FSF head. Modified: trunk/cegcc/src/binutils/binutils/windres.c =================================================================== --- trunk/cegcc/src/binutils/binutils/windres.c 2009-02-08 02:28:08 UTC (rev 1225) +++ trunk/cegcc/src/binutils/binutils/windres.c 2009-02-08 11:20:14 UTC (rev 1226) @@ -1109,7 +1109,7 @@ if (!find_arch_match (tname, arches)) { char *new_tname = (char *) alloca (strlen (hyp) + 1); - strcpy (new_tname, hyp); + strcpy (new_tname, hyp + 1); while ((hyp = strrchr (new_tname, '-')) != NULL) { *hyp = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-08 02:28:11
|
Revision: 1225 http://cegcc.svn.sourceforge.net/cegcc/?rev=1225&view=rev Author: pedroalves Date: 2009-02-08 02:28:08 +0000 (Sun, 08 Feb 2009) Log Message: ----------- * Makefile.in (install-headers): New rule. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/Makefile.in Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 00:18:40 UTC (rev 1224) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 02:28:08 UTC (rev 1225) @@ -1,3 +1,7 @@ +2009-02-08 Pedro Alves <ped...@us...> + + * Makefile.in (install-headers): New rule. + 2009-02-07 Pedro Alves <ped...@us...> * mingwex/Makefile.in (LIB_OBJS): Also pull in $(GDTOA_OBJS). Modified: trunk/cegcc/src/mingw/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/Makefile.in 2009-02-08 00:18:40 UTC (rev 1224) +++ trunk/cegcc/src/mingw/Makefile.in 2009-02-08 02:28:08 UTC (rev 1225) @@ -502,6 +502,15 @@ $(mkinstalldirs) $(inst_docdir) $(mkinstalldirs) $(mandir)/man$(mansection) +install-headers: install-dirs + for sub in . sys ; do \ + dstdir=$(inst_includedir)/$$sub ; \ + $(mkinstalldirs) $$dstdir ; \ + for i in $(srcdir)/include/$$sub/*.h ; do \ + $(INSTALL_DATA) $$i $$dstdir/`basename $$i` ; \ + done ; \ + done + install: all install-dirs $(install_dlls_host) for i in $(LIBS); do \ $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-08 00:18:50
|
Revision: 1224 http://cegcc.svn.sourceforge.net/cegcc/?rev=1224&view=rev Author: pedroalves Date: 2009-02-08 00:18:40 +0000 (Sun, 08 Feb 2009) Log Message: ----------- * mingwex/Makefile.in (LIB_OBJS): Also pull in $(GDTOA_OBJS). * mingwex/gdtoa/gdtoaimp.h [__COREDLL__]: Don't define USE_LOCALE. Define NO_ERRNO. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/Makefile.in trunk/cegcc/src/mingw/mingwex/gdtoa/gdtoaimp.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-07 23:56:22 UTC (rev 1223) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-08 00:18:40 UTC (rev 1224) @@ -1,5 +1,11 @@ 2009-02-07 Pedro Alves <ped...@us...> + * mingwex/Makefile.in (LIB_OBJS): Also pull in $(GDTOA_OBJS). + * mingwex/gdtoa/gdtoaimp.h [__COREDLL__]: Don't define USE_LOCALE. + Define NO_ERRNO. + +2009-02-07 Pedro Alves <ped...@us...> + * mingwex/Makefile.in (STDIO_OBJS_CE): Add pformat.o, vsnprintf.o, printf.o, fprintf.o, sprintf.o, vprintf.o, vfprintf.o and vsprintf.o. Modified: trunk/cegcc/src/mingw/mingwex/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-07 23:56:22 UTC (rev 1223) +++ trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-08 00:18:40 UTC (rev 1224) @@ -257,7 +257,7 @@ ifneq (,$(findstring mingw32ce,$(host_alias))) LIB_OBJS = $(WINCE_OBJS) $(MATHCE_OBJS) $(MATCHCE_ROUND_OBJS) \ $(Q8_OBJS) $(STDIO_OBJS_CE) \ - $(POSIX_OBJS) + $(POSIX_OBJS) $(GDTOA_OBJS) MATHCE_FLAGS=-D_IEEE_LIBM MATHDIR=mathce else Modified: trunk/cegcc/src/mingw/mingwex/gdtoa/gdtoaimp.h =================================================================== --- trunk/cegcc/src/mingw/mingwex/gdtoa/gdtoaimp.h 2009-02-07 23:56:22 UTC (rev 1223) +++ trunk/cegcc/src/mingw/mingwex/gdtoa/gdtoaimp.h 2009-02-08 00:18:40 UTC (rev 1224) @@ -172,7 +172,9 @@ #define INFNAN_CHECK 1 #define MULTIPLE_THREADS 1 +#ifndef __COREDLL__ #define USE_LOCALE 1 +#endif #ifdef DEBUG #include <stdio.h> @@ -203,6 +205,10 @@ #define IEEE_Arith #endif +#ifdef __COREDLL__ +#define NO_ERRNO +#endif + #ifndef NO_ERRNO #include <errno.h> #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 23:56:25
|
Revision: 1223 http://cegcc.svn.sourceforge.net/cegcc/?rev=1223&view=rev Author: pedroalves Date: 2009-02-07 23:56:22 +0000 (Sat, 07 Feb 2009) Log Message: ----------- * mingwex/Makefile.in (STDIO_OBJS_CE): Add pformat.o, vsnprintf.o, printf.o, fprintf.o, sprintf.o, vprintf.o, vfprintf.o and vsprintf.o. * mingwex/stdio/pformat.c: Don't include locale.h. (__pformat_exponent_digits): Don't use getenv. (__pformat_t): Don't declare rplen and rpchr fields. (__pformat_emit_radix_point): Don't do localization. (__pformat): Don't initialize rplen or rpchr fields. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/Makefile.in trunk/cegcc/src/mingw/mingwex/stdio/pformat.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-07 23:32:57 UTC (rev 1222) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2009-02-07 23:56:22 UTC (rev 1223) @@ -1,5 +1,16 @@ 2009-02-07 Pedro Alves <ped...@us...> + * mingwex/Makefile.in (STDIO_OBJS_CE): Add pformat.o, vsnprintf.o, + printf.o, fprintf.o, sprintf.o, vprintf.o, vfprintf.o and + vsprintf.o. + * mingwex/stdio/pformat.c: Don't include locale.h. + (__pformat_exponent_digits): Don't use getenv. + (__pformat_t): Don't declare rplen and rpchr fields. + (__pformat_emit_radix_point): Don't do localization. + (__pformat): Don't initialize rplen or rpchr fields. + +2009-02-07 Pedro Alves <ped...@us...> + Merge from upstream. 2007-12-25 Pedro Alves <ped...@po...> Modified: trunk/cegcc/src/mingw/mingwex/Makefile.in =================================================================== --- trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-07 23:32:57 UTC (rev 1222) +++ trunk/cegcc/src/mingw/mingwex/Makefile.in 2009-02-07 23:56:22 UTC (rev 1223) @@ -172,7 +172,8 @@ printf.o fprintf.o sprintf.o vprintf.o vfprintf.o vsprintf.o #TODO: Try out the new objects here? STDIO_OBJS_CE = \ - snprintf.o vsnprintf.o snwprintf.o vsnwprintf.o + pformat.o snprintf.o vsnprintf.o snwprintf.o vsnwprintf.o \ + printf.o fprintf.o sprintf.o vprintf.o vfprintf.o vsprintf.o MATH_OBJS = \ acosf.o acosl.o asinf.o asinl.o atan2f.o atan2l.o \ atanf.o atanl.o cbrt.o cbrtf.o cbrtl.o ceilf.o ceill.o \ Modified: trunk/cegcc/src/mingw/mingwex/stdio/pformat.c =================================================================== --- trunk/cegcc/src/mingw/mingwex/stdio/pformat.c 2009-02-07 23:32:57 UTC (rev 1222) +++ trunk/cegcc/src/mingw/mingwex/stdio/pformat.c 2009-02-07 23:56:22 UTC (rev 1223) @@ -62,7 +62,9 @@ #include <stdlib.h> #include <string.h> #include <limits.h> +#ifndef __COREDLL__ #include <locale.h> +#endif #include <wchar.h> #include <math.h> @@ -175,7 +177,11 @@ static __inline__ __attribute__((__always_inline__)) int __pformat_exponent_digits( void ) { +#ifdef __COREDLL__ + char *exponent_digits = NULL; +#else char *exponent_digits = getenv( "PRINTF_EXPONENT_DIGITS" ); +#endif return ((exponent_digits != NULL) && ((unsigned)(*exponent_digits - '0') < 3)) || (_get_output_format() & _TWO_DIGIT_EXPONENT) ? 2 @@ -252,8 +258,10 @@ int flags; int width; int precision; +#ifndef __COREDLL__ int rplen; wchar_t rpchr; +#endif int count; int quota; int expmin; @@ -864,6 +872,7 @@ static __inline__ void __pformat_emit_radix_point( __pformat_t *stream ) { +#ifndef __COREDLL__ /* Helper to place a localised representation of the radix point * character at the ultimate destination, when formatting fixed or * floating point numbers. @@ -922,6 +931,7 @@ } else +#endif /* No localisation: just use ASCII '.'... */ __pformat_putc( '.', stream ); @@ -1791,8 +1801,10 @@ flags &= PFORMAT_TO_FILE | PFORMAT_NOLIMIT, /* only these valid initially */ PFORMAT_IGNORE, /* no field width yet */ PFORMAT_IGNORE, /* nor any precision spec */ +#ifndef __COREDLL__ PFORMAT_RPINIT, /* radix point uninitialised */ (wchar_t)(0), /* leave it unspecified */ +#endif 0, /* zero output char count */ max, /* establish output limit */ PFORMAT_MINEXP /* exponent chars preferred */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 23:33:05
|
Revision: 1222 http://cegcc.svn.sourceforge.net/cegcc/?rev=1222&view=rev Author: pedroalves Date: 2009-02-07 23:32:57 +0000 (Sat, 07 Feb 2009) Log Message: ----------- Hack to keep things going. * build-cegcc.sh (BASE_DIRECTORY): Step one level down. * build-mingw32ce.sh (BASE_DIRECTORY): Likewise. Modified Paths: -------------- trunk/cegcc/src/scripts/ChangeLog trunk/cegcc/src/scripts/build-cegcc.sh trunk/cegcc/src/scripts/build-mingw32ce.sh Modified: trunk/cegcc/src/scripts/ChangeLog =================================================================== --- trunk/cegcc/src/scripts/ChangeLog 2009-02-07 23:05:37 UTC (rev 1221) +++ trunk/cegcc/src/scripts/ChangeLog 2009-02-07 23:32:57 UTC (rev 1222) @@ -0,0 +1,4 @@ +2009-02-07 Pedro Alves <ped...@us...> + + * build-cegcc.sh (BASE_DIRECTORY): Step one level down. + * build-mingw32ce.sh (BASE_DIRECTORY): Likewise. Modified: trunk/cegcc/src/scripts/build-cegcc.sh =================================================================== --- trunk/cegcc/src/scripts/build-cegcc.sh 2009-02-07 23:05:37 UTC (rev 1221) +++ trunk/cegcc/src/scripts/build-cegcc.sh 2009-02-07 23:32:57 UTC (rev 1222) @@ -1,7 +1,7 @@ #! /usr/bin/env bash BASE_DIRECTORY=`dirname $0` -BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` +BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; cd ..; pwd)` ME=`basename $0` # Modified: trunk/cegcc/src/scripts/build-mingw32ce.sh =================================================================== --- trunk/cegcc/src/scripts/build-mingw32ce.sh 2009-02-07 23:05:37 UTC (rev 1221) +++ trunk/cegcc/src/scripts/build-mingw32ce.sh 2009-02-07 23:32:57 UTC (rev 1222) @@ -1,7 +1,7 @@ #! /usr/bin/env bash BASE_DIRECTORY=`dirname $0` -BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` +BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; cd ..; pwd)` ME=`basename $0` # FIXME: some components need this (mingwdll), but they shouldn't. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 23:05:44
|
Revision: 1221 http://cegcc.svn.sourceforge.net/cegcc/?rev=1221&view=rev Author: pedroalves Date: 2009-02-07 23:05:37 +0000 (Sat, 07 Feb 2009) Log Message: ----------- Also move build-mingw32ce-dlls.sh. Modified Paths: -------------- trunk/cegcc/src/ChangeLog Added Paths: ----------- trunk/cegcc/src/scripts/build-mingw32ce-dlls.sh Removed Paths: ------------- trunk/cegcc/src/build-mingw32ce-dlls.sh Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2009-02-07 23:03:31 UTC (rev 1220) +++ trunk/cegcc/src/ChangeLog 2009-02-07 23:05:37 UTC (rev 1221) @@ -1,7 +1,7 @@ 2009-02-07 Pedro Alves <ped...@us...> - * scripts: New top-level directory. Move build-mingw32ce.sh and - build-cegcc.sh there. + * scripts: New top-level directory. Move build-mingw32ce.sh, + build-cegcc.sh, and build-mingw32ce-dlls.sh there. 2009-02-07 Pedro Alves <ped...@us...> Deleted: trunk/cegcc/src/build-mingw32ce-dlls.sh =================================================================== --- trunk/cegcc/src/build-mingw32ce-dlls.sh 2009-02-07 23:03:31 UTC (rev 1220) +++ trunk/cegcc/src/build-mingw32ce-dlls.sh 2009-02-07 23:05:37 UTC (rev 1221) @@ -1,90 +0,0 @@ -#!/bin/bash -x - -# Based on script from: -# http://cygwin.com/ml/cygwin-apps/2006-05/msg00044.html - -TARGET=arm-mingw32ce -PREFIX=/opt/mingw32ce -GCC_VERSION=4.1.0 - -export PATH=${PREFIX}/bin:${PATH} - -srcdir=`cd gcc; pwd` -builddir=`cd build-mingw32ce; pwd` - -pushd ${PREFIX}/${TARGET}/lib - -LIBVER=$(grep libtool_VERSION= ${srcdir}/libstdc++-v3/configure | sed -e 's/libtool_VERSION=//') -LIBVER_c=$(echo $LIBVER | awk -F: '{print $1}') -LIBVER_r=$(echo $LIBVER | awk -F: '{print $2}') -LIBVER_a=$(echo $LIBVER | awk -F: '{print $3}') -LIBSTDCPP_DLLVER=$(($LIBVER_c - $LIBVER_a)) - -## no need for a DLLVER for libgcc; it's guaranteed to only add functions, -## never remove or change thier signature. So it'll always be backwards-compatible. - -## It's probably not necessary, but we'll use the LIBSTDCPP_DLLVER for -## libsupc++ as well (after all, all of libsupc++ appears IN libstdc++ -## so if libsupc++ changes in a backwards-non-compatible way, then libstdc++ -## will, too -- and the gcc folks will modify its LIBVER. The downside here -## is that if libsupc++ is unchanged or remains backwards compatible, but -## some other part of libstdc++ changes badly -- we will unnecessarily bump -## libsupc++'s DLLNUM. 'sokay. - -pushd ${PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION} -${TARGET}-dlltool --output-def libgcc.def --export-all libgcc.a -${builddir}/gcc/gcc/xgcc -shared -olibgcc.dll \ - -Wl,--out-implib,libgcc.dll.a \ - ./libgcc.def \ - ./libgcc.a -#no versioned implib, no need to ln -popd - -${TARGET}-dlltool --output-def libsupc++.def --export-all libsupc++.a -${builddir}/gcc/gcc/xgcc -shared -olibsupc++-${LIBSTDCPP_DLLVER}.dll \ - -Wl,--out-implib,libsupc++-${LIBSTDCPP_DLLVER}.dll.a \ - ./libsupc++.def \ - ./libsupc++.a -rm -f libsupc++.dll.a -ln -s libsupc++-${LIBSTDCPP_DLLVER}.dll.a libsupc++.dll.a - -${TARGET}-dlltool --output-def libstdc++.def --export-all libstdc++.a -${builddir}/gcc/gcc/xgcc -shared -olibstdc++-${LIBSTDCPP_DLLVER}.dll \ - -Wl,--out-implib,libstdc++-${LIBSTDCPP_DLLVER}.dll.a \ - ./libstdc++.def \ - ./libstdc++.a - -rm -f libstdc++.dll.a -ln -s libstdc++-${LIBSTDCPP_DLLVER}.dll.a libstdc++.dll.a - -mkdir -p ${builddir}/device -pushd ${builddir}/device -rm -f libsupc++-${LIBSTDCPP_DLLVER}.dll -rm -f libstdc++-${LIBSTDCPP_DLLVER}.dll -rm -f libgcc.dll - -cp -f ${PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION}/libgcc.dll . -cp -f ${PREFIX}/${TARGET}/lib/libsupc++-${LIBSTDCPP_DLLVER}.dll . -cp -f ${PREFIX}/${TARGET}/lib/libstdc++-${LIBSTDCPP_DLLVER}.dll . - -${TARGET}-strip libgcc.dll -${TARGET}-strip libsupc++-${LIBSTDCPP_DLLVER}.dll -${TARGET}-strip libstdc++-${LIBSTDCPP_DLLVER}.dll -popd - -## MUNGE the .la files -mv libstdc++.la libstdc++.la.SAVE -cat libstdc++.la.SAVE |\ - sed -e "s/^dlname=.*\$/dlname='libstdc++-${LIBSTDCPP_DLLVER}.dll'/" \ - -e "s/^library_names=.*\$/library_names='libstdc++.dll.a'/" >\ - libstdc++.la -rm -f libstdc++.la.SAVE - -mv libsupc++.la libsupc++.la.SAVE -cat libsupc++.la.SAVE |\ - sed -e "s/^dlname=.*\$/dlname='libsupc++-${LIBSTDCPP_DLLVER}.dll'/" \ - -e "s/^library_names=.*\$/library_names='libsupc++.dll.a'/" >\ - libsupc++.la -rm -f libsupc++.la.SAVE - -popd Copied: trunk/cegcc/src/scripts/build-mingw32ce-dlls.sh (from rev 1155, trunk/cegcc/src/build-mingw32ce-dlls.sh) =================================================================== --- trunk/cegcc/src/scripts/build-mingw32ce-dlls.sh (rev 0) +++ trunk/cegcc/src/scripts/build-mingw32ce-dlls.sh 2009-02-07 23:05:37 UTC (rev 1221) @@ -0,0 +1,90 @@ +#!/bin/bash -x + +# Based on script from: +# http://cygwin.com/ml/cygwin-apps/2006-05/msg00044.html + +TARGET=arm-mingw32ce +PREFIX=/opt/mingw32ce +GCC_VERSION=4.1.0 + +export PATH=${PREFIX}/bin:${PATH} + +srcdir=`cd gcc; pwd` +builddir=`cd build-mingw32ce; pwd` + +pushd ${PREFIX}/${TARGET}/lib + +LIBVER=$(grep libtool_VERSION= ${srcdir}/libstdc++-v3/configure | sed -e 's/libtool_VERSION=//') +LIBVER_c=$(echo $LIBVER | awk -F: '{print $1}') +LIBVER_r=$(echo $LIBVER | awk -F: '{print $2}') +LIBVER_a=$(echo $LIBVER | awk -F: '{print $3}') +LIBSTDCPP_DLLVER=$(($LIBVER_c - $LIBVER_a)) + +## no need for a DLLVER for libgcc; it's guaranteed to only add functions, +## never remove or change thier signature. So it'll always be backwards-compatible. + +## It's probably not necessary, but we'll use the LIBSTDCPP_DLLVER for +## libsupc++ as well (after all, all of libsupc++ appears IN libstdc++ +## so if libsupc++ changes in a backwards-non-compatible way, then libstdc++ +## will, too -- and the gcc folks will modify its LIBVER. The downside here +## is that if libsupc++ is unchanged or remains backwards compatible, but +## some other part of libstdc++ changes badly -- we will unnecessarily bump +## libsupc++'s DLLNUM. 'sokay. + +pushd ${PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION} +${TARGET}-dlltool --output-def libgcc.def --export-all libgcc.a +${builddir}/gcc/gcc/xgcc -shared -olibgcc.dll \ + -Wl,--out-implib,libgcc.dll.a \ + ./libgcc.def \ + ./libgcc.a +#no versioned implib, no need to ln +popd + +${TARGET}-dlltool --output-def libsupc++.def --export-all libsupc++.a +${builddir}/gcc/gcc/xgcc -shared -olibsupc++-${LIBSTDCPP_DLLVER}.dll \ + -Wl,--out-implib,libsupc++-${LIBSTDCPP_DLLVER}.dll.a \ + ./libsupc++.def \ + ./libsupc++.a +rm -f libsupc++.dll.a +ln -s libsupc++-${LIBSTDCPP_DLLVER}.dll.a libsupc++.dll.a + +${TARGET}-dlltool --output-def libstdc++.def --export-all libstdc++.a +${builddir}/gcc/gcc/xgcc -shared -olibstdc++-${LIBSTDCPP_DLLVER}.dll \ + -Wl,--out-implib,libstdc++-${LIBSTDCPP_DLLVER}.dll.a \ + ./libstdc++.def \ + ./libstdc++.a + +rm -f libstdc++.dll.a +ln -s libstdc++-${LIBSTDCPP_DLLVER}.dll.a libstdc++.dll.a + +mkdir -p ${builddir}/device +pushd ${builddir}/device +rm -f libsupc++-${LIBSTDCPP_DLLVER}.dll +rm -f libstdc++-${LIBSTDCPP_DLLVER}.dll +rm -f libgcc.dll + +cp -f ${PREFIX}/lib/gcc/${TARGET}/${GCC_VERSION}/libgcc.dll . +cp -f ${PREFIX}/${TARGET}/lib/libsupc++-${LIBSTDCPP_DLLVER}.dll . +cp -f ${PREFIX}/${TARGET}/lib/libstdc++-${LIBSTDCPP_DLLVER}.dll . + +${TARGET}-strip libgcc.dll +${TARGET}-strip libsupc++-${LIBSTDCPP_DLLVER}.dll +${TARGET}-strip libstdc++-${LIBSTDCPP_DLLVER}.dll +popd + +## MUNGE the .la files +mv libstdc++.la libstdc++.la.SAVE +cat libstdc++.la.SAVE |\ + sed -e "s/^dlname=.*\$/dlname='libstdc++-${LIBSTDCPP_DLLVER}.dll'/" \ + -e "s/^library_names=.*\$/library_names='libstdc++.dll.a'/" >\ + libstdc++.la +rm -f libstdc++.la.SAVE + +mv libsupc++.la libsupc++.la.SAVE +cat libsupc++.la.SAVE |\ + sed -e "s/^dlname=.*\$/dlname='libsupc++-${LIBSTDCPP_DLLVER}.dll'/" \ + -e "s/^library_names=.*\$/library_names='libsupc++.dll.a'/" >\ + libsupc++.la +rm -f libsupc++.la.SAVE + +popd This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 23:03:38
|
Revision: 1220 http://cegcc.svn.sourceforge.net/cegcc/?rev=1220&view=rev Author: pedroalves Date: 2009-02-07 23:03:31 +0000 (Sat, 07 Feb 2009) Log Message: ----------- * scripts: New top-level directory. Move build-mingw32ce.sh and build-cegcc.sh there. Modified Paths: -------------- trunk/cegcc/src/ChangeLog Added Paths: ----------- trunk/cegcc/src/scripts/ trunk/cegcc/src/scripts/ChangeLog trunk/cegcc/src/scripts/build-cegcc.sh trunk/cegcc/src/scripts/build-mingw32ce.sh Removed Paths: ------------- trunk/cegcc/src/build-cegcc.sh trunk/cegcc/src/build-mingw32ce.sh Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2009-02-07 22:59:03 UTC (rev 1219) +++ trunk/cegcc/src/ChangeLog 2009-02-07 23:03:31 UTC (rev 1220) @@ -1,5 +1,10 @@ 2009-02-07 Pedro Alves <ped...@us...> + * scripts: New top-level directory. Move build-mingw32ce.sh and + build-cegcc.sh there. + +2009-02-07 Pedro Alves <ped...@us...> + * VERSIONS: Update to reflect recent binutils, w32api and mingw merges from upstream. Deleted: trunk/cegcc/src/build-cegcc.sh =================================================================== --- trunk/cegcc/src/build-cegcc.sh 2009-02-07 22:59:03 UTC (rev 1219) +++ trunk/cegcc/src/build-cegcc.sh 2009-02-07 23:03:31 UTC (rev 1220) @@ -1,444 +0,0 @@ -#! /usr/bin/env bash - -BASE_DIRECTORY=`dirname $0` -BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` -ME=`basename $0` - -# -# Initializations. -# -export BUILD_DIR=`pwd` - -ac_default_prefix="/opt/cegcc" -ac_default_destdir="${BUILD_DIR}/install" - -gcc_src=gcc - -# The list of components, in build order. There's a build_FOO -# function for each of these components -COMPONENTS=( binutils bootstrap_gcc w32api newlib dummy_cegccdll gcc cegccdll cegccthrddll libstdcppdll profile docs ) -COMPONENTS_NUM=${#COMPONENTS[*]} - -# Build comma separated list of components, for user display. -for ((i=0;i<$COMPONENTS_NUM;i++)); do - if [ $i = 0 ]; then - COMPONENTS_COMMA_LIST=${COMPONENTS[${i}]} - else - COMPONENTS_COMMA_LIST="${COMPONENTS_COMMA_LIST}, ${COMPONENTS[${i}]}" - fi -done - -usage() -{ - cat << _ACEOF - -$ME builds the mingw32ce toolchain. - -Usage: $0 [OPTIONS] ... - - -h, --help print this help, then exit - --prefix=PREFIX install toolchain in PREFIX - [$ac_default_prefix] - -j, --parallelism PARALLELISM Pass PARALLELISM as -jPARALLELISM - to make invocations. - --components=LIST specify which components to build - valid components are: ${COMPONENTS_COMMA_LIST} - [all] - -Report bugs to <ceg...@li...>. -_ACEOF - -} - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - case $ac_option in - - -help | --help | --hel | --he | -h) - usage; exit 0 ;; - - -j | --parallelism | --parallelis | --paralleli | --parallel \ - | --paralle | --parall | --paral | --para | --par \ - | --pa) - ac_prev=parallelism ;; - -j=* | --parallelism=* | --parallelis=* | --paralleli=* | --parallel=* \ - | --paralle=* | --parall=* | --paral=* | --para=* | --par=* \ - | --pa=*) - parallelism=$ac_optarg ;; - -j*) - parallelism=`echo $ac_option | sed 's/-j//'` ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -components | --components | --component | --componen | \ - --compone | --compon | --compo | --comp | --com \ - | --co | --c) - ac_prev=components ;; - -components=* | --components=* | --component=* | --componen=* \ - | --compone=* | --compon=* | --compo=* | --comp=* | --com=* \ - | --co=* | --c=*) - components=$ac_optarg ;; - - -destdir | --destdir | --destdi | --destd | --dest | --des | --de | --d) - ac_prev=destdir ;; - -destdir=* | --destdir=* | --destdi=* | --destd=* | --dest=* | --des=* | --de=* | --d=*) - destdir=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - ;; - esac -done - -# We don't want no errors from here on. -set -e - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -if [ "x${prefix}" != "x" ]; then - export PREFIX="${prefix}" -else - export PREFIX=${ac_default_prefix} -fi - -# Figure out what components where requested to be built. -if test x"${components+set}" != xset; then - components=all -else - if test x"${components}" = x || - test x"${components}" = xyes; - then - echo --components needs at least one argument 1>&2 - exit 1 - fi -fi - -if [ "x${parallelism}" != "x" ]; then - PARALLELISM="-j${parallelism}" -else - PARALLELISM= -fi - -# embedded tabs in the sed below -- do not untabify -components=`echo "${components}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` - -# Don't build in source directory, it will clobber things and cleanup is hard. -if [ -d ${BUILD_DIR}/.svn ]; then - echo "Don't build in a source directory, please create an empty directory and build there." - echo "Example :" - echo " mkdir build-mingw32ce" - echo " cd build-mingw32ce" - echo " sh ../build-mingw32ce.sh $@" - exit 1 -fi - -build_binutils() -{ - echo "" - echo "BUILDING BINUTILS --------------------------" - echo "" - echo "" - mkdir -p binutils - cd binutils - ${BASE_DIRECTORY}/binutils/configure \ - --prefix=${PREFIX} \ - --target=${TARGET} \ - --disable-nls - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_dummy_cegccdll() -{ - echo "" - echo "Building dummy libcegcc.dll.a ----------------------" - echo "" - echo "" - - cd ${BASE_DIRECTORY}/cegcc/fakecegccdll - - sh ./install.sh ${PREFIX} - - cd ${BUILD_DIR} -} - -build_bootstrap_gcc() -{ - mkdir -p gcc-bootstrap - cd gcc-bootstrap - - ${BASE_DIRECTORY}/${gcc_src}/configure \ - --with-gcc \ - --with-gnu-ld \ - --with-gnu-as \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - --disable-threads \ - --disable-nls \ - --enable-languages=c \ - --disable-win32-registry \ - --disable-multilib \ - --disable-shared \ - --disable-interwork \ - --without-newlib \ - --enable-checking - - make ${PARALLELISM} all-gcc - make install-gcc - - cd ${BUILD_DIR} -} - -build_w32api() -{ - mkdir -p w32api - cd w32api - - ${BASE_DIRECTORY}/w32api/configure \ - --host=${TARGET} \ - --prefix=${PREFIX} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_gcc() -{ - mkdir -p gcc - cd gcc - - ${BASE_DIRECTORY}/${gcc_src}/configure \ - --with-gcc \ - --with-gnu-ld \ - --with-gnu-as \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - --enable-threads=win32 \ - --disable-nls \ - --enable-languages=c,c++ \ - --disable-win32-registry \ - --disable-multilib \ - --disable-interwork \ - --without-newlib \ - --enable-checking \ - --with-headers - -# we build libstdc++ as dll, so we don't need this. -# --enable-fully-dynamic-string \ - -# --disable-clocale \ - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_newlib() -{ - echo "" - echo "Building newlib. --------------------------" - echo "" - echo "" - - mkdir -p newlib - cd newlib - - ${BASE_DIRECTORY}/newlib/configure \ - --target=${TARGET} \ - --prefix=${PREFIX} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_cegccdll() -{ - echo "" - echo "Building cegcc.dll --------------------------" - echo "" - echo "" - - cd ${BASE_DIRECTORY}/cegcc/cegccdll - make - make install - - cd ${BUILD_DIR} -} - -build_cegccthrddll() -{ - echo "" - echo "Building cegccthrd.dll --------------------------" - echo "" - echo "" - - cd ${BASE_DIRECTORY}/cegcc/cegccthrd - make - make install - - cd ${BUILD_DIR} -} - -build_libstdcppdll() -{ - echo "" - echo "Building libstdc++.dll --------------------------" - echo "" - echo "" - - cd ${BASE_DIRECTORY}/cegcc/libstdc++ - make - make install - - cd ${BUILD_DIR} -} - -build_profile() -{ - echo "" - echo "BUILDING profiling libraries --------------------------" - echo "" - echo "" - - mkdir -p ${BUILD_DIR}/profile - cd ${BUILD_DIR}/profile - - ${BASE_DIRECTORY}/profile/configure \ - --build=${BUILD} \ - --host=${TARGET} \ - --target=${TARGET} \ - --prefix=${PREFIX} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_docs() -{ - echo "" - echo "INSTALLING documentation --------------------------" - echo "" - echo "" - - mkdir -p ${PREFIX}/share/docs - mkdir -p ${PREFIX}/share/images - - cd ${BASE_DIRECTORY}/../docs - tar cf - . | (cd ${PREFIX}/share/docs; tar xf -) - cd ${BASE_DIRECTORY}/../website - tar cf - images | (cd ${PREFIX}/share; tar xf -) - - cd ${BASE_DIRECTORY}/.. - cp NEWS README ${PREFIX} - cp src/binutils/COPYING ${PREFIX} - cp src/binutils/COPYING.LIB ${PREFIX} - cp src/binutils/COPYING.NEWLIB ${PREFIX} - - cd ${BUILD_DIR} -} - -build_all() -{ - for ((i=0;i<$COMPONENTS_NUM;i++)); do - comp=${COMPONENTS[${i}]} - build_$comp - done -} - -split_components=`echo "${components}" | sed -e 's/,/ /g'` - -# check for valid options before trying to build them all. -eval "set -- $split_components" -while [ -n "$1" ]; do - if [ "$1" != "all" ]; then - found=false - for ((i=0;i<$COMPONENTS_NUM;i++)); do - if [ "${COMPONENTS[${i}]}" = "$1" ]; then - found=true - fi - done - if [ $found = false ] ; then - echo "Please enter a valid build option." - exit 1 - fi - fi - - shift -done - -export TARGET="arm-cegcc" -export BUILD=`sh ${BASE_DIRECTORY}/gcc/config.guess` -export PATH=${PREFIX}/bin:${PATH} - -echo "Building cegcc:" -echo "source: ${BASE_DIRECTORY}" -echo "building in: ${BUILD_DIR}" -echo "prefix: ${PREFIX}" -echo "components: ${components}" - -mkdir -p ${BUILD_DIR} -mkdir -p ${PREFIX} - -# Now actually build them. -eval "set -- $split_components" -while [ -n "$1" ]; do - build_${1} - shift -done - -echo "" -echo "DONE --------------------------" -echo "" -echo "" Deleted: trunk/cegcc/src/build-mingw32ce.sh =================================================================== --- trunk/cegcc/src/build-mingw32ce.sh 2009-02-07 22:59:03 UTC (rev 1219) +++ trunk/cegcc/src/build-mingw32ce.sh 2009-02-07 23:03:31 UTC (rev 1220) @@ -1,468 +0,0 @@ -#! /usr/bin/env bash - -BASE_DIRECTORY=`dirname $0` -BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` -ME=`basename $0` - -# FIXME: some components need this (mingwdll), but they shouldn't. -export BASE_DIRECTORY - -# -# Initializations. -# -export BUILD_DIR=`pwd` - -ac_default_prefix="/opt/mingw32ce" - -gcc_src=gcc - -# The list of components, in build order. There's a build_FOO -# function for each of these components -COMPONENTS=( binutils bootstrap_gcc mingw w32api gcc profile dlls docs ) -COMPONENTS_NUM=${#COMPONENTS[*]} - -# Build comma separated list of components, for user display. -for ((i=0;i<$COMPONENTS_NUM;i++)); do - if [ $i = 0 ]; then - COMPONENTS_COMMA_LIST=${COMPONENTS[${i}]} - else - COMPONENTS_COMMA_LIST="${COMPONENTS_COMMA_LIST}, ${COMPONENTS[${i}]}" - fi -done - -usage() -{ - cat << _ACEOF - -$ME builds the mingw32ce toolchain. - -Usage: $0 [OPTIONS] ... - - -h, --help print this help, then exit - --prefix=PREFIX install toolchain in PREFIX - [$ac_default_prefix] - -j, --parallelism PARALLELISM Pass PARALLELISM as -jPARALLELISM - to make invocations. - --components=LIST specify which components to build - valid components are: ${COMPONENTS_COMMA_LIST} - [all] - -Report bugs to <ceg...@li...>. -_ACEOF - -} - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - case $ac_option in - - -help | --help | --hel | --he | -h) - usage; exit 0 ;; - - -j | --parallelism | --parallelis | --paralleli | --parallel \ - | --paralle | --parall | --paral | --para | --par \ - | --pa) - ac_prev=parallelism ;; - -j=* | --parallelism=* | --parallelis=* | --paralleli=* | --parallel=* \ - | --paralle=* | --parall=* | --paral=* | --para=* | --par=* \ - | --pa=*) - parallelism=$ac_optarg ;; - -j*) - parallelism=`echo $ac_option | sed 's/-j//'` ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -components | --components | --component | --componen | \ - --compone | --compon | --compo | --comp | --com \ - | --co | --c) - ac_prev=components ;; - -components=* | --components=* | --component=* | --componen=* \ - | --compone=* | --compon=* | --compo=* | --comp=* | --com=* \ - | --co=* | --c=*) - components=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - - *) - ;; - esac -done - -# We don't want no errors from here on. -set -e - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -if [ "x${prefix}" != "x" ]; then - export PREFIX="${prefix}" -else - export PREFIX=${ac_default_prefix} -fi - -# Figure out what components where requested to be built. -if test x"${components+set}" != xset; then - components=all -else - if test x"${components}" = x || - test x"${components}" = xyes; - then - echo --components needs at least one argument 1>&2 - exit 1 - fi -fi - -if [ "x${parallelism}" != "x" ]; then - PARALLELISM="-j${parallelism}" -else - PARALLELISM= -fi - -# embedded tabs in the sed below -- do not untabify -components=`echo "${components}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` - -# Don't build in source directory, it will clobber things and cleanup is hard. -if [ -d ${BUILD_DIR}/.svn ]; then - echo "Don't build in a source directory, please create an empty directory and build there." - echo "Example :" - echo " mkdir build-mingw32ce" - echo " cd build-mingw32ce" - echo " sh ../build-mingw32ce.sh $@" - exit 1 -fi - -build_binutils() -{ - echo "" - echo "BUILDING BINUTILS --------------------------" - echo "" - echo "" - mkdir -p binutils - cd binutils - ${BASE_DIRECTORY}/binutils/configure \ - --prefix=${PREFIX} \ - --target=${TARGET} \ - --disable-nls - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_bootstrap_gcc() -{ - mkdir -p gcc-bootstrap - cd gcc-bootstrap - - ${BASE_DIRECTORY}/${gcc_src}/configure \ - --with-gcc \ - --with-gnu-ld \ - --with-gnu-as \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - --disable-threads \ - --disable-nls \ - --enable-languages=c \ - --disable-win32-registry \ - --disable-multilib \ - --disable-shared \ - --disable-interwork \ - --without-newlib \ - --enable-checking - - make ${PARALLELISM} all-gcc - make install-gcc - - cd ${BUILD_DIR} -} - -build_w32api() -{ - mkdir -p w32api - cd w32api - - ${BASE_DIRECTORY}/w32api/configure \ - --host=${TARGET} \ - --prefix=${PREFIX} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_mingw() -{ - mkdir -p mingw - cd mingw - ${BASE_DIRECTORY}/mingw/configure \ - --build=${BUILD} \ - --host=${TARGET} \ - --target=${TARGET} \ - --prefix=${PREFIX} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_gcc() -{ - mkdir -p gcc - cd gcc - - ${BASE_DIRECTORY}/${gcc_src}/configure \ - --with-gcc \ - --with-gnu-ld \ - --with-gnu-as \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - --enable-threads=win32 \ - --disable-nls \ - --enable-languages=c,c++ \ - --disable-win32-registry \ - --disable-multilib \ - --disable-interwork \ - --without-newlib \ - --enable-checking \ - --with-headers - -# we build libstdc++ as dll, so we don't need this. -# --enable-fully-dynamic-string \ - -# --disable-clocale \ - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_gdb() -{ - echo "" - echo "BUILDING GDB --------------------------" - echo "" - echo "" - - mkdir -p gdb - cd gdb - - ${BASE_DIRECTORY}/gdb/configure \ - --with-gcc \ - --with-gnu-ld \ - --with-gnu-as \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - --disable-nls \ - --disable-win32-registry \ - --disable-multilib \ - --disable-interwork \ - --enable-checking - - export CFLAGS=${PREV_CFLAGS} - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_gdbserver() -{ - echo "" - echo "BUILDING gdbserver --------------------------" - echo "" - echo "" - - mkdir -p gdbserver - cd gdbserver - - ${BASE_DIRECTORY}/gdb/gdbserver/configure \ - --target=${TARGET} \ - --host=${TARGET} \ - --prefix=${PREFIX} \ - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -build_docs() -{ - echo "" - echo "INSTALLING documentation --------------------------" - echo "" - echo "" - - mkdir -p ${PREFIX}/share/docs - mkdir -p ${PREFIX}/share/images - - cd ${BASE_DIRECTORY}/../docs - tar cf - . | (cd ${PREFIX}/share/docs; tar xf -) - cd ${BASE_DIRECTORY}/../website - tar cf - images | (cd ${PREFIX}/share; tar xf -) - - cd ${BASE_DIRECTORY}/.. - cp NEWS README ${PREFIX} - cp src/binutils/COPYING ${PREFIX} - cp src/binutils/COPYING.LIB ${PREFIX} - cp src/newlib/COPYING.NEWLIB ${PREFIX} - - cd ${BUILD_DIR} -} - -build_profile() -{ - echo "" - echo "BUILDING profiling libraries --------------------------" - echo "" - echo "" - - mkdir -p profile - cd profile - - ${BASE_DIRECTORY}/profile/configure \ - --build=${BUILD} \ - --host=${TARGET} \ - --target=${TARGET} \ - --prefix=${PREFIX} \ - || exit - - make ${PARALLELISM} - make install - - cd ${BUILD_DIR} -} - -obuild_dlls() -{ - echo "" - echo "BUILDING DLL libraries --------------------------" - echo "" - echo "" - - cd ${BUILD_DIR} - - mkdir -p dll - cd dll - - cd ${BASE_DIRECTORY} - ${BASE_DIRECTORY}/build-mingw32ce-dlls.sh - - cd ${BUILD_DIR} -} - -build_dlls() -{ - echo "" - echo "BUILDING DLL libraries --------------------------" - echo "" - echo "" - - cd ${BUILD_DIR} - - cd ${BASE_DIRECTORY}/mingwdll - make - make install - - cd ${BUILD_DIR} -} - -build_all() -{ - for ((i=0;i<$COMPONENTS_NUM;i++)); do - comp=${COMPONENTS[${i}]} - build_$comp - done -} - -split_components=`echo "${components}" | sed -e 's/,/ /g'` - -# check for valid options before trying to build them all. -eval "set -- $split_components" -while [ -n "$1" ]; do - if [ "$1" != "all" ]; then - found=false - for ((i=0;i<$COMPONENTS_NUM;i++)); do - if [ "${COMPONENTS[${i}]}" = "$1" ]; then - found=true - fi - done - if [ $found = false ] ; then - echo "Please enter a valid build option." - exit 1 - fi - fi - - shift -done - -export TARGET="arm-mingw32ce" -#export TARGET="arm-wince-mingw32ce" -export BUILD=`sh ${BASE_DIRECTORY}/gcc/config.guess` -export PATH=${PREFIX}/bin:${PATH} - -echo "Building mingw32ce:" -echo "source: ${BASE_DIRECTORY}" -echo "building in: ${BUILD_DIR}" -echo "prefix: ${PREFIX}" -echo "components: ${components}" - -mkdir -p ${BUILD_DIR} -mkdir -p ${PREFIX} - -# Now actually build them. -eval "set -- $split_components" -while [ -n "$1" ]; do - build_${1} - shift -done - -echo "" -echo "DONE --------------------------" -echo "" -echo "" Property changes on: trunk/cegcc/src/scripts/ChangeLog ___________________________________________________________________ Added: svn:eol-style + native Copied: trunk/cegcc/src/scripts/build-cegcc.sh (from rev 1195, trunk/cegcc/src/build-cegcc.sh) =================================================================== --- trunk/cegcc/src/scripts/build-cegcc.sh (rev 0) +++ trunk/cegcc/src/scripts/build-cegcc.sh 2009-02-07 23:03:31 UTC (rev 1220) @@ -0,0 +1,444 @@ +#! /usr/bin/env bash + +BASE_DIRECTORY=`dirname $0` +BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` +ME=`basename $0` + +# +# Initializations. +# +export BUILD_DIR=`pwd` + +ac_default_prefix="/opt/cegcc" +ac_default_destdir="${BUILD_DIR}/install" + +gcc_src=gcc + +# The list of components, in build order. There's a build_FOO +# function for each of these components +COMPONENTS=( binutils bootstrap_gcc w32api newlib dummy_cegccdll gcc cegccdll cegccthrddll libstdcppdll profile docs ) +COMPONENTS_NUM=${#COMPONENTS[*]} + +# Build comma separated list of components, for user display. +for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ $i = 0 ]; then + COMPONENTS_COMMA_LIST=${COMPONENTS[${i}]} + else + COMPONENTS_COMMA_LIST="${COMPONENTS_COMMA_LIST}, ${COMPONENTS[${i}]}" + fi +done + +usage() +{ + cat << _ACEOF + +$ME builds the mingw32ce toolchain. + +Usage: $0 [OPTIONS] ... + + -h, --help print this help, then exit + --prefix=PREFIX install toolchain in PREFIX + [$ac_default_prefix] + -j, --parallelism PARALLELISM Pass PARALLELISM as -jPARALLELISM + to make invocations. + --components=LIST specify which components to build + valid components are: ${COMPONENTS_COMMA_LIST} + [all] + +Report bugs to <ceg...@li...>. +_ACEOF + +} + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + case $ac_option in + + -help | --help | --hel | --he | -h) + usage; exit 0 ;; + + -j | --parallelism | --parallelis | --paralleli | --parallel \ + | --paralle | --parall | --paral | --para | --par \ + | --pa) + ac_prev=parallelism ;; + -j=* | --parallelism=* | --parallelis=* | --paralleli=* | --parallel=* \ + | --paralle=* | --parall=* | --paral=* | --para=* | --par=* \ + | --pa=*) + parallelism=$ac_optarg ;; + -j*) + parallelism=`echo $ac_option | sed 's/-j//'` ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -components | --components | --component | --componen | \ + --compone | --compon | --compo | --comp | --com \ + | --co | --c) + ac_prev=components ;; + -components=* | --components=* | --component=* | --componen=* \ + | --compone=* | --compon=* | --compo=* | --comp=* | --com=* \ + | --co=* | --c=*) + components=$ac_optarg ;; + + -destdir | --destdir | --destdi | --destd | --dest | --des | --de | --d) + ac_prev=destdir ;; + -destdir=* | --destdir=* | --destdi=* | --destd=* | --dest=* | --des=* | --de=* | --d=*) + destdir=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + ;; + esac +done + +# We don't want no errors from here on. +set -e + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +if [ "x${prefix}" != "x" ]; then + export PREFIX="${prefix}" +else + export PREFIX=${ac_default_prefix} +fi + +# Figure out what components where requested to be built. +if test x"${components+set}" != xset; then + components=all +else + if test x"${components}" = x || + test x"${components}" = xyes; + then + echo --components needs at least one argument 1>&2 + exit 1 + fi +fi + +if [ "x${parallelism}" != "x" ]; then + PARALLELISM="-j${parallelism}" +else + PARALLELISM= +fi + +# embedded tabs in the sed below -- do not untabify +components=`echo "${components}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` + +# Don't build in source directory, it will clobber things and cleanup is hard. +if [ -d ${BUILD_DIR}/.svn ]; then + echo "Don't build in a source directory, please create an empty directory and build there." + echo "Example :" + echo " mkdir build-mingw32ce" + echo " cd build-mingw32ce" + echo " sh ../build-mingw32ce.sh $@" + exit 1 +fi + +build_binutils() +{ + echo "" + echo "BUILDING BINUTILS --------------------------" + echo "" + echo "" + mkdir -p binutils + cd binutils + ${BASE_DIRECTORY}/binutils/configure \ + --prefix=${PREFIX} \ + --target=${TARGET} \ + --disable-nls + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_dummy_cegccdll() +{ + echo "" + echo "Building dummy libcegcc.dll.a ----------------------" + echo "" + echo "" + + cd ${BASE_DIRECTORY}/cegcc/fakecegccdll + + sh ./install.sh ${PREFIX} + + cd ${BUILD_DIR} +} + +build_bootstrap_gcc() +{ + mkdir -p gcc-bootstrap + cd gcc-bootstrap + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --disable-threads \ + --disable-nls \ + --enable-languages=c \ + --disable-win32-registry \ + --disable-multilib \ + --disable-shared \ + --disable-interwork \ + --without-newlib \ + --enable-checking + + make ${PARALLELISM} all-gcc + make install-gcc + + cd ${BUILD_DIR} +} + +build_w32api() +{ + mkdir -p w32api + cd w32api + + ${BASE_DIRECTORY}/w32api/configure \ + --host=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gcc() +{ + mkdir -p gcc + cd gcc + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --enable-threads=win32 \ + --disable-nls \ + --enable-languages=c,c++ \ + --disable-win32-registry \ + --disable-multilib \ + --disable-interwork \ + --without-newlib \ + --enable-checking \ + --with-headers + +# we build libstdc++ as dll, so we don't need this. +# --enable-fully-dynamic-string \ + +# --disable-clocale \ + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_newlib() +{ + echo "" + echo "Building newlib. --------------------------" + echo "" + echo "" + + mkdir -p newlib + cd newlib + + ${BASE_DIRECTORY}/newlib/configure \ + --target=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_cegccdll() +{ + echo "" + echo "Building cegcc.dll --------------------------" + echo "" + echo "" + + cd ${BASE_DIRECTORY}/cegcc/cegccdll + make + make install + + cd ${BUILD_DIR} +} + +build_cegccthrddll() +{ + echo "" + echo "Building cegccthrd.dll --------------------------" + echo "" + echo "" + + cd ${BASE_DIRECTORY}/cegcc/cegccthrd + make + make install + + cd ${BUILD_DIR} +} + +build_libstdcppdll() +{ + echo "" + echo "Building libstdc++.dll --------------------------" + echo "" + echo "" + + cd ${BASE_DIRECTORY}/cegcc/libstdc++ + make + make install + + cd ${BUILD_DIR} +} + +build_profile() +{ + echo "" + echo "BUILDING profiling libraries --------------------------" + echo "" + echo "" + + mkdir -p ${BUILD_DIR}/profile + cd ${BUILD_DIR}/profile + + ${BASE_DIRECTORY}/profile/configure \ + --build=${BUILD} \ + --host=${TARGET} \ + --target=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_docs() +{ + echo "" + echo "INSTALLING documentation --------------------------" + echo "" + echo "" + + mkdir -p ${PREFIX}/share/docs + mkdir -p ${PREFIX}/share/images + + cd ${BASE_DIRECTORY}/../docs + tar cf - . | (cd ${PREFIX}/share/docs; tar xf -) + cd ${BASE_DIRECTORY}/../website + tar cf - images | (cd ${PREFIX}/share; tar xf -) + + cd ${BASE_DIRECTORY}/.. + cp NEWS README ${PREFIX} + cp src/binutils/COPYING ${PREFIX} + cp src/binutils/COPYING.LIB ${PREFIX} + cp src/binutils/COPYING.NEWLIB ${PREFIX} + + cd ${BUILD_DIR} +} + +build_all() +{ + for ((i=0;i<$COMPONENTS_NUM;i++)); do + comp=${COMPONENTS[${i}]} + build_$comp + done +} + +split_components=`echo "${components}" | sed -e 's/,/ /g'` + +# check for valid options before trying to build them all. +eval "set -- $split_components" +while [ -n "$1" ]; do + if [ "$1" != "all" ]; then + found=false + for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ "${COMPONENTS[${i}]}" = "$1" ]; then + found=true + fi + done + if [ $found = false ] ; then + echo "Please enter a valid build option." + exit 1 + fi + fi + + shift +done + +export TARGET="arm-cegcc" +export BUILD=`sh ${BASE_DIRECTORY}/gcc/config.guess` +export PATH=${PREFIX}/bin:${PATH} + +echo "Building cegcc:" +echo "source: ${BASE_DIRECTORY}" +echo "building in: ${BUILD_DIR}" +echo "prefix: ${PREFIX}" +echo "components: ${components}" + +mkdir -p ${BUILD_DIR} +mkdir -p ${PREFIX} + +# Now actually build them. +eval "set -- $split_components" +while [ -n "$1" ]; do + build_${1} + shift +done + +echo "" +echo "DONE --------------------------" +echo "" +echo "" Copied: trunk/cegcc/src/scripts/build-mingw32ce.sh (from rev 1195, trunk/cegcc/src/build-mingw32ce.sh) =================================================================== --- trunk/cegcc/src/scripts/build-mingw32ce.sh (rev 0) +++ trunk/cegcc/src/scripts/build-mingw32ce.sh 2009-02-07 23:03:31 UTC (rev 1220) @@ -0,0 +1,468 @@ +#! /usr/bin/env bash + +BASE_DIRECTORY=`dirname $0` +BASE_DIRECTORY=`(cd ${BASE_DIRECTORY}; pwd)` +ME=`basename $0` + +# FIXME: some components need this (mingwdll), but they shouldn't. +export BASE_DIRECTORY + +# +# Initializations. +# +export BUILD_DIR=`pwd` + +ac_default_prefix="/opt/mingw32ce" + +gcc_src=gcc + +# The list of components, in build order. There's a build_FOO +# function for each of these components +COMPONENTS=( binutils bootstrap_gcc mingw w32api gcc profile dlls docs ) +COMPONENTS_NUM=${#COMPONENTS[*]} + +# Build comma separated list of components, for user display. +for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ $i = 0 ]; then + COMPONENTS_COMMA_LIST=${COMPONENTS[${i}]} + else + COMPONENTS_COMMA_LIST="${COMPONENTS_COMMA_LIST}, ${COMPONENTS[${i}]}" + fi +done + +usage() +{ + cat << _ACEOF + +$ME builds the mingw32ce toolchain. + +Usage: $0 [OPTIONS] ... + + -h, --help print this help, then exit + --prefix=PREFIX install toolchain in PREFIX + [$ac_default_prefix] + -j, --parallelism PARALLELISM Pass PARALLELISM as -jPARALLELISM + to make invocations. + --components=LIST specify which components to build + valid components are: ${COMPONENTS_COMMA_LIST} + [all] + +Report bugs to <ceg...@li...>. +_ACEOF + +} + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + case $ac_option in + + -help | --help | --hel | --he | -h) + usage; exit 0 ;; + + -j | --parallelism | --parallelis | --paralleli | --parallel \ + | --paralle | --parall | --paral | --para | --par \ + | --pa) + ac_prev=parallelism ;; + -j=* | --parallelism=* | --parallelis=* | --paralleli=* | --parallel=* \ + | --paralle=* | --parall=* | --paral=* | --para=* | --par=* \ + | --pa=*) + parallelism=$ac_optarg ;; + -j*) + parallelism=`echo $ac_option | sed 's/-j//'` ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -components | --components | --component | --componen | \ + --compone | --compon | --compo | --comp | --com \ + | --co | --c) + ac_prev=components ;; + -components=* | --components=* | --component=* | --componen=* \ + | --compone=* | --compon=* | --compo=* | --comp=* | --com=* \ + | --co=* | --c=*) + components=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + ;; + esac +done + +# We don't want no errors from here on. +set -e + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +if [ "x${prefix}" != "x" ]; then + export PREFIX="${prefix}" +else + export PREFIX=${ac_default_prefix} +fi + +# Figure out what components where requested to be built. +if test x"${components+set}" != xset; then + components=all +else + if test x"${components}" = x || + test x"${components}" = xyes; + then + echo --components needs at least one argument 1>&2 + exit 1 + fi +fi + +if [ "x${parallelism}" != "x" ]; then + PARALLELISM="-j${parallelism}" +else + PARALLELISM= +fi + +# embedded tabs in the sed below -- do not untabify +components=`echo "${components}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'` + +# Don't build in source directory, it will clobber things and cleanup is hard. +if [ -d ${BUILD_DIR}/.svn ]; then + echo "Don't build in a source directory, please create an empty directory and build there." + echo "Example :" + echo " mkdir build-mingw32ce" + echo " cd build-mingw32ce" + echo " sh ../build-mingw32ce.sh $@" + exit 1 +fi + +build_binutils() +{ + echo "" + echo "BUILDING BINUTILS --------------------------" + echo "" + echo "" + mkdir -p binutils + cd binutils + ${BASE_DIRECTORY}/binutils/configure \ + --prefix=${PREFIX} \ + --target=${TARGET} \ + --disable-nls + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_bootstrap_gcc() +{ + mkdir -p gcc-bootstrap + cd gcc-bootstrap + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --disable-threads \ + --disable-nls \ + --enable-languages=c \ + --disable-win32-registry \ + --disable-multilib \ + --disable-shared \ + --disable-interwork \ + --without-newlib \ + --enable-checking + + make ${PARALLELISM} all-gcc + make install-gcc + + cd ${BUILD_DIR} +} + +build_w32api() +{ + mkdir -p w32api + cd w32api + + ${BASE_DIRECTORY}/w32api/configure \ + --host=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_mingw() +{ + mkdir -p mingw + cd mingw + ${BASE_DIRECTORY}/mingw/configure \ + --build=${BUILD} \ + --host=${TARGET} \ + --target=${TARGET} \ + --prefix=${PREFIX} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gcc() +{ + mkdir -p gcc + cd gcc + + ${BASE_DIRECTORY}/${gcc_src}/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --enable-threads=win32 \ + --disable-nls \ + --enable-languages=c,c++ \ + --disable-win32-registry \ + --disable-multilib \ + --disable-interwork \ + --without-newlib \ + --enable-checking \ + --with-headers + +# we build libstdc++ as dll, so we don't need this. +# --enable-fully-dynamic-string \ + +# --disable-clocale \ + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gdb() +{ + echo "" + echo "BUILDING GDB --------------------------" + echo "" + echo "" + + mkdir -p gdb + cd gdb + + ${BASE_DIRECTORY}/gdb/configure \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + --disable-nls \ + --disable-win32-registry \ + --disable-multilib \ + --disable-interwork \ + --enable-checking + + export CFLAGS=${PREV_CFLAGS} + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_gdbserver() +{ + echo "" + echo "BUILDING gdbserver --------------------------" + echo "" + echo "" + + mkdir -p gdbserver + cd gdbserver + + ${BASE_DIRECTORY}/gdb/gdbserver/configure \ + --target=${TARGET} \ + --host=${TARGET} \ + --prefix=${PREFIX} \ + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +build_docs() +{ + echo "" + echo "INSTALLING documentation --------------------------" + echo "" + echo "" + + mkdir -p ${PREFIX}/share/docs + mkdir -p ${PREFIX}/share/images + + cd ${BASE_DIRECTORY}/../docs + tar cf - . | (cd ${PREFIX}/share/docs; tar xf -) + cd ${BASE_DIRECTORY}/../website + tar cf - images | (cd ${PREFIX}/share; tar xf -) + + cd ${BASE_DIRECTORY}/.. + cp NEWS README ${PREFIX} + cp src/binutils/COPYING ${PREFIX} + cp src/binutils/COPYING.LIB ${PREFIX} + cp src/newlib/COPYING.NEWLIB ${PREFIX} + + cd ${BUILD_DIR} +} + +build_profile() +{ + echo "" + echo "BUILDING profiling libraries --------------------------" + echo "" + echo "" + + mkdir -p profile + cd profile + + ${BASE_DIRECTORY}/profile/configure \ + --build=${BUILD} \ + --host=${TARGET} \ + --target=${TARGET} \ + --prefix=${PREFIX} \ + || exit + + make ${PARALLELISM} + make install + + cd ${BUILD_DIR} +} + +obuild_dlls() +{ + echo "" + echo "BUILDING DLL libraries --------------------------" + echo "" + echo "" + + cd ${BUILD_DIR} + + mkdir -p dll + cd dll + + cd ${BASE_DIRECTORY} + ${BASE_DIRECTORY}/build-mingw32ce-dlls.sh + + cd ${BUILD_DIR} +} + +build_dlls() +{ + echo "" + echo "BUILDING DLL libraries --------------------------" + echo "" + echo "" + + cd ${BUILD_DIR} + + cd ${BASE_DIRECTORY}/mingwdll + make + make install + + cd ${BUILD_DIR} +} + +build_all() +{ + for ((i=0;i<$COMPONENTS_NUM;i++)); do + comp=${COMPONENTS[${i}]} + build_$comp + done +} + +split_components=`echo "${components}" | sed -e 's/,/ /g'` + +# check for valid options before trying to build them all. +eval "set -- $split_components" +while [ -n "$1" ]; do + if [ "$1" != "all" ]; then + found=false + for ((i=0;i<$COMPONENTS_NUM;i++)); do + if [ "${COMPONENTS[${i}]}" = "$1" ]; then + found=true + fi + done + if [ $found = false ] ; then + echo "Please enter a valid build option." + exit 1 + fi + fi + + shift +done + +export TARGET="arm-mingw32ce" +#export TARGET="arm-wince-mingw32ce" +export BUILD=`sh ${BASE_DIRECTORY}/gcc/config.guess` +export PATH=${PREFIX}/bin:${PATH} + +echo "Building mingw32ce:" +echo "source: ${BASE_DIRECTORY}" +echo "building in: ${BUILD_DIR}" +echo "prefix: ${PREFIX}" +echo "components: ${components}" + +mkdir -p ${BUILD_DIR} +mkdir -p ${PREFIX} + +# Now actually build them. +eval "set -- $split_components" +while [ -n "$1" ]; do + build_${1} + shift +done + +echo "" +echo "DONE --------------------------" +echo "" +echo "" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 22:59:08
|
Revision: 1219 http://cegcc.svn.sourceforge.net/cegcc/?rev=1219&view=rev Author: pedroalves Date: 2009-02-07 22:59:03 +0000 (Sat, 07 Feb 2009) Log Message: ----------- * VERSIONS: Update to reflect recent binutils, w32api and mingw merges from upstream. Modified Paths: -------------- trunk/cegcc/src/ChangeLog trunk/cegcc/src/VERSIONS Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2009-02-07 22:56:57 UTC (rev 1218) +++ trunk/cegcc/src/ChangeLog 2009-02-07 22:59:03 UTC (rev 1219) @@ -1,3 +1,8 @@ +2009-02-07 Pedro Alves <ped...@us...> + + * VERSIONS: Update to reflect recent binutils, w32api and mingw + merges from upstream. + 2008-09-30 Pedro Alves <ped...@us...> * build-cegcc.sh (COMPONENTS_NUM): Correctly get array size. Modified: trunk/cegcc/src/VERSIONS =================================================================== --- trunk/cegcc/src/VERSIONS 2009-02-07 22:56:57 UTC (rev 1218) +++ trunk/cegcc/src/VERSIONS 2009-02-07 22:59:03 UTC (rev 1219) @@ -1,24 +1,24 @@ -Versions of the subdirectories below are : +Versions of the subdirectories below are: -- gcc 4.1.0 from +- gcc 4.1.0 from + ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.0 gcc-core-4.1.0.tar.bz2 gcc-g++-4.1.0.tar.bz2 - Note : gcc-4.3.2 is added to the source tree as src/gcc-4.3.2, - it's not the default build yet. - - newlib 1.14.0 + ftp://sources.redhat.com/pub/newlib/index.html ftp://sources.redhat.com/pub/newlib/newlib-1.14.0.tar.gz - -- gdb : there is no longer a gdb source in our tree. - We can use the gdb version from the GNU distribution sites without change. - -- binutils from CVS (latest update: 8 January 2008) -- w32api from cvs, 5 February 2007 - cvs -d :pserver:an...@cy...:/cvs/src/winsup/w32api ... +- binutils from cvs, 4 February 2009 -- mingw from cvs, 5 February 2007 - cvs -d :pserver:an...@cy...:/cvs/src/winsup/mingw ... + cvs -d :pserver:an...@so...:/cvs/src ... + +- w32api from cvs, 6 February 2009 + + cvs -d :pserver:an...@cy...:/cvs/src/winsup/w32api ... + +- mingw from cvs, 6 February 2009 + + cvs -d :pserver:an...@cy...:/cvs/src/winsup/mingw ... This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2009-02-07 22:57:05
|
Revision: 1218 http://cegcc.svn.sourceforge.net/cegcc/?rev=1218&view=rev Author: pedroalves Date: 2009-02-07 22:56:57 +0000 (Sat, 07 Feb 2009) Log Message: ----------- Looks like I had forgotten to check this in. Modified Paths: -------------- trunk/cegcc/src/ChangeLog Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2009-02-07 22:39:21 UTC (rev 1217) +++ trunk/cegcc/src/ChangeLog 2009-02-07 22:56:57 UTC (rev 1218) @@ -1,3 +1,8 @@ +2008-09-30 Pedro Alves <ped...@us...> + + * build-cegcc.sh (COMPONENTS_NUM): Correctly get array size. + * build-mingw32ce.sh (COMPONENTS_NUM): Likewise. + 2008-09-26 Pedro Alves <ped...@us...> * build-cegcc.sh (build_bootstrap_gcc): Remove unneeded This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |