diff -u -r /var/tmp/uppsrc/Core/Core.h /Users/lundman/src/upp/uppsrc/Core/Core.h --- /var/tmp/uppsrc/Core/Core.h 2006-09-13 13:23:44.000000000 +0900 +++ /Users/lundman/src/upp/uppsrc/Core/Core.h 2006-12-15 20:33:32.000000000 +0900 @@ -77,6 +77,19 @@ #endif #endif +#ifdef flagOSX11 + #define PLATFORM_OSX11 + #define PLATFORM_POSIX + #ifdef flagGUI + #define PLATFORM_X11 + #endif + + #ifdef flagTESTLEAKS + #define TESTLEAKS + #endif + +#endif + #if defined(flagWIN) || defined(flagWIN32) #define PLATFORM_WIN32 #ifdef __CYGWIN__ diff -u -r /var/tmp/uppsrc/ide/Builders/CppBuilder.cpp /Users/lundman/src/upp/uppsrc/ide/Builders/CppBuilder.cpp --- /var/tmp/uppsrc/ide/Builders/CppBuilder.cpp 2006-10-16 08:55:34.000000000 +0900 +++ /Users/lundman/src/upp/uppsrc/ide/Builders/CppBuilder.cpp 2006-12-18 10:16:25.000000000 +0900 @@ -429,8 +429,13 @@ if(HasFlag("DEBUG") || HasFlag("DEBUG_MINIMAL") || HasFlag("DEBUG_FULL")) lnk << " -ggdb"; else - lnk << " -Wl,-s"; - lnk << " $(LIBPATH) -Wl,-O,2 $(LINKOPTIONS)"; + lnk << (!HasFlag("OSX11") ? " -Wl,-s" : ""); + + lnk << " $(LIBPATH)"; + if (!HasFlag("OSX11")) + lnk << " -Wl,-O,2"; + lnk << " $(LINKOPTIONS)"; + makefile.linkfiles = lnk; } @@ -505,7 +510,7 @@ } if(main) { - if(!HasFlag("SOLARIS")) + if(!HasFlag("SOLARIS")&&!HasFlag("OSX11")) makefile.linkfiles << " \\\n\t\t-Wl,--start-group "; for(int i = 0; i < all_libraries.GetCount(); i++) { String ln = all_libraries[i]; @@ -515,7 +520,7 @@ else makefile.linkfileend << " \\\n\t\t\t-l" << ln; } - if(!HasFlag("SOLARIS")) + if(!HasFlag("SOLARIS")&&!HasFlag("OSX11")) makefile.linkfileend << " \\\n\t\t-Wl,--end-group\n\n"; } } diff -u -r /var/tmp/uppsrc/ide/Builders/GccBuilder.cpp /Users/lundman/src/upp/uppsrc/ide/Builders/GccBuilder.cpp --- /var/tmp/uppsrc/ide/Builders/GccBuilder.cpp 2006-11-19 19:04:28.000000000 +0900 +++ /Users/lundman/src/upp/uppsrc/ide/Builders/GccBuilder.cpp 2006-12-18 11:06:56.000000000 +0900 @@ -137,6 +137,13 @@ cc << ' ' << Gather(pkg.option, config.GetKeys()); cc << " -fexceptions "; + if (HasFlag("OSX11")) { + if (HasFlag("PPC")) + cc << " -arch ppc"; + if (HasFlag("X86")) + cc << " -arch i386"; + } + String cc_speed = cc; bool release = false; @@ -382,18 +389,27 @@ if(HasFlag("DEBUG") || HasFlag("DEBUG_MINIMAL") || HasFlag("DEBUG_FULL")) lnk << " -ggdb"; else - lnk << " -Wl,-s"; + lnk << (!HasFlag("OSX11") ? " -Wl,-s" : ""); for(i = 0; i < libpath.GetCount(); i++) lnk << " -L" << GetHostPathQ(libpath[i]); // lnk << " -Wl,--gc-sections,-O,2 "; - lnk << " -Wl,-O,2 "; // CXL 05/11/14 --gc-sections causing trouble on ubuntu + if (!HasFlag("OSX11")) + lnk << " -Wl,-O,2 "; // CXL 05/11/14 --gc-sections causing trouble on ubuntu lnk << linkoptions; + + if (HasFlag("OSX11")) { + if (HasFlag("PPC")) + lnk << " -arch ppc"; + if (HasFlag("X86")) + lnk << " -arch i386"; + } + for(i = 0; i < linkfile.GetCount(); i++) if(ToLower(GetFileExt(linkfile[i])) == ".o") lnk << ' ' << GetHostPathQ(linkfile[i]); else lib.Add(linkfile[i]); - if(!HasFlag("SOLARIS")) + if(!HasFlag("SOLARIS")&&!HasFlag("OSX11")) lnk << " -Wl,--start-group "; for(i = 0; i < lib.GetCount(); i++) { String ln = lib[i]; @@ -403,7 +419,7 @@ else lnk << " -l" << ln; } - if(!HasFlag("SOLARIS")) + if(!HasFlag("SOLARIS")&&!HasFlag("OSX11")) lnk << " -Wl,--end-group"; PutConsole("Linking..."); CustomStep(".pre-link"); diff -u -r /var/tmp/uppsrc/ide/Host.cpp /Users/lundman/src/upp/uppsrc/ide/Host.cpp --- /var/tmp/uppsrc/ide/Host.cpp 2006-11-10 14:53:10.000000000 +0900 +++ /Users/lundman/src/upp/uppsrc/ide/Host.cpp 2006-12-18 10:20:01.000000000 +0900 @@ -275,7 +275,9 @@ #elif defined(PLATFORM_FREEBSD) cfg.Add("FREEBSD"); #elif defined(PLATFORM_SOLARIS) - cfg.Add("FREEBSD"); + cfg.Add("SOLARIS"); +#elif defined(PLATFORM_OSX11) + cfg.Add("OSX11"); #endif } diff -Ewu /var/tmp/uppsrc/plugin/bmp/bmphdr.h ~/src/upp/uppsrc/plugin/bmp/bmphdr.h --- /var/tmp/uppsrc/plugin/bmp/bmphdr.h 2006-12-06 08:38:28.000000000 +0900 +++ /Users/lundman/src/upp/uppsrc/plugin/bmp/bmphdr.h 2006-12-15 22:53:56.000000000 +0900 @@ -2,7 +2,7 @@ #define _nImage__bmp_h_ #ifdef CPU_BIG_ENDIAN -#error "Fix big endian issues!" +//#error "Fix big endian issues!" #endif #ifdef COMPILER_MSC @@ -19,9 +19,9 @@ void SwapEndian() { #ifdef CPU_BIG_ENDIAN - EndianSwap(bfType); - EndianSwap(bfSize); - EndianSwap(bfOffBits); + EndianSwap((word&)bfType); + EndianSwap((dword&)bfSize); + EndianSwap((dword&)bfOffBits); #endif } } @@ -47,17 +47,17 @@ void SwapEndian() { #ifdef CPU_BIG_ENDIAN - EndianSwap(biSize); - EndianSwap(biWidth); - EndianSwap(biHeight); - EndianSwap(biPlanes); - EndianSwap(biBitCount); - EndianSwap(biCompression); - EndianSwap(biSizeImage); - EndianSwap(biXPelsPerMeter); - EndianSwap(biYPelsPerMeter); - EndianSwap(biClrUsed); - EndianSwap(biClrImportant); + EndianSwap((dword&)biSize); + EndianSwap((dword&)biWidth); + EndianSwap((dword&)biHeight); + EndianSwap((dword&)biPlanes); + EndianSwap((dword&)biBitCount); + EndianSwap((dword&)biCompression); + EndianSwap((dword&)biSizeImage); + EndianSwap((dword&)biXPelsPerMeter); + EndianSwap((dword&)biYPelsPerMeter); + EndianSwap((dword&)biClrUsed); + EndianSwap((dword&)biClrImportant); #endif } }