Remove support for Metrowerks compiler

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
pull/209/head
Michele Calgaro 2 months ago
parent 7eccd2d016
commit 37293565c3
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -139,8 +139,6 @@ body { background: #ffffff; color: black; }
# define Q_OS_WIN64
#elif !defined(SAG_COM) &amp;&amp; (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
# define Q_OS_WIN32
#elif defined(__MWERKS__) &amp;&amp; defined(__INTEL__)
# define Q_OS_WIN32
#elif defined(__sun) || defined(sun)
# define Q_OS_SOLARIS
#elif defined(hpux) || defined(__hpux)
@ -227,7 +225,6 @@ body { background: #ffffff; color: black; }
SYM - Symantec C++ for both PC and Macintosh
MPW - MPW C++
MWERKS - Metrowerks CodeWarrior
MSVC - Microsoft Visual C/C++, Intel C++ for Windows
WAT - Watcom C++
GNU - GNU C++
@ -267,11 +264,6 @@ body { background: #ffffff; color: black; }
# define Q_NO_EXPLICIT_KEYWORD
# define Q_NO_USING_KEYWORD
#elif defined(__MWERKS__)
# define Q_CC_MWERKS
/* "explicit" recognized since 4.0d1 */
# define TQMAC_PASCAL pascal
#elif defined(_MSC_VER)
# define Q_CC_MSVC
/* proper support of bool for _MSC_VER &gt;= 1100 */

@ -1,2 +0,0 @@
This Metrowerks mkspecs is included for historical purposes. It is
UNSUPPORTED, untested, and not known to work.

@ -1,826 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?codewarrior exportversion="1.0.1" ideversion="4.2" ?>
<!DOCTYPE PROJECT [
<!ELEMENT PROJECT (TARGETLIST, TARGETORDER, GROUPLIST, DESIGNLIST?)>
<!ELEMENT TARGETLIST (TARGET+)>
<!ELEMENT TARGET (NAME, SETTINGLIST, FILELIST?, LINKORDER?, SEGMENTLIST?, OVERLAYGROUPLIST?, SUBTARGETLIST?, SUBPROJECTLIST?, FRAMEWORKLIST)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT USERSOURCETREETYPE (#PCDATA)>
<!ELEMENT PATH (#PCDATA)>
<!ELEMENT FILELIST (FILE*)>
<!ELEMENT FILE (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?, ROOTFILEREF?, FILEKIND?, FILEFLAGS?)>
<!ELEMENT PATHTYPE (#PCDATA)>
<!ELEMENT PATHROOT (#PCDATA)>
<!ELEMENT ACCESSPATH (#PCDATA)>
<!ELEMENT PATHFORMAT (#PCDATA)>
<!ELEMENT ROOTFILEREF (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
<!ELEMENT FILEKIND (#PCDATA)>
<!ELEMENT FILEFLAGS (#PCDATA)>
<!ELEMENT FILEREF (TARGETNAME?, PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
<!ELEMENT TARGETNAME (#PCDATA)>
<!ELEMENT SETTINGLIST ((SETTING|PANELDATA)+)>
<!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))>
<!ELEMENT PANELDATA (NAME, VALUE)>
<!ELEMENT VALUE (#PCDATA)>
<!ELEMENT LINKORDER (FILEREF*)>
<!ELEMENT SEGMENTLIST (SEGMENT+)>
<!ELEMENT SEGMENT (NAME, ATTRIBUTES?, FILEREF*)>
<!ELEMENT ATTRIBUTES (#PCDATA)>
<!ELEMENT OVERLAYGROUPLIST (OVERLAYGROUP+)>
<!ELEMENT OVERLAYGROUP (NAME, BASEADDRESS, OVERLAY*)>
<!ELEMENT BASEADDRESS (#PCDATA)>
<!ELEMENT OVERLAY (NAME, FILEREF*)>
<!ELEMENT SUBTARGETLIST (SUBTARGET+)>
<!ELEMENT SUBTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
<!ELEMENT SUBPROJECTLIST (SUBPROJECT+)>
<!ELEMENT SUBPROJECT (FILEREF, SUBPROJECTTARGETLIST)>
<!ELEMENT SUBPROJECTTARGETLIST (SUBPROJECTTARGET*)>
<!ELEMENT SUBPROJECTTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
<!ELEMENT FRAMEWORKLIST (FRAMEWORK+)>
<!ELEMENT FRAMEWORK (FILEREF, LIBRARYFILE?, VERSION?)>
<!ELEMENT LIBRARYFILE (FILEREF)>
<!ELEMENT VERSION (#PCDATA)>
<!ELEMENT TARGETORDER (ORDEREDTARGET|ORDEREDDESIGN)*>
<!ELEMENT ORDEREDTARGET (NAME)>
<!ELEMENT ORDEREDDESIGN (NAME, ORDEREDTARGET+)>
<!ELEMENT GROUPLIST (GROUP|FILEREF)*>
<!ELEMENT GROUP (NAME, (GROUP|FILEREF)*)>
<!ELEMENT DESIGNLIST (DESIGN+)>
<!ELEMENT DESIGN (NAME, DESIGNDATA)>
<!ELEMENT DESIGNDATA (#PCDATA)>
]>
<PROJECT>
<TARGETLIST>
<TARGET>
<NAME>$$TARGET_STEM</NAME>
<SETTINGLIST>
<!-- Settings for "Source Trees" panel -->
<SETTING><NAME>UserSourceTrees</NAME><VALUE></VALUE></SETTING>
<!-- Settings for "Access Paths" panel -->
<SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>UserSearchPaths</NAME>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
</SETTING>
<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
</SETTING>
<SETTING><NAME>SystemSearchPaths</NAME>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:usr:include:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>OS X Volume</VALUE></SETTING>
</SETTING>
<SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:usr:include:sys:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>OS X Volume</VALUE></SETTING>
</SETTING>
<SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:MSL:MSL_C:MSL_MacOS:Include:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
</SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:MSL:MSL_C++:MSL_Common:Include:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
</SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:MSL:MSL_C:MSL_Common:Include:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
</SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
$$CODEWARRIOR_DEPENDPATH
$$CODEWARRIOR_INCLUDEPATH
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:usr:lib:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>OS X Volume</VALUE></SETTING>
</SETTING>
<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:MacOS X Support:Libraries:Runtime:Libs:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
</SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>SearchPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:MSL:MSL_C++:MSL_MacOS:Lib:Mach-O:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
</SETTING>
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
$$CODEWARRIOR_FRAMEWORKPATH
</SETTING>
<!-- Settings for "Debugger Runtime" panel -->
<SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
<SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
</SETTING>
<SETTING><NAME>MWRuntimeSettings_EnvVars</NAME>
<SETTING><VALUE>TQTDIR=$$CODEWARRIOR_TQTDIR</VALUE></SETTING>
</SETTING>
<!-- Settings for "Target Settings" panel -->
<SETTING><NAME>Linker</NAME><VALUE>$$CODEWARRIOR_LINKER</VALUE></SETTING>
<SETTING><NAME>PreLinker</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>PostLinker</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Targetname</NAME><VALUE>$$TARGET_STEM</VALUE></SETTING>
<SETTING><NAME>OutputDirectory</NAME>
$$CODEWARRIOR_OUTPUT_DIR
</SETTING>
<SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
<!-- Settings for "File Mappings" panel -->
<SETTING><NAME>FileMappings</NAME>
<!--
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.mocs</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>McMoc</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.uics</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>McMoc</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
-->
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>APPL</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>Appl</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>MDYL</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>MLIB</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>MMLB</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>MPLF</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>MWCD</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>RSRC</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Rez</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.c++</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.cp</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.exp</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.pch</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.r</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Rez</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>Rez</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>docu</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>rsrc</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Rez</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.doc</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>shlb</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>PEF Import PPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.dylib</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>Lib Import Mach-O</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
</SETTING>
<SETTING>
<SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
<SETTING><NAME>FileExtension</NAME><VALUE>.moc</VALUE></SETTING>
<SETTING><NAME>Compiler</NAME><VALUE>MW C/C++ MachPPC</VALUE></SETTING>
<SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
<SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
</SETTING>
</SETTING>
<!-- Settings for "Build Extras" panel -->
<SETTING><NAME>CacheModDates</NAME><VALUE>$$CODEWARRIOR_CACHEMODDATES</VALUE></SETTING>
<SETTING><NAME>ActivateBrowser</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
<!-- Settings for "Debugger Target" panel -->
<SETTING><NAME>LogSystemMessages</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>AutoTargetDLLs</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
<SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>AltExePath</NAME>
<SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
</SETTING>
<SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
<SETTING><NAME>TempBPFunctionName</NAME><VALUE>main</VALUE></SETTING>
<SETTING><NAME>TempBPType</NAME><VALUE>false</VALUE></SETTING>
<!-- Settings for "Remote Debug" panel -->
<SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ConnectionName</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>DownloadPath</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>RemoteAppPath</NAME><VALUE></VALUE></SETTING>
<!-- Settings for "Custom Keywords" panel -->
<SETTING><NAME>CustomColor1</NAME>
<SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
<SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
</SETTING>
<SETTING><NAME>CustomColor2</NAME>
<SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
<SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
</SETTING>
<SETTING><NAME>CustomColor3</NAME>
<SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
<SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
</SETTING>
<SETTING><NAME>CustomColor4</NAME>
<SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
<SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
</SETTING>
<!-- Settings for "PPC CodeGen Mach-O" panel -->
<SETTING><NAME>MWCodeGen_MachO_structalignment</NAME><VALUE>PPC</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_tracebacktables</NAME><VALUE>Inline</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_processor</NAME><VALUE>Generic</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_readonlystrings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_profiler</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_fpcontract</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_schedule</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_peephole</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_processorspecific</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_altivec</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_vrsave</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_common</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_implicit_templates</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "C/C++ Compiler" panel -->
<SETTING><NAME>MWFrontEnd_C_cplusplus</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_checkprotos</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_arm</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_trigraphs</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_onlystdkeywords</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_enumsalwaysint</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_mpwpointerstyle</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_prefixname</NAME><VALUE>$$CODEWARRIOR_PREFIX_HEADER</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_ansistrict</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_mpwcnewline</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_wchar_type</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_enableexceptions</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_dontreusestrings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_poolstrings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_dontinline</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_useRTTI</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_multibyteaware</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_unsignedchars</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_autoinline</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_booltruefalse</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_direct_to_som</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_som_env_check</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_alwaysinline</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_inlinelevel</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_ecplusplus</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_objective_c</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFrontEnd_C_defer_codegen</NAME><VALUE>0</VALUE></SETTING>
<!-- Settings for "C/C++ Warnings" panel -->
<SETTING><NAME>MWWarning_C_warn_illpragma</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_emptydecl</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_possunwant</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_unusedvar</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_unusedarg</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_extracomma</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_pedantic</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warningerrors</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_hidevirtual</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_implicitconv</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_notinlined</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWWarning_C_warn_structclass</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<!-- Settings for "FTP Panel" panel -->
<SETTING><NAME>MWFTP_Post_hostName</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_username</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_password</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_remoteDir</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathVersion</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathType</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_PathFormat</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_tree</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_uploadDir</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ftp_port</NAME><VALUE>21</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_SendBin</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWFTP_Post_ShouldLog</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "MacOS Merge Panel" panel -->
<SETTING><NAME>MWMerge_MacOS_projectType</NAME><VALUE>$$CODEWARRIOR_TEMPLATE</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_outputName</NAME><VALUE>Merge Out</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_outputCreator</NAME><VALUE>CUTE</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_outputType</NAME><VALUE>$$CODEWARRIOR_FILETYPE</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_suppressWarning</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_copyFragments</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_copyResources</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_flattenResource</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_flatFileName</NAME><VALUE>$$TARGET_STEM.rsrc</VALUE></SETTING>
<SETTING><NAME>MWMerge_MacOS_flatFileOutputPath</NAME>
<SETTING><NAME>Path</NAME><VALUE>:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
</SETTING>
<SETTING><NAME>MWMerge_MacOS_skipResources</NAME>
<SETTING><VALUE>DLGX</VALUE></SETTING>
<SETTING><VALUE>ckid</VALUE></SETTING>
<SETTING><VALUE>Proj</VALUE></SETTING>
<SETTING><VALUE>WSPC</VALUE></SETTING>
</SETTING>
<!-- Settings for "Output Flags" panel -->
<SETTING><NAME>FileLocked</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>ResourcesMapIsReadOnly</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>PrinterDriverIsMultiFinderCompatible</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Invisible</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>HasBundle</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>NameLocked</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Stationery</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>HasCustomIcon</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Shared</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>HasBeenInited</NAME><VALUE>false</VALUE></SETTING>
<SETTING><NAME>Label</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>Comments</NAME><VALUE></VALUE></SETTING>
$$CODEWARRIOR_PACKAGER_PANEL
<!-- Settings for "PPC CodeGen" panel -->
<SETTING><NAME>MWCodeGen_PPC_structalignment</NAME><VALUE>PPC</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_tracebacktables</NAME><VALUE>None</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_processor</NAME><VALUE>Generic</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_readonlystrings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_tocdata</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_profiler</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_fpcontract</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_schedule</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_peephole</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_processorspecific</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_altivec</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_vectortocdata</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_PPC_vrsave</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "PPC CodeGen Mach-O" panel -->
<SETTING><NAME>MWCodeGen_MachO_structalignment</NAME><VALUE>PPC</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_tracebacktables</NAME><VALUE>None</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_processor</NAME><VALUE>Generic</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_readonlystrings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_profiler</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_fpcontract</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_schedule</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_peephole</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_processorspecific</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_altivec</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_vrsave</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_common</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWCodeGen_MachO_implicit_templates</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "PPC Disassembler" panel -->
<SETTING><NAME>MWDisassembler_PPC_showcode</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_extended</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_mix</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_nohex</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_showdata</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_showexceptions</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_showsym</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWDisassembler_PPC_shownames</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "PPC Global Optimizer" panel -->
<SETTING><NAME>GlobalOptimizer_PPC_optimizationlevel</NAME><VALUE>Level0</VALUE></SETTING>
<SETTING><NAME>GlobalOptimizer_PPC_optfor</NAME><VALUE>Speed</VALUE></SETTING>
<!-- Settings for "PPC Linker" panel -->
<SETTING><NAME>MWLinker_PPC_linksym</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_symfullpath</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_linkmap</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_nolinkwarnings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_dontdeadstripinitcode</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_permitmultdefs</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_linkmode</NAME><VALUE>Fast</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_initname</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_mainname</NAME><VALUE>$$CODEWARRIOR_ENTRYPOINT</VALUE></SETTING>
<SETTING><NAME>MWLinker_PPC_termname</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_twolevelnamespace</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_stripdebugsymbols</NAME><VALUE>0</VALUE></SETTING>
<!-- Settings for "PPC Mach-O Linker" panel -->
<SETTING><NAME>MWLinker_MachO_exports</NAME><VALUE>All</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_mainname</NAME><VALUE>$$CODEWARRIOR_ENTRYPOINT</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_currentversion</NAME><VALUE>$$CODEWARRIOR_VERSION</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_compatibleversion</NAME><VALUE>$$CODEWARRIOR_VERSION</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_symfullpath</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_supresswarnings</NAME><VALUE>$$!CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_multisymerror</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_prebind</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_objectivecsemantics</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_whichfileloaded</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_whyfileloaded</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_readonlyrelocs</NAME><VALUE>Errors</VALUE></SETTING>
<SETTING><NAME>MWLinker_MachO_undefinedsymbols</NAME><VALUE>Errors</VALUE></SETTING>
<!-- Settings for "PPC Mach-O Target" panel -->
<SETTING><NAME>MWProject_MachO_type</NAME><VALUE>$$CODEWARRIOR_TEMPLATE</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_outfile</NAME><VALUE>$$TARGET</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_filecreator</NAME><VALUE>CUTE</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_filetype</NAME><VALUE>$$CODEWARRIOR_FILETYPE</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_stacksize</NAME><VALUE>64</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_stackaddress</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_flatrsrc</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_flatrsrcfilename</NAME><VALUE>$$TARGET_STEM.rsrc</VALUE></SETTING>
<SETTING><NAME>MWProject_MachO_flatrsrcoutputdir</NAME>
<SETTING><NAME>Path</NAME><VALUE>:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
</SETTING>
<!-- Settings for "PPC PEF" panel -->
<SETTING><NAME>MWPEF_exports</NAME><VALUE>None</VALUE></SETTING>
<SETTING><NAME>MWPEF_libfolder</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_sortcode</NAME><VALUE>None</VALUE></SETTING>
<SETTING><NAME>MWPEF_expandbss</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_sharedata</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_olddefversion</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_oldimpversion</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_currentversion</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWPEF_fragmentname</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWPEF_collapsereloads</NAME><VALUE>1</VALUE></SETTING>
<!-- Settings for "PPC Project" panel -->
<SETTING><NAME>MWProject_PPC_type</NAME><VALUE>$$CODEWARRIOR_TEMPLATE</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_outfile</NAME><VALUE>$$TARGET</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_filecreator</NAME><VALUE>CUTE</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_filetype</NAME><VALUE>$$FILTYPE</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_size</NAME><VALUE>800</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_minsize</NAME><VALUE>600</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_stacksize</NAME><VALUE>64</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_flags</NAME><VALUE>22720</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_symfilename</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcname</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcheader</NAME><VALUE>Native</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrctype</NAME><VALUE>????</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcid</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcflags</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcstore</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_rsrcmerge</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_flatrsrc</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWProject_PPC_flatrsrcoutputdir</NAME>
<SETTING><NAME>Path</NAME><VALUE>:</VALUE></SETTING>
<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
<SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
</SETTING>
<SETTING><NAME>MWProject_PPC_flatrsrcfilename</NAME><VALUE></VALUE></SETTING>
<!-- Settings for "PPCAsm Panel" panel -->
<SETTING><NAME>MWAssembler_PPC_auxheader</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_symmode</NAME><VALUE>Mac</VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_dialect</NAME><VALUE>PPC</VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_prefixfile</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_typecheck</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_warnings</NAME><VALUE>0</VALUE></SETTING>
<SETTING><NAME>MWAssembler_PPC_casesensitive</NAME><VALUE>0</VALUE></SETTING>
<!-- Settings for "Rez Compiler" panel -->
<SETTING><NAME>MWRez_Language_maxwidth</NAME><VALUE>80</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_script</NAME><VALUE>Roman</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_alignment</NAME><VALUE>Align1</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_filtermode</NAME><VALUE>FilterSkip</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_suppresswarnings</NAME><VALUE>$$CODEWARRIOR_WARNING</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_escapecontrolchars</NAME><VALUE>1</VALUE></SETTING>
<SETTING><NAME>MWRez_Language_prefixname</NAME><VALUE></VALUE></SETTING>
<SETTING><NAME>MWRez_Language_filteredtypes</NAME><VALUE>'CODE' 'DATA' 'PICT'</VALUE></SETTING>
</SETTINGLIST>
<FILELIST>
$$CODEWARRIOR_QPREPROCESS
$$CODEWARRIOR_QPREPROCESSOUT
$$CODEWARRIOR_LIBRARIES
$$CODEWARRIOR_SOURCES
$$CODEWARRIOR_HEADERS
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_C++_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Library</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
<FILE>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_Runtime_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
<FILEKIND>Library</FILEKIND>
<FILEFLAGS>Debug</FILEFLAGS>
</FILE>
</FILELIST>
<LINKORDER>
$$CODEWARRIOR_QPREPROCESS_LINKORDER
$$CODEWARRIOR_SOURCES_LINKORDER
$$CODEWARRIOR_HEADERS_LINKORDER
$$CODEWARRIOR_LIBRARIES_LINKORDER
$$CODEWARRIOR_QPREPROCESSOUT_LINKORDER
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_C++_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_Runtime_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
</LINKORDER>
<FRAMEWORKLIST>
$$CODEWARRIOR_FRAMEWORKS
</FRAMEWORKLIST>
</TARGET>
</TARGETLIST>
<TARGETORDER>
<ORDEREDTARGET><NAME>$$TARGET_STEM</NAME></ORDEREDTARGET>
</TARGETORDER>
<GROUPLIST>
<GROUP><NAME>Sources</NAME>
$$CODEWARRIOR_HEADERS_GROUP
$$CODEWARRIOR_SOURCES_GROUP
</GROUP>
<GROUP><NAME>Libraries</NAME>
$$CODEWARRIOR_LIBRARIES_GROUP
<FILEREF>
<TARGETNAME>$$TARGET_STEM</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_C++_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
<FILEREF>
<TARGETNAME>$$TARGET_STEM</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
<PATH>MSL_Runtime_Mach-O.a</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
</GROUP>
<GROUP><Name>QtGenerated</NAME>
$$CODEWARRIOR_QPREPROCESS_GROUP
$$CODEWARRIOR_QPREPROCESSOUT_GROUP
</GROUP>
</GROUPLIST>
</PROJECT>

@ -1,23 +0,0 @@
#
#
# qmake configuration for macx-mwerks (Mac OS X + Metrowerks compiler)
#
MAKEFILE_GENERATOR = METROWERKS
TEMPLATE = app
CONFIG += qt release warn_off separate_volume link_prl
DEFINES += TQT_NO_STL __MACOSX__ __CF_USE_FRAMEWORK_INCLUDES__
CODEWARRIOR_LINKER = Mach-O PPC Linker
QMAKE_EXTENSION_SHLIB = dylib
QMAKE_VOLUMENAME = OS X Volume
FRAMEWORKPATH = {System}/Library/Frameworks/
QMAKE_CRT_OBJECTS = crt1.o
QMAKE_INCDIR_TQT = $(TQTDIR)/include
QMAKE_LIBS = -framework System
QMAKE_LIBS_QT = -L$(TQTDIR)/lib/ -lqt
QMAKE_INCDIR_OPENGL = /System/Library/Frameworks/OpenGL.framework/Headers \
/System/Library/Frameworks/AGL.framework/Headers/
QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL
QMAKE_LIBS_OPENGL_QT = $$QMAKE_LIBS_OPENGL

@ -1,51 +0,0 @@
#ifndef TQPLATFORMDEFS_H
#define TQPLATFORMDEFS_H
// Get TQt defines/settings
#include "tqglobal.h"
// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
#include <unistd.h>
// We are hot - unistd.h should have turned on the specific APIs we requested
#ifdef TQT_THREAD_SUPPORT
#include <pthread.h>
#endif
#include <dirent.h>
#include <fcntl.h>
#include <grp.h>
#include <pwd.h>
#include <stat.h>
#include <socket.h>
#include <ioctl.h>
#include <wait.h>
#include <signal.h>
#define TQT_NO_LIBRARY_UNLOAD
// DNS header files are not fully covered by X/Open specifications.
// In particular nothing is said about res_* :/
// On BSDs header files <netinet/in.h> and <arpa/nameser.h> are not
// included by <resolv.h>. Note that <arpa/nameser.h> must be included
// before <resolv.h>.
#include <nameser.h>
#include <netinet/in.h>
#include <resolv.h>
#define QT_SIGNAL_RETTYPE void
#define QT_SIGNAL_ARGS int
#define QT_SIGNAL_IGNORE (QT_SIGNAL_RETTYPE (*)(QT_SIGNAL_ARGS))1
#define QT_SOCKLEN_T int
#define QT_SNPRINTF ::snprintf
#define QT_VSNPRINTF ::vsnprintf
#endif // TQPLATFORMDEFS_H

@ -1,7 +1,7 @@
#tqmake code
OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o msvc_nmake.o \
mingw_make.o msvc_dsp.o msvc_vcproj.o option.o \
winmakefile.o projectgenerator.o metrowerks_xml.o pbuilder_pbx.o \
winmakefile.o projectgenerator.o pbuilder_pbx.o \
msvc_objectmodel.o meta.o qtmd5.o
#qt code
@ -14,7 +14,7 @@ QOBJS=tqstring.o tqtextstream.o tqiodevice.o tqglobal.o tqgdict.o tqcstring.o \
#all sources, used for the depend target
DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp qtmd5.cpp generators/makefile.cpp generators/unix/unixmake2.cpp \
generators/unix/unixmake.cpp generators/win32/msvc_nmake.cpp \
generators/win32/winmakefile.cpp generators/projectgenerator.cpp generators/mac/metrowerks_xml.cpp \
generators/win32/winmakefile.cpp generators/projectgenerator.cpp \
generators/mac/pbuilder_pbx.cpp generators/win32/msvc_objectmodel.cpp \
@SOURCE_PATH@/src/tools/tqstring.cpp @SOURCE_PATH@/src/tools/tqtextstream.cpp \
@SOURCE_PATH@/src/tools/tqiodevice.cpp @SOURCE_PATH@/src/tools/tqglobal.cpp \
@ -195,9 +195,6 @@ msvc_vcproj.o: generators/win32/msvc_vcproj.cpp
msvc_nmake.o: generators/win32/msvc_nmake.cpp
$(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_nmake.cpp
metrowerks_xml.o: generators/mac/metrowerks_xml.cpp
$(CXX) -c -o $@ $(CXXFLAGS) generators/mac/metrowerks_xml.cpp
pbuilder_pbx.o: generators/mac/pbuilder_pbx.cpp
$(CXX) -c -o $@ $(CXXFLAGS) generators/mac/pbuilder_pbx.cpp

@ -16,7 +16,7 @@ ADDCLEAN =
#tqmake code
OBJS=project.o main.o makefile.o unixmake.o unixmake2.o mingw_make.o \
msvc_nmake.o msvc_dsp.o msvc_vcproj.o option.o winmakefile.o projectgenerator.o \
metrowerks_xml.o pbuilder_pbx.o msvc_objectmodel.o property.o meta.o qtmd5.o
pbuilder_pbx.o msvc_objectmodel.o property.o meta.o qtmd5.o
#qt code
QTOBJS=tqstring.o tquuid.o tqtextstream.o tqiodevice.o tqglobal.o tqgdict.o tqcstring.o tqdatastream.o \
@ -190,8 +190,5 @@ option.o: option.cpp option.h
projectgenerator.o: generators/projectgenerator.cpp
$(CXX) $(CXXFLAGS) generators/projectgenerator.cpp
metrowerks_xml.o: generators/mac/metrowerks_xml.cpp
$(CXX) $(CXXFLAGS) generators/mac/metrowerks_xml.cpp
pbuilder_pbx.o: generators/mac/pbuilder_pbx.cpp
$(CXX) $(CXXFLAGS) generators/mac/pbuilder_pbx.cpp

@ -1,822 +0,0 @@
/****************************************************************************
**
** Implementation of MetrowerksMakefileGenerator class.
**
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
**
** This file is part of qmake.
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
** Alternatively you may (at your option) use any later version
** of the GNU General Public License if such license has been
** publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free TQt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
** included in the packaging of this file. Licensees holding valid TQt
** Commercial licenses may use this file in accordance with the TQt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#include "metrowerks_xml.h"
#include "option.h"
#include <tqdir.h>
#include <tqdict.h>
#include <tqregexp.h>
#include <stdlib.h>
#include <time.h>
#if defined(Q_OS_MAC)
#include <Carbon/Carbon.h>
#include <sys/types.h>
#include <sys/stat.h>
#endif
MetrowerksMakefileGenerator::MetrowerksMakefileGenerator(TQMakeProject *p) : MakefileGenerator(p), init_flag(FALSE)
{
}
bool
MetrowerksMakefileGenerator::writeMakefile(TQTextStream &t)
{
if(!project->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
/* for now just dump, I need to generated an empty xml or something.. */
fprintf(stderr, "Project file not generated because all requirements not met:\n\t%s\n",
var("QMAKE_FAILED_REQUIREMENTS").latin1());
return TRUE;
}
if(project->first("TEMPLATE") == "app" ||
project->first("TEMPLATE") == "lib") {
return writeMakeParts(t);
}
else if(project->first("TEMPLATE") == "subdirs") {
writeHeader(t);
tqDebug("Not supported!");
return TRUE;
}
return FALSE;
}
bool
MetrowerksMakefileGenerator::writeMakeParts(TQTextStream &t)
{
//..grrr.. libs!
TQStringList extra_objs;
bool do_libs = TRUE;
if(project->first("TEMPLATE") == "app")
extra_objs += project->variables()["QMAKE_CRT_OBJECTS"];
else if(project->first("TEMPLATE") == "lib" && project->isActiveConfig("staticlib"))
do_libs = FALSE;
if(do_libs)
extra_objs += project->variables()["QMAKE_LIBS"];
for(TQStringList::Iterator val_it = extra_objs.begin();
val_it != extra_objs.end(); ++val_it) {
if((*val_it).startsWith("-L")) {
TQString dir((*val_it).right((*val_it).length() - 2));
fixEnvVariables(dir);
if(project->variables()["DEPENDPATH"].findIndex(dir) == -1 &&
project->variables()["INCLUDEPATH"].findIndex(dir) == -1)
project->variables()["INCLUDEPATH"].append(dir);
} else if((*val_it).startsWith("-l")) {
TQString lib("lib" + (*val_it).right((*val_it).length() - 2) + "." +
project->first("QMAKE_EXTENSION_SHLIB"));
if(project->variables()["LIBRARIES"].findIndex(lib) == -1)
project->variables()["LIBRARIES"].append(lib);
} else
if((*val_it) == "-framework") {
++val_it;
if(val_it == extra_objs.end())
break;
TQString frmwrk = (*val_it) + ".framework";
if(project->variables()["FRAMEWORKS"].findIndex(frmwrk) == -1)
project->variables()["FRAMEWORKS"].append(frmwrk);
} else if((*val_it).left(1) != "-") {
TQString lib=(*val_it);
int s = lib.findRev('/');
if(s != -1) {
TQString dir = lib.left(s);
lib = lib.right(lib.length() - s - 1);
fixEnvVariables(dir);
if(project->variables()["DEPENDPATH"].findIndex(dir) == -1 &&
project->variables()["INCLUDEPATH"].findIndex(dir) == -1)
project->variables()["INCLUDEPATH"].append(dir);
}
project->variables()["LIBRARIES"].append(lib);
}
}
//let metrowerks find the files & set the files to the type I expect
TQDict<void> seen(293);
TQString paths[] = { TQString("SRCMOC"), TQString("FORMS"), TQString("UICDECLS"),
TQString("UICIMPLS"), TQString("SOURCES"),TQString("HEADERS"),
TQString::null };
for(int y = 0; paths[y] != TQString::null; y++) {
TQStringList &l = project->variables()[paths[y]];
for(TQStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it) {
//establish file types
seen.insert((*val_it), (void *)1);
createFork((*val_it)); //the file itself
TQStringList &d = findDependencies((*val_it)); //depends
for(TQStringList::Iterator dep_it = d.begin(); dep_it != d.end(); ++dep_it) {
if(!seen.find((*dep_it))) {
seen.insert((*dep_it), (void *)1);
createFork((*dep_it));
}
}
//now chop it
int s = (*val_it).findRev('/');
if(s != -1) {
TQString dir = (*val_it).left(s);
(*val_it) = (*val_it).right((*val_it).length() - s - 1);
TQString tmpd=dir, tmpv;
if(fixifyToMacPath(tmpd, tmpv)) {
bool add_in = TRUE;
TQString deps[] = { TQString("DEPENDPATH"),
TQString("INCLUDEPATH"), TQString::null },
dd, dv;
for(int yy = 0; deps[yy] != TQString::null; yy++) {
TQStringList &l2 = project->variables()[deps[yy]];
for(TQStringList::Iterator val_it2 = l2.begin();
val_it2 != l2.end(); ++val_it2) {
TQString dd= (*val_it2), dv;
if(!fixifyToMacPath(dd, dv))
continue;
if(dd == tmpd && tmpv == dv) {
add_in = FALSE;
break;
}
}
}
if(add_in)
project->variables()["INCLUDEPATH"].append(dir);
}
}
}
}
//need a defines file
if(!project->isEmpty("DEFINES")) {
TQString pre_pref = project->first("TARGET_STEM");
if(project->first("TEMPLATE") == "lib")
pre_pref += project->isActiveConfig("staticlib") ? "_static" : "_shared";
project->variables()["CODEWARRIOR_PREFIX_HEADER"].append(pre_pref + "_prefix.h");
}
TQString xmlfile = findTemplate(project->first("QMAKE_XML_TEMPLATE"));
TQFile file(xmlfile);
if(!file.open(IO_ReadOnly )) {
fprintf(stderr, "Cannot open XML file: %s\n",
project->first("QMAKE_XML_TEMPLATE").latin1());
return FALSE;
}
TQTextStream xml(&file);
createFork(Option::output.name());
int rep;
TQString line;
while ( !xml.eof() ) {
line = xml.readLine();
while((rep = line.find(TQRegExp("\\$\\$[!a-zA-Z0-9_-]*"))) != -1) {
TQString torep = line.mid(rep, line.find(TQRegExp("[^\\$!a-zA-Z0-9_-]"), rep) - rep);
TQString variable = torep.right(torep.length()-2);
t << line.left(rep); //output the left side
line = line.right(line.length() - (rep + torep.length())); //now past the variable
if(variable == "CODEWARRIOR_HEADERS" || variable == "CODEWARRIOR_SOURCES" ||
variable == "CODEWARRIOR_LIBRARIES" || variable == "CODEWARRIOR_QPREPROCESS" ||
variable == "CODEWARRIOR_QPREPROCESSOUT") {
TQString outcmd=variable.right(variable.length() - variable.findRev('_') - 1);
TQStringList args;
if(outcmd == "TQPREPROCESS")
args << "UICS" << "MOCS";
else if(outcmd == "TQPREPROCESSOUT")
args << "SRCMOC" << "UICIMPLS" << "UICDELCS";
else
args << outcmd;
for(TQStringList::Iterator arit = args.begin(); arit != args.end(); ++arit) {
TQString arg = (*arit);
TQString kind = "Text";
if(arg == "LIBRARIES")
kind = "Library";
if(!project->variables()[arg].isEmpty()) {
TQStringList &list = project->variables()[arg];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
TQString flag;
if(project->isActiveConfig("debug")) {
bool debug = TRUE;
if(outcmd == "TQPREPROCESS") {
debug = FALSE;
} else {
for(TQStringList::Iterator hit = Option::h_ext.begin(); hit != Option::h_ext.end(); ++hit) {
if((*it).endsWith((*hit))) {
debug = FALSE;
break;
}
}
}
if(debug)
flag = "Debug";
}
t << "\t\t\t\t<FILE>" << endl
<< "\t\t\t\t\t<PATHTYPE>Name</PATHTYPE>" << endl
<< "\t\t\t\t\t<PATH>" << (*it) << "</PATH>" << endl
<< "\t\t\t\t\t<PATHFORMAT>MacOS</PATHFORMAT>" << endl
<< "\t\t\t\t\t<FILEKIND>" << kind << "</FILEKIND>" << endl
<< "\t\t\t\t\t<FILEFLAGS>" << flag << "</FILEFLAGS>" << endl
<< "\t\t\t\t</FILE>" << endl;
}
}
}
} else if(variable == "CODEWARRIOR_SOURCES_LINKORDER" ||
variable == "CODEWARRIOR_HEADERS_LINKORDER" ||
variable == "CODEWARRIOR_LIBRARIES_LINKORDER" ||
variable == "CODEWARRIOR_QPREPROCESS_LINKORDER" ||
variable == "CODEWARRIOR_QPREPROCESSOUT_LINKORDER") {
TQString outcmd=variable.mid(variable.find('_')+1,
variable.findRev('_')-(variable.find('_')+1));
TQStringList args;
if(outcmd == "TQPREPROCESS")
args << "UICS" << "MOCS";
else if(outcmd == "TQPREPROCESSOUT")
args << "SRCMOC" << "UICIMPLS" << "UICDELCS";
else
args << outcmd;
for(TQStringList::Iterator arit = args.begin(); arit != args.end(); ++arit) {
TQString arg = (*arit);
if(!project->variables()[arg].isEmpty()) {
TQStringList &list = project->variables()[arg];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
t << "\t\t\t\t<FILEREF>" << endl
<< "\t\t\t\t\t<PATHTYPE>Name</PATHTYPE>" << endl
<< "\t\t\t\t\t<PATH>" << (*it) << "</PATH>" << endl
<< "\t\t\t\t\t<PATHFORMAT>MacOS</PATHFORMAT>" << endl
<< "\t\t\t\t</FILEREF>" << endl;
}
}
}
} else if(variable == "CODEWARRIOR_HEADERS_GROUP" ||
variable == "CODEWARRIOR_SOURCES_GROUP" ||
variable == "CODEWARRIOR_LIBRARIES_GROUP" ||
variable == "CODEWARRIOR_QPREPROCESS_GROUP" ||
variable == "CODEWARRIOR_QPREPROCESSOUT_GROUP") {
TQString outcmd = variable.mid(variable.find('_')+1,
variable.findRev('_')-(variable.find('_')+1));
TQStringList args;
if(outcmd == "TQPREPROCESS")
args << "UICS" << "MOCS";
else if(outcmd == "TQPREPROCESSOUT")
args << "SRCMOC" << "UICIMPLS" << "UICDELCS";
else
args << outcmd;
for(TQStringList::Iterator arit = args.begin(); arit != args.end(); ++arit) {
TQString arg = (*arit);
if(!project->variables()[arg].isEmpty()) {
TQStringList &list = project->variables()[arg];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
t << "\t\t\t\t<FILEREF>" << endl
<< "\t\t\t\t\t<TARGETNAME>" << var("TARGET_STEM") << "</TARGETNAME>"
<< endl
<< "\t\t\t\t\t<PATHTYPE>Name</PATHTYPE>" << endl
<< "\t\t\t\t\t<PATH>" << (*it) << "</PATH>" << endl
<< "\t\t\t\t\t<PATHFORMAT>MacOS</PATHFORMAT>" << endl
<< "\t\t\t\t</FILEREF>" << endl;
}
}
}
} else if(variable == "CODEWARRIOR_FRAMEWORKS") {
if(!project->isEmpty("FRAMEWORKS")) {
TQStringList &list = project->variables()["FRAMEWORKS"];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
t << "\t\t\t\t<FRAMEWORK>" << endl
<< "\t\t\t\t\t<FILEREF>" << endl
<< "\t\t\t\t\t\t<PATHTYPE>Name</PATHTYPE>" << endl
<< "\t\t\t\t\t\t<PATH>" << (*it) << "</PATH>" << endl
<< "\t\t\t\t\t\t<PATHFORMAT>MacOS</PATHFORMAT>" << endl
<< "\t\t\t\t\t</FILEREF>" << endl
<< "\t\t\t\t</FRAMEWORK>" << endl;
}
}
} else if(variable == "CODEWARRIOR_DEPENDPATH" || variable == "CODEWARRIOR_INCLUDEPATH" ||
variable == "CODEWARRIOR_FRAMEWORKPATH") {
TQString arg=variable.right(variable.length()-variable.find('_')-1);
TQStringList list;
if(arg == "INCLUDEPATH") {
list = project->variables()[arg];
list << Option::mkfile::qmakespec;
list << TQDir::current().currentDirPath();
TQStringList &l = project->variables()["QMAKE_LIBS_PATH"];
for(TQStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it) {
TQString p = (*val_it), v;
if(!fixifyToMacPath(p, v))
continue;
t << "\t\t\t\t\t<SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>SearchPath</NAME>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>Path</NAME>"
<< "<VALUE>" << p << "</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t</SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>" << endl
<< "\t\t\t\t\t</SETTING>" << endl;
}
} else if(variable == "DEPENDPATH") {
TQStringList &l = project->variables()[arg];
for(TQStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it)
{
//apparently tmake used colon separation...
TQStringList damn = TQStringList::split(':', (*val_it));
if(!damn.isEmpty())
list += damn;
else
list.append((*val_it));
}
} else {
list = project->variables()[arg];
}
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
TQString p = (*it), v, recursive = "false", framework = "false";
if(p.startsWith("recursive--")) {
p = p.right(p.length() - 11);
recursive = "true";
}
if(!fixifyToMacPath(p, v))
continue;
if(arg == "FRAMEWORKPATH")
framework = "true";
t << "\t\t\t\t\t<SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>SearchPath</NAME>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>Path</NAME>"
<< "<VALUE>" << p << "</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t\t<SETTING><NAME>PathRoot</NAME><VALUE>" << v << "</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t</SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>Recursive</NAME><VALUE>" << recursive << "</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>FrameworkPath</NAME><VALUE>" << framework << "</VALUE></SETTING>" << endl
<< "\t\t\t\t\t\t<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>" << endl
<< "\t\t\t\t\t</SETTING>" << endl;
}
} else if(variable == "CODEWARRIOR_WARNING" || variable == "!CODEWARRIOR_WARNING") {
bool b = ((!project->isActiveConfig("warn_off")) &&
project->isActiveConfig("warn_on"));
if(variable.startsWith("!"))
b = !b;
t << (int)b;
} else if(variable == "CODEWARRIOR_TEMPLATE") {
if(project->first("TEMPLATE") == "app" ) {
t << "Executable";
} else if(project->first("TEMPLATE") == "lib") {
if(project->isActiveConfig("staticlib"))
t << "Library";
else
t << "SharedLibrary";
}
} else if(variable == "CODEWARRIOR_OUTPUT_DIR") {
TQString outdir = "{Project}/", volume;
if(!project->isEmpty("DESTDIR"))
outdir = project->first("DESTDIR");
if(project->first("TEMPLATE") == "app" && !project->isActiveConfig("console"))
outdir += var("TARGET") + ".app/Contents/MacOS/";
if(fixifyToMacPath(outdir, volume, FALSE)) {
t << "\t\t\t<SETTING><NAME>Path</NAME><VALUE>" << outdir << "</VALUE></SETTING>"
<< endl
<< "\t\t\t<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>" << endl
<< "\t\t\t<SETTING><NAME>PathRoot</NAME><VALUE>" << volume << "</VALUE></SETTING>"
<< endl;
}
} else if(variable == "CODEWARRIOR_PACKAGER_PANEL") {
if(project->first("TEMPLATE") == "app" && !project->isActiveConfig("console")) {
TQString outdir = "{Project}/", volume;
if(!project->isEmpty("DESTDIR"))
outdir = project->first("DESTDIR");
outdir += var("TARGET") + ".app";
if(fixifyToMacPath(outdir, volume, FALSE)) {
t << "\t\t<SETTING><NAME>MWMacOSPackager_UsePackager</NAME>"
<< "<VALUE>1</VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_FolderToPackage</NAME>" << "\n"
<< "\t\t\t<SETTING><NAME>Path</NAME><VALUE>" << outdir
<< "</VALUE></SETTING>" << "\n"
<< "\t\t\t<SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>"
<< "\n"
<< "\t\t\t<SETTING><NAME>PathRoot</NAME><VALUE>" << volume
<< "</VALUE></SETTING>" << "\n"
<< "\t\t</SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_CreateClassicAlias</NAME>"
<< "<VALUE>0</VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_ClassicAliasMethod</NAME>"
<< "<VALUE>UseTargetOutput</VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_ClassicAliasPath</NAME>"
<< "<VALUE></VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_CreatePkgInfo</NAME>"
<< "<VALUE>1</VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_PkgCreatorType</NAME>"
<< "<VALUE>CUTE</VALUE></SETTING>" << "\n"
<< "\t\t<SETTING><NAME>MWMacOSPackager_PkgFileType</NAME>"
<< "<VALUE>APPL</VALUE></SETTING>" << endl;
}
}
} else if(variable == "CODEWARRIOR_FILETYPE") {
if(project->first("TEMPLATE") == "lib")
t << "MYDL";
else
t << "MEXE";
} else if(variable == "CODEWARRIOR_TQTDIR") {
t << getenv("TQTDIR");
} else if(variable == "CODEWARRIOR_CACHEMODDATES") {
t << "true";
} else {
t << var(variable);
}
}
t << line << endl;
}
t << endl;
file.close();
if(tqmocAware()) {
TQString mocs = project->first("MOCS");
TQFile mocfile(mocs);
if(!mocfile.open(IO_WriteOnly)) {
fprintf(stderr, "Cannot open MOCS file: %s\n", mocs.latin1());
} else {
createFork(mocs);
TQTextStream mocs(&mocfile);
TQStringList &list = project->variables()["SRCMOC"];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
TQString src = findMocSource((*it));
if(src.findRev('/') != -1)
src = src.right(src.length() - src.findRev('/') - 1);
mocs << src << endl;
}
mocfile.close();
}
}
if(!project->isEmpty("FORMS")) {
TQString uics = project->first("UICS");
TQFile uicfile(uics);
if(!uicfile.open(IO_WriteOnly)) {
fprintf(stderr, "Cannot open UICS file: %s\n", uics.latin1());
} else {
createFork(uics);
TQTextStream uics(&uicfile);
TQStringList &list = project->variables()["FORMS"];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
TQString ui = (*it);
if(ui.findRev('/') != -1)
ui = ui.right(ui.length() - ui.findRev('/') - 1);
uics << ui << endl;
}
uicfile.close();
}
}
if(!project->isEmpty("CODEWARRIOR_PREFIX_HEADER")) {
TQFile prefixfile(project->first("CODEWARRIOR_PREFIX_HEADER"));
if(!prefixfile.open(IO_WriteOnly)) {
fprintf(stderr, "Cannot open PREFIX file: %s\n", prefixfile.name().latin1());
} else {
createFork(project->first("CODEWARRIOR_PREFIX_HEADER"));
TQTextStream prefix(&prefixfile);
TQStringList &list = project->variables()["DEFINES"];
for(TQStringList::Iterator it = list.begin(); it != list.end(); ++it) {
if((*it).find('=') != -1) {
int x = (*it).find('=');
prefix << "#define " << (*it).left(x) << " " << (*it).right((*it).length() - x - 1) << endl;
} else {
prefix << "#define " << (*it) << endl;
}
}
prefixfile.close();
}
}
return TRUE;
}
void
MetrowerksMakefileGenerator::init()
{
if(init_flag)
return;
init_flag = TRUE;
if ( project->isEmpty("QMAKE_XML_TEMPLATE") )
project->variables()["QMAKE_XML_TEMPLATE"].append("mwerkstmpl.xml");
TQStringList &configs = project->variables()["CONFIG"];
if(project->isActiveConfig("qt")) {
if(configs.findIndex("moc")) configs.append("moc");
if ( !( (project->first("TARGET") == "qt") || (project->first("TARGET") == "qte") ||
(project->first("TARGET") == "tqt-mt") ) )
project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_QT"];
if(configs.findIndex("moc"))
configs.append("moc");
if ( !project->isActiveConfig("debug") )
project->variables()["DEFINES"].append("TQT_NO_DEBUG");
}
//version handling
if(project->variables()["VERSION"].isEmpty())
project->variables()["VERSION"].append("1.0." +
(project->isEmpty("VER_PAT") ? TQString("0") :
project->first("VER_PAT")) );
TQStringList ver = TQStringList::split('.', project->first("VERSION"));
ver << "0" << "0"; //make sure there are three
project->variables()["VER_MAJ"].append(ver[0]);
project->variables()["VER_MIN"].append(ver[1]);
project->variables()["VER_PAT"].append(ver[2]);
if( !project->isEmpty("LIBS") )
project->variables()["QMAKE_LIBS"] += project->variables()["LIBS"];
if( project->variables()["QMAKE_EXTENSION_SHLIB"].isEmpty() )
project->variables()["QMAKE_EXTENSION_SHLIB"].append( "dylib" );
if ( project->isActiveConfig("moc") ) {
TQString mocfile = project->first("TARGET");
if(project->first("TEMPLATE") == "lib")
mocfile += project->isActiveConfig("staticlib") ? "_static" : "_shared";
project->variables()["MOCS"].append(mocfile + ".mocs");
setTQMocAware(TRUE);
}
if(!project->isEmpty("FORMS")) {
TQString uicfile = project->first("TARGET");
if(project->first("TEMPLATE") == "lib")
uicfile += project->isActiveConfig("staticlib") ? "_static" : "_shared";
project->variables()["UICS"].append(uicfile + ".uics");
}
if(project->isEmpty("DESTDIR"))
project->variables()["DESTDIR"].append(TQDir::currentDirPath());
MakefileGenerator::init();
if ( project->isActiveConfig("opengl") ) {
project->variables()["INCLUDEPATH"] += project->variables()["QMAKE_INCDIR_OPENGL"];
if ( (project->first("TARGET") == "qt") || (project->first("TARGET") == "qte") ||
(project->first("TARGET") == "tqt-mt") )
project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_OPENGL_QT"];
else
project->variables()["QMAKE_LIBS"] += project->variables()["QMAKE_LIBS_OPENGL"];
}
if(project->isActiveConfig("qt"))
project->variables()["INCLUDEPATH"] += project->variables()["QMAKE_INCDIR_TQT"];
if(project->isEmpty("FRAMEWORKPATH"))
project->variables()["FRAMEWORKPATH"].append("/System/Library/Frameworks/");
//set the target up
project->variables()["TARGET_STEM"] = project->variables()["TARGET"];
if(project->first("TEMPLATE") == "lib") {
if(project->isActiveConfig("staticlib"))
project->variables()["TARGET"].first() = "lib" + project->first("TARGET") + ".lib";
else
project->variables()["TARGET"].first() = "lib" + project->first("TARGET") + "." +
project->first("QMAKE_EXTENSION_SHLIB");
project->variables()["CODEWARRIOR_VERSION"].append(project->first("VER_MAJ") +
project->first("VER_MIN") +
project->first("VER_PAT"));
} else {
project->variables()["CODEWARRIOR_VERSION"].append("0");
if(project->isEmpty("QMAKE_ENTRYPOINT"))
project->variables()["QMAKE_ENTRYPOINT"].append("start");
project->variables()["CODEWARRIOR_ENTRYPOINT"].append(
project->first("QMAKE_ENTRYPOINT"));
}
}
TQString
MetrowerksMakefileGenerator::findTemplate(const TQString &file)
{
TQString ret;
if(!TQFile::exists(ret = file) &&
!TQFile::exists((ret = Option::mkfile::qmakespec + TQDir::separator() + file)) &&
!TQFile::exists((ret = TQString(getenv("TQTDIR")) + "/mkspecs/mac-mwerks/" + file)) &&
!TQFile::exists((ret = (TQString(getenv("HOME")) + "/.tmake/" + file))))
return "";
return ret;
}
bool
MetrowerksMakefileGenerator::createFork(const TQString &f)
{
#if defined(Q_OS_MACX)
FSRef fref;
FSSpec fileSpec;
if(TQFile::exists(f)) {
mode_t perms = 0;
{
struct stat s;
stat(f.latin1(), &s);
if(!(s.st_mode & S_IWUSR)) {
perms = s.st_mode;
chmod(f.latin1(), perms | S_IWUSR);
}
}
FILE *o = fopen(f.latin1(), "a");
if(!o)
return FALSE;
if(FSPathMakeRef((const UInt8 *)f.latin1(), &fref, NULL) == noErr) {
if(FSGetCatalogInfo(&fref, kFSCatInfoNone, NULL, NULL, &fileSpec, NULL) == noErr)
FSpCreateResFile(&fileSpec, 'CUTE', 'TEXT', smSystemScript);
else
tqDebug("bogus %d", __LINE__);
} else
tqDebug("bogus %d", __LINE__);
fclose(o);
if(perms)
chmod(f.latin1(), perms);
}
#else
Q_UNUSED(f)
#endif
return TRUE;
}
bool
MetrowerksMakefileGenerator::fixifyToMacPath(TQString &p, TQString &v, bool )
{
v = "Absolute";
if(p.find(':') != -1) //guess its macish already
return TRUE;
static TQString st_volume;
if(st_volume.isEmpty()) {
st_volume = var("QMAKE_VOLUMENAME");
#if defined(Q_OS_MACX)
if(st_volume.isEmpty()) {
uchar foo[512];
HVolumeParam pb;
memset(&pb, '\0', sizeof(pb));
pb.ioVRefNum = 0;
pb.ioNamePtr = foo;
if(PBHGetVInfoSync((HParmBlkPtr)&pb) == noErr) {
int len = foo[0];
memcpy(foo,foo+1, len);
foo[len] = '\0';
st_volume = (char *)foo;
}
}
#endif
}
TQString volume = st_volume;
fixEnvVariables(p);
if(p.startsWith("\"") && p.endsWith("\""))
p = p.mid(1, p.length() - 2);
if(p.isEmpty())
return FALSE;
if(!p.endsWith("/"))
p += "/";
if(TQDir::isRelativePath(p)) {
if(p.startsWith("{")) {
int eoc = p.find('}');
if(eoc == -1)
return FALSE;
volume = p.mid(1, eoc - 1);
p = p.right(p.length() - eoc - 1);
} else {
TQFileInfo fi(p);
if(fi.convertToAbs()) //strange
return FALSE;
p = fi.filePath();
}
}
p = TQDir::cleanDirPath(p);
if(!volume.isEmpty())
v = volume;
p.replace("/", ":");
if(p.right(1) != ":")
p += ':';
return TRUE;
}
void
MetrowerksMakefileGenerator::processPrlFiles()
{
TQPtrList<MakefileDependDir> libdirs;
libdirs.setAutoDelete(TRUE);
const TQString lflags[] = { "QMAKE_LIBS", TQString::null };
for(int i = 0; !lflags[i].isNull(); i++) {
for(bool ret = FALSE; TRUE; ret = FALSE) {
TQStringList l_out;
TQStringList &l = project->variables()[lflags[i]];
for(TQStringList::Iterator it = l.begin(); it != l.end(); ++it) {
TQString opt = (*it);
if(opt.startsWith("-")) {
if(opt.startsWith("-L")) {
TQString r = opt.right(opt.length() - 2), l = r;
fixEnvVariables(l);
libdirs.append(new MakefileDependDir(r.replace( "\"", ""),
l.replace( "\"", "")));
} else if(opt.left(2) == "-l") {
TQString lib = opt.right(opt.length() - 2), prl;
for(MakefileDependDir *mdd = libdirs.first(); mdd; mdd = libdirs.next() ) {
prl = mdd->local_dir + Option::dir_sep + "lib" + lib;
if(processPrlFile(prl)) {
if(prl.startsWith(mdd->local_dir))
prl.replace(0, mdd->local_dir.length(), mdd->real_dir);
TQRegExp reg("^.*lib(" + lib + "[^.]*)\\." +
project->first("QMAKE_EXTENSION_SHLIB") + "$");
if(reg.exactMatch(prl))
prl = "-l" + reg.cap(1);
opt = prl;
ret = TRUE;
break;
}
}
} else if(opt == "-framework") {
l_out.append(opt);
++it;
opt = (*it);
TQString prl = "/System/Library/Frameworks/" + opt +
".framework/" + opt;
if(processPrlFile(prl))
ret = TRUE;
}
if(!opt.isEmpty())
l_out.append(opt);
} else {
if(processPrlFile(opt))
ret = TRUE;
if(!opt.isEmpty())
l_out.append(opt);
}
}
if(ret)
l = l_out;
else
break;
}
}
}
void
MetrowerksMakefileGenerator::processPrlVariable(const TQString &var, const TQStringList &l)
{
if(var == "QMAKE_PRL_LIBS") {
TQStringList &out = project->variables()["QMAKE_LIBS"];
for(TQStringList::ConstIterator it = l.begin(); it != l.end(); ++it) {
bool append = TRUE;
if((*it).startsWith("-")) {
if((*it).startsWith("-l") || (*it).startsWith("-L")) {
append = out.findIndex((*it)) == -1;
} else if((*it).startsWith("-framework")) {
++it;
for(TQStringList::ConstIterator outit = out.begin();
outit != out.end(); ++it) {
if((*outit) == "-framework") {
++outit;
if((*outit) == (*it)) {
append = FALSE;
break;
}
}
}
}
} else if(TQFile::exists((*it))) {
append = out.findIndex((*it));
}
if(append)
out.append((*it));
}
} else {
MakefileGenerator::processPrlVariable(var, l);
}
}
bool
MetrowerksMakefileGenerator::openOutput(TQFile &file) const
{
TQString outdir;
if(!file.name().isEmpty()) {
TQFileInfo fi(file);
if(fi.isDir())
outdir = file.name() + TQDir::separator();
}
if(!outdir.isEmpty() || file.name().isEmpty())
file.setName(outdir + project->first("TARGET") + ".xml");
return MakefileGenerator::openOutput(file);
}

@ -1,71 +0,0 @@
/****************************************************************************
**
** Definition of MetrowerksMakefileGenerator class.
**
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
**
** This file is part of qmake.
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
** Alternatively you may (at your option) use any later version
** of the GNU General Public License if such license has been
** publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free TQt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
** included in the packaging of this file. Licensees holding valid TQt
** Commercial licenses may use this file in accordance with the TQt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#ifndef __METROWERKS_XML_H__
#define __METROWERKS_XML_H__
#include "makefile.h"
class MetrowerksMakefileGenerator : public MakefileGenerator
{
bool createFork(const TQString &f);
bool fixifyToMacPath(TQString &c, TQString &v, bool exists=TRUE);
bool init_flag;
bool writeMakeParts(TQTextStream &);
bool writeSubDirs(TQTextStream &);
bool writeMakefile(TQTextStream &);
TQString findTemplate(const TQString &file);
void init();
public:
MetrowerksMakefileGenerator(TQMakeProject *p);
~MetrowerksMakefileGenerator();
bool openOutput(TQFile &file) const;
protected:
virtual void processPrlFiles();
virtual void processPrlVariable(const TQString &var, const TQStringList &l);
virtual bool doDepends() const { return FALSE; } //never necesary
};
inline MetrowerksMakefileGenerator::~MetrowerksMakefileGenerator()
{ }
#endif /* __METROWERKS_XML_H__ */

@ -2446,7 +2446,6 @@ MakefileGenerator::openOutput(TQFile &file) const
#include "mingw_make.h"
#include "msvc_dsp.h"
#include "msvc_vcproj.h"
#include "metrowerks_xml.h"
#include "pbuilder_pbx.h"
#include "projectgenerator.h"
@ -2477,8 +2476,6 @@ MakefileGenerator::create(TQMakeProject *proj)
mkfile = new NmakeMakefileGenerator(proj);
} else if(gen == "MINGW") {
mkfile = new MingwMakefileGenerator(proj);
} else if(gen == "METROWERKS") {
mkfile = new MetrowerksMakefileGenerator(proj);
} else if(gen == "PROJECTBUILDER") {
mkfile = new ProjectBuilderMakefileGenerator(proj);
} else {

@ -225,13 +225,9 @@
#endif /* PNGARG */
/* Try to determine if we are compiling on a Mac. Note that testing for
* just __MWERKS__ is not good enough, because the Codewarrior is now used
* on non-Mac platforms.
*/
/* Try to determine if we are compiling on a Mac. */
#ifndef MACOS
# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
# if defined(applec) || defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
# define MACOS
# endif
#endif
@ -294,8 +290,7 @@
# endif
#endif
/* Codewarrior on NT has linking problems without this. */
#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__)
#if defined(__STDC__)
# define PNG_ALWAYS_EXTERN
#endif

@ -41,16 +41,6 @@
# include <winbase.h>
#endif
#if OS_MAC
# include <extras.h>
# include <path2fss.h>
# include <TextUtils.h>
# include <FinderRegistry.h>
# include <Folders.h>
# include <Timer.h>
# include <OSUtils.h>
#endif
/*
** The DJGPP compiler environment looks mostly like Unix, but it
** lacks the fcntl() system call. So redefine fcntl() to be something
@ -74,10 +64,6 @@
#if OS_WIN && defined(THREADSAFE) && THREADSAFE
# define SQLITE_W32_THREADS 1
#endif
#if OS_MAC && defined(THREADSAFE) && THREADSAFE
# include <Multiprocessing.h>
# define SQLITE_MACOS_MULTITASKING 1
#endif
/*
** Macros for performance tracing. Normally turned off
@ -393,9 +379,6 @@ int sqliteOsDelete(const char *zFilename){
#endif
#if OS_WIN
DeleteFile(zFilename);
#endif
#if OS_MAC
unlink(zFilename);
#endif
return SQLITE_OK;
}
@ -410,9 +393,6 @@ int sqliteOsFileExists(const char *zFilename){
#if OS_WIN
return GetFileAttributes(zFilename) != 0xffffffff;
#endif
#if OS_MAC
return access(zFilename, 0)==0;
#endif
}
@ -434,10 +414,6 @@ int sqliteOsFileRename(const char *zOldName, const char *zNewName){
}
return SQLITE_OK;
#endif
#if OS_MAC
/**** FIX ME ***/
return SQLITE_ERROR;
#endif
}
#endif /* NOT USED */
@ -514,56 +490,6 @@ int sqliteOsOpenReadWrite(
OpenCounter(+1);
return SQLITE_OK;
#endif
#if OS_MAC
FSSpec fsSpec;
# ifdef _LARGE_FILE
HFSUniStr255 dfName;
FSRef fsRef;
if( __path2fss(zFilename, &fsSpec) != noErr ){
if( HCreate(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, 'SQLI', cDocumentFile) != noErr )
return SQLITE_CANTOPEN;
}
if( FSpMakeFSRef(&fsSpec, &fsRef) != noErr )
return SQLITE_CANTOPEN;
FSGetDataForkName(&dfName);
if( FSOpenFork(&fsRef, dfName.length, dfName.unicode,
fsRdWrShPerm, &(id->refNum)) != noErr ){
if( FSOpenFork(&fsRef, dfName.length, dfName.unicode,
fsRdWrPerm, &(id->refNum)) != noErr ){
if (FSOpenFork(&fsRef, dfName.length, dfName.unicode,
fsRdPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
else
*pReadonly = 1;
} else
*pReadonly = 0;
} else
*pReadonly = 0;
# else
__path2fss(zFilename, &fsSpec);
if( !sqliteOsFileExists(zFilename) ){
if( HCreate(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, 'SQLI', cDocumentFile) != noErr )
return SQLITE_CANTOPEN;
}
if( HOpenDF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdWrShPerm, &(id->refNum)) != noErr ){
if( HOpenDF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdWrPerm, &(id->refNum)) != noErr ){
if( HOpenDF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
else
*pReadonly = 1;
} else
*pReadonly = 0;
} else
*pReadonly = 0;
# endif
if( HOpenRF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdWrShPerm, &(id->refNumRF)) != noErr){
id->refNumRF = -1;
}
id->locked = 0;
id->delOnClose = 0;
OpenCounter(+1);
return SQLITE_OK;
#endif
}
@ -634,35 +560,6 @@ int sqliteOsOpenExclusive(const char *zFilename, OsFile *id, int delFlag){
OpenCounter(+1);
return SQLITE_OK;
#endif
#if OS_MAC
FSSpec fsSpec;
# ifdef _LARGE_FILE
HFSUniStr255 dfName;
FSRef fsRef;
__path2fss(zFilename, &fsSpec);
if( HCreate(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, 'SQLI', cDocumentFile) != noErr )
return SQLITE_CANTOPEN;
if( FSpMakeFSRef(&fsSpec, &fsRef) != noErr )
return SQLITE_CANTOPEN;
FSGetDataForkName(&dfName);
if( FSOpenFork(&fsRef, dfName.length, dfName.unicode,
fsRdWrPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
# else
__path2fss(zFilename, &fsSpec);
if( HCreate(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, 'SQLI', cDocumentFile) != noErr )
return SQLITE_CANTOPEN;
if( HOpenDF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdWrPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
# endif
id->refNumRF = -1;
id->locked = 0;
id->delOnClose = delFlag;
if (delFlag)
id->pathToDel = sqliteOsFullPathname(zFilename);
OpenCounter(+1);
return SQLITE_OK;
#endif
}
/*
@ -709,32 +606,6 @@ int sqliteOsOpenReadOnly(const char *zFilename, OsFile *id){
OpenCounter(+1);
return SQLITE_OK;
#endif
#if OS_MAC
FSSpec fsSpec;
# ifdef _LARGE_FILE
HFSUniStr255 dfName;
FSRef fsRef;
if( __path2fss(zFilename, &fsSpec) != noErr )
return SQLITE_CANTOPEN;
if( FSpMakeFSRef(&fsSpec, &fsRef) != noErr )
return SQLITE_CANTOPEN;
FSGetDataForkName(&dfName);
if( FSOpenFork(&fsRef, dfName.length, dfName.unicode,
fsRdPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
# else
__path2fss(zFilename, &fsSpec);
if( HOpenDF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdPerm, &(id->refNum)) != noErr )
return SQLITE_CANTOPEN;
# endif
if( HOpenRF(fsSpec.vRefNum, fsSpec.parID, fsSpec.name, fsRdWrShPerm, &(id->refNumRF)) != noErr){
id->refNumRF = -1;
}
id->locked = 0;
id->delOnClose = 0;
OpenCounter(+1);
return SQLITE_OK;
#endif
}
/*
@ -829,49 +700,6 @@ int sqliteOsTempFileName(char *zBuf){
zBuf[j] = 0;
if( !sqliteOsFileExists(zBuf) ) break;
}
#endif
#if OS_MAC
static char zChars[] =
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789";
int i, j;
char zTempPath[SQLITE_TEMPNAME_SIZE];
char zdirName[32];
CInfoPBRec infoRec;
Str31 dirName;
memset(&infoRec, 0, sizeof(infoRec));
memset(zTempPath, 0, SQLITE_TEMPNAME_SIZE);
if( FindFolder(kOnSystemDisk, kTemporaryFolderType, kCreateFolder,
&(infoRec.dirInfo.ioVRefNum), &(infoRec.dirInfo.ioDrParID)) == noErr ){
infoRec.dirInfo.ioNamePtr = dirName;
do{
infoRec.dirInfo.ioFDirIndex = -1;
infoRec.dirInfo.ioDrDirID = infoRec.dirInfo.ioDrParID;
if( PBGetCatInfoSync(&infoRec) == noErr ){
CopyPascalStringToC(dirName, zdirName);
i = strlen(zdirName);
memmove(&(zTempPath[i+1]), zTempPath, strlen(zTempPath));
strcpy(zTempPath, zdirName);
zTempPath[i] = ':';
}else{
*zTempPath = 0;
break;
}
} while( infoRec.dirInfo.ioDrDirID != fsRtDirID );
}
if( *zTempPath == 0 )
getcwd(zTempPath, SQLITE_TEMPNAME_SIZE-24);
for(;;){
sprintf(zBuf, "%s"TEMP_FILE_PREFIX, zTempPath);
j = strlen(zBuf);
sqliteRandomness(15, &zBuf[j]);
for(i=0; i<15; i++, j++){
zBuf[j] = (char)zChars[ ((unsigned char)zBuf[j])%(sizeof(zChars)-1) ];
}
zBuf[j] = 0;
if( !sqliteOsFileExists(zBuf) ) break;
}
#endif
return SQLITE_OK;
}
@ -917,21 +745,6 @@ int sqliteOsClose(OsFile *id){
OpenCounter(-1);
return SQLITE_OK;
#endif
#if OS_MAC
if( id->refNumRF!=-1 )
FSClose(id->refNumRF);
# ifdef _LARGE_FILE
FSCloseFork(id->refNum);
# else
FSClose(id->refNum);
# endif
if( id->delOnClose ){
unlink(id->pathToDel);
sqliteFree(id->pathToDel);
}
OpenCounter(-1);
return SQLITE_OK;
#endif
}
/*
@ -968,22 +781,6 @@ int sqliteOsRead(OsFile *id, void *pBuf, int amt){
return SQLITE_IOERR;
}
#endif
#if OS_MAC
int got;
SimulateIOError(SQLITE_IOERR);
TRACE2("READ %d\n", last_page);
# ifdef _LARGE_FILE
FSReadFork(id->refNum, fsAtMark, 0, (ByteCount)amt, pBuf, (ByteCount*)&got);
# else
got = amt;
FSRead(id->refNum, &got, pBuf);
# endif
if( got==amt ){
return SQLITE_OK;
}else{
return SQLITE_IOERR;
}
#endif
}
/*
@ -1021,29 +818,6 @@ int sqliteOsWrite(OsFile *id, const void *pBuf, int amt){
}
return SQLITE_OK;
#endif
#if OS_MAC
OSErr oserr;
int wrote = 0;
SimulateIOError(SQLITE_IOERR);
TRACE2("WRITE %d\n", last_page);
while( amt>0 ){
# ifdef _LARGE_FILE
oserr = FSWriteFork(id->refNum, fsAtMark, 0,
(ByteCount)amt, pBuf, (ByteCount*)&wrote);
# else
wrote = amt;
oserr = FSWrite(id->refNum, &wrote, pBuf);
# endif
if( wrote == 0 || oserr != noErr)
break;
amt -= wrote;
pBuf = &((char*)pBuf)[wrote];
}
if( oserr != noErr || amt>wrote ){
return SQLITE_FULL;
}
return SQLITE_OK;
#endif
}
/*
@ -1065,28 +839,6 @@ int sqliteOsSeek(OsFile *id, off_t offset){
}
return SQLITE_OK;
#endif
#if OS_MAC
{
off_t curSize;
if( sqliteOsFileSize(id, &curSize) != SQLITE_OK ){
return SQLITE_IOERR;
}
if( offset >= curSize ){
if( sqliteOsTruncate(id, offset+1) != SQLITE_OK ){
return SQLITE_IOERR;
}
}
# ifdef _LARGE_FILE
if( FSSetForkPosition(id->refNum, fsFromStart, offset) != noErr ){
# else
if( SetFPos(id->refNum, fsFromStart, offset) != noErr ){
# endif
return SQLITE_IOERR;
}else{
return SQLITE_OK;
}
}
#endif
}
/*
@ -1123,20 +875,6 @@ int sqliteOsSync(OsFile *id){
return SQLITE_IOERR;
}
#endif
#if OS_MAC
# ifdef _LARGE_FILE
if( FSFlushFork(id->refNum) != noErr ){
# else
ParamBlockRec params;
memset(&params, 0, sizeof(ParamBlockRec));
params.ioParam.ioRefNum = id->refNum;
if( PBFlushFileSync(&params) != noErr ){
# endif
return SQLITE_IOERR;
}else{
return SQLITE_OK;
}
#endif
}
/*
@ -1155,17 +893,6 @@ int sqliteOsTruncate(OsFile *id, off_t nByte){
}
return SQLITE_OK;
#endif
#if OS_MAC
# ifdef _LARGE_FILE
if( FSSetForkSize(id->refNum, fsFromStart, nByte) != noErr){
# else
if( SetEOF(id->refNum, nByte) != noErr ){
# endif
return SQLITE_IOERR;
}else{
return SQLITE_OK;
}
#endif
}
/*
@ -1188,17 +915,6 @@ int sqliteOsFileSize(OsFile *id, off_t *pSize){
*pSize = (((off_t)upperBits)<<32) + lowerBits;
return SQLITE_OK;
#endif
#if OS_MAC
# ifdef _LARGE_FILE
if( FSGetForkSize(id->refNum, pSize) != noErr){
# else
if( GetEOF(id->refNum, pSize) != noErr ){
# endif
return SQLITE_IOERR;
}else{
return SQLITE_OK;
}
#endif
}
#if OS_WIN
@ -1271,11 +987,7 @@ int isNT(void){
** the first byte in the range of bytes used for locking.
*/
#define N_LOCKBYTE 10239
#if OS_MAC
# define FIRST_LOCKBYTE (0x000fffff - N_LOCKBYTE)
#else
# define FIRST_LOCKBYTE (0xffffffff - N_LOCKBYTE)
#endif
#define FIRST_LOCKBYTE (0xffffffff - N_LOCKBYTE)
/*
** Change the status of the lock on the file "id" to be a readlock.
@ -1356,46 +1068,6 @@ int sqliteOsReadLock(OsFile *id){
}
return rc;
#endif
#if OS_MAC
int rc;
if( id->locked>0 || id->refNumRF == -1 ){
rc = SQLITE_OK;
}else{
int lk;
OSErr res;
int cnt = 5;
ParamBlockRec params;
sqliteRandomness(sizeof(lk), &lk);
lk = (lk & 0x7fffffff)%N_LOCKBYTE + 1;
memset(&params, 0, sizeof(params));
params.ioParam.ioRefNum = id->refNumRF;
params.ioParam.ioPosMode = fsFromStart;
params.ioParam.ioPosOffset = FIRST_LOCKBYTE;
params.ioParam.ioReqCount = 1;
while( cnt-->0 && (res = PBLockRangeSync(&params))!=noErr ){
UInt32 finalTicks;
Delay(1, &finalTicks); /* 1/60 sec */
}
if( res == noErr ){
params.ioParam.ioPosOffset = FIRST_LOCKBYTE+1;
params.ioParam.ioReqCount = N_LOCKBYTE;
PBUnlockRangeSync(&params);
params.ioParam.ioPosOffset = FIRST_LOCKBYTE+lk;
params.ioParam.ioReqCount = 1;
res = PBLockRangeSync(&params);
params.ioParam.ioPosOffset = FIRST_LOCKBYTE;
params.ioParam.ioReqCount = 1;
PBUnlockRangeSync(&params);
}
if( res == noErr ){
id->locked = lk;
rc = SQLITE_OK;
}else{
rc = SQLITE_BUSY;
}
}
return rc;
#endif
}
/*
@ -1465,47 +1137,6 @@ int sqliteOsWriteLock(OsFile *id){
}
return rc;
#endif
#if OS_MAC
int rc;
if( id->locked<0 || id->refNumRF == -1 ){
rc = SQLITE_OK;
}else{
OSErr res;
int cnt = 5;
ParamBlockRec params;
memset(&params, 0, sizeof(params));
params.ioParam.ioRefNum = id->refNumRF;
params.ioParam.ioPosMode = fsFromStart;
params.ioParam.ioPosOffset = FIRST_LOCKBYTE;
params.ioParam.ioReqCount = 1;
while( cnt-->0 && (res = PBLockRangeSync(&params))!=noErr ){
UInt32 finalTicks;
Delay(1, &finalTicks); /* 1/60 sec */
}
if( res == noErr ){
params.ioParam.ioPosOffset = FIRST_LOCKBYTE + id->locked;
params.ioParam.ioReqCount = 1;
if( id->locked==0
|| PBUnlockRangeSync(&params)==noErr ){
params.ioParam.ioPosOffset = FIRST_LOCKBYTE+1;
params.ioParam.ioReqCount = N_LOCKBYTE;
res = PBLockRangeSync(&params);
}else{
res = afpRangeNotLocked;
}
params.ioParam.ioPosOffset = FIRST_LOCKBYTE;
params.ioParam.ioReqCount = 1;
PBUnlockRangeSync(&params);
}
if( res == noErr ){
id->locked = -1;
rc = SQLITE_OK;
}else{
rc = SQLITE_BUSY;
}
}
return rc;
#endif
}
/*
@ -1574,29 +1205,6 @@ int sqliteOsUnlock(OsFile *id){
}
return rc;
#endif
#if OS_MAC
int rc;
ParamBlockRec params;
memset(&params, 0, sizeof(params));
params.ioParam.ioRefNum = id->refNumRF;
params.ioParam.ioPosMode = fsFromStart;
if( id->locked==0 || id->refNumRF == -1 ){
rc = SQLITE_OK;
}else if( id->locked<0 ){
params.ioParam.ioPosOffset = FIRST_LOCKBYTE+1;
params.ioParam.ioReqCount = N_LOCKBYTE;
PBUnlockRangeSync(&params);
rc = SQLITE_OK;
id->locked = 0;
}else{
params.ioParam.ioPosOffset = FIRST_LOCKBYTE+id->locked;
params.ioParam.ioReqCount = 1;
PBUnlockRangeSync(&params);
rc = SQLITE_OK;
id->locked = 0;
}
return rc;
#endif
}
/*
@ -1628,14 +1236,6 @@ int sqliteOsRandomSeed(char *zBuf){
#endif
#if OS_WIN && !defined(SQLITE_TEST)
GetSystemTime((LPSYSTEMTIME)zBuf);
#endif
#if OS_MAC
{
int pid;
Microseconds((UnsignedWide*)zBuf);
pid = getpid();
memcpy(&zBuf[sizeof(UnsignedWide)], &pid, sizeof(pid));
}
#endif
return SQLITE_OK;
}
@ -1657,12 +1257,6 @@ int sqliteOsSleep(int ms){
Sleep(ms);
return ms;
#endif
#if OS_MAC
UInt32 finalTicks;
UInt32 ticks = (((UInt32)ms+16)*3)/50; /* 1/60 sec per tick */
Delay(ticks, &finalTicks);
return (int)((ticks*50)/3);
#endif
}
/*
@ -1762,26 +1356,10 @@ char *sqliteOsFullPathname(const char *zRelative){
GetFullPathName(zRelative, nByte, zFull, &zNotUsed);
return zFull;
#endif
#if OS_MAC
char *zFull = 0;
if( zRelative[0]==':' ){
char zBuf[_MAX_PATH+1];
sqliteSetString(&zFull, getcwd(zBuf, sizeof(zBuf)), &(zRelative[1]),
(char*)0);
}else{
if( strchr(zRelative, ':') ){
sqliteSetString(&zFull, zRelative, (char*)0);
}else{
char zBuf[_MAX_PATH+1];
sqliteSetString(&zFull, getcwd(zBuf, sizeof(zBuf)), zRelative, (char*)0);
}
}
return zFull;
#endif
}
/*
** The following variable, if set to a now-zero value, become the result
** The following variable, if set to a non-zero value, becomes the result
** returned from sqliteOsCurrentTime(). This is used for testing.
*/
#ifdef SQLITE_TEST

@ -63,37 +63,21 @@
** Figure out if we are dealing with Unix, Windows or MacOS.
**
** N.B. MacOS means Mac Classic (or Carbon). Treat Darwin (OS X) as Unix.
** The MacOS build is designed to use CodeWarrior (tested with v8)
*/
#ifndef OS_UNIX
# ifndef OS_WIN
# ifndef OS_MAC
# if defined(__MACOS__)
# define OS_MAC 1
# define OS_WIN 0
# define OS_UNIX 0
# elif defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
# define OS_MAC 0
# define OS_WIN 1
# define OS_UNIX 0
# else
# define OS_MAC 0
# define OS_WIN 0
# define OS_UNIX 1
# endif
# if defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
# define OS_WIN 1
# define OS_UNIX 0
# else
# define OS_WIN 0
# define OS_UNIX 0
# define OS_UNIX 1
# endif
# else
# define OS_MAC 0
# define OS_UNIX 0
# endif
#else
# define OS_MAC 0
# ifndef OS_WIN
# define OS_WIN 0
# endif
# define OS_WIN 0
#endif
/*
@ -142,26 +126,6 @@
# define SQLITE_MIN_SLEEP_MS 1
#endif
#if OS_MAC
# include <unistd.h>
# include <Files.h>
typedef struct OsFile OsFile;
struct OsFile {
SInt16 refNum; /* Data fork/file reference number */
SInt16 refNumRF; /* Resource fork reference number (for locking) */
int locked; /* 0: unlocked, <0: write lock, >0: read lock */
int delOnClose; /* True if file is to be deleted on close */
char *pathToDel; /* Name of file to delete on close */
};
# ifdef _LARGE_FILE
typedef SInt64 off_t;
# else
typedef SInt32 off_t;
# endif
# define SQLITE_TEMPNAME_SIZE _MAX_PATH
# define SQLITE_MIN_SLEEP_MS 17
#endif
int sqliteOsDelete(const char*);
int sqliteOsFileExists(const char*);
int sqliteOsFileRename(const char*, const char*);

@ -48,9 +48,6 @@
# define GZ_SUFFIX "-gz"
# define fileno(file) file->__file
#endif
#if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
# include <unix.h> /* for fileno */
#endif
#ifndef WIN32 /* unlink already in stdio.h for WIN32 */
extern int unlink OF((const char *));

@ -120,7 +120,7 @@
#endif
/* Some Mac compilers merge all .h files incorrectly: */
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
#if defined(applec)||defined(THINK_C)||defined(__SC__)
# define NO_DUMMY_DECL
#endif

@ -120,7 +120,7 @@
#endif
/* Some Mac compilers merge all .h files incorrectly: */
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
#if defined(applec)||defined(THINK_C)||defined(__SC__)
# define NO_DUMMY_DECL
#endif

@ -99,12 +99,8 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
#if defined(MACOS) || defined(TARGET_OS_MAC)
# define OS_CODE 0x07
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
# include <unix.h> /* for fdopen */
# else
# ifndef fdopen
# define fdopen(fd,mode) NULL /* No fdopen() */
# endif
# ifndef fdopen
# define fdopen(fd,mode) NULL /* No fdopen() */
# endif
#endif

@ -447,34 +447,12 @@ static TQtMsgHandler handler = 0; // pointer to debug handler
static const int QT_BUFFER_LENGTH = 8196; // internal buffer length
#ifdef Q_CC_MWERKS
#include "qt_mac.h"
extern bool tqt_is_gui_used;
static void mac_default_handler( const char *msg )
{
if ( tqt_is_gui_used ) {
const unsigned char *p = p_str(msg);
DebugStr(p);
free((void*)p);
} else {
fprintf( stderr, msg );
}
}
#endif
void handle_buffer(const char *buf, TQtMsgType msgType)
{
if ( handler ) {
(*handler)( msgType, buf );
} else if (msgType == TQtFatalMsg) {
#if defined(Q_CC_MWERKS)
mac_default_handler(buf);
#else
fprintf( stderr, "%s\n", buf ); // add newline
#endif
#if defined(Q_OS_UNIX) && defined(QT_DEBUG)
abort(); // trap; generates core dump
#elif defined(Q_OS_TEMP) && defined(QT_DEBUG)
@ -487,9 +465,7 @@ void handle_buffer(const char *buf, TQtMsgType msgType)
exit( 1 ); // goodbye cruel world
#endif
} else {
#if defined(Q_CC_MWERKS)
mac_default_handler(buf);
#elif defined(Q_OS_TEMP)
#if defined(Q_OS_TEMP)
TQString fstr( buf );
OutputDebugString( (fstr + "\n").ucs2() );
#else

@ -104,8 +104,6 @@
# define Q_OS_WIN64
#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
# define Q_OS_WIN32
#elif defined(__MWERKS__) && defined(__INTEL__)
# define Q_OS_WIN32
#elif defined(__sun) || defined(sun)
# define Q_OS_SOLARIS
#elif defined(hpux) || defined(__hpux)
@ -194,7 +192,6 @@
SYM - Symantec C++ for both PC and Macintosh
MPW - MPW C++
MWERKS - Metrowerks CodeWarrior
MSVC - Microsoft Visual C/C++, Intel C++ for Windows
WAT - Watcom C++
GNU - GNU C++
@ -234,11 +231,6 @@
# define Q_NO_EXPLICIT_KEYWORD
# define Q_NO_USING_KEYWORD
#elif defined(__MWERKS__)
# define Q_CC_MWERKS
/* "explicit" recognized since 4.0d1 */
# define TQMAC_PASCAL pascal
#elif defined(_MSC_VER)
# define Q_CC_MSVC
/* proper support of bool for _MSC_VER >= 1100 */

@ -41,30 +41,6 @@
%{
#ifdef TQMOC_YACC_CODE
#ifdef TQMOC_MWERKS_PLUGIN
#ifdef Q_OS_MAC9
# define isascii(c) ((int)( (unsigned int) (c) <= (unsigned char)0x7F ))
#endif
const char *buf_buffer = NULL;
long buf_size_total = 0, buf_index = 0;
#define YY_INPUT(buf, result, max_size) \
{ \
if(buf_index < buf_size_total ) { \
while(!isascii(buf_buffer[buf_index])) buf_index++; \
int ms = ((max_size < buf_size_total) ? max_size : buf_size_total); \
for(result = 0; result < ms; result++) { \
char c = buf_buffer[buf_index + result]; \
if(!isascii(c)) { \
buf_index++; \
break; \
} \
buf[result] = c == '\r' ? '\n' : c; \
} \
buf_index += result; \
} else result = YY_NULL; \
}
#endif
#include "tqstring.h"

@ -51,15 +51,3 @@ macx:LIBS += -framework Carbon
target.path=$$bins.path
INSTALLS += target
*-mwerks {
TEMPLATE = lib
TARGET = McMoc
CONFIG -= static
CONFIG += shared plugin
DEFINES += TQMOC_MWERKS_PLUGIN
MWERKSDIR = $QT_SOURCE_TREE/util/mwerks_plugin
INCLUDEPATH += $$MWERKSDIR/Headers
LIBS += $$MWERKSDIR/Libraries/PluginLib4.shlb
SOURCES += mwerks_mac.cpp
}

@ -67,21 +67,6 @@ void yyerror( const char *msg );
#include "tqptrlist.h"
#include "tqregexp.h"
#include "tqstrlist.h"
#ifdef TQMOC_MWERKS_PLUGIN
# ifdef Q_OS_MACX
# undef OLD_DEBUG
# ifdef DEBUG
# define OLD_DEBUG DEBUG
# undef DEBUG
# endif
# define DEBUG 0
# ifndef __IMAGECAPTURE__
# define __IMAGECAPTURE__
# endif
# include <Carbon/Carbon.h>
# endif
# include "mwerks_mac.h"
#endif
#include <ctype.h>
#include <stdio.h>
@ -1673,7 +1658,6 @@ void setDefaultIncludeFile()
#define ErrorFormatString "%s:%d:"
#endif
#ifndef TQMOC_MWERKS_PLUGIN
int main( int argc, char **argv )
{
init();
@ -1815,109 +1799,7 @@ int main( int argc, char **argv )
cleanup();
return ret;
}
#else
bool tqt_is_gui_used = FALSE;
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#ifdef Q_OS_MAC9
# include <Files.h>
# include <Strings.h>
# include <Errors.h>
# include "Aliases.h"
#endif
#include "CWPluginErrors.h"
#include <CWPlugins.h>
#include "DropInCompilerLinker.h"
#include <stat.h>
const unsigned char *p_str(const char *, int =-1);
CWPluginContext g_ctx;
tqmoc_status do_moc( CWPluginContext ctx, const TQCString &fin, const TQCString &fout, CWFileSpec *dspec, bool i)
{
init();
g_ctx = ctx;
g->noInclude = i;
g->fileName = fin;
g->outputFile = fout;
setDefaultIncludeFile();
CWFileInfo fi;
memset(&fi, 0, sizeof(fi));
fi.fullsearch = TRUE;
fi.dependencyType = cwNormalDependency;
fi.isdependentoffile = kCurrentCompiledFile;
if(CWFindAndLoadFile( ctx, fin.data(), &fi) != cwNoErr) {
cleanup();
return tqmoc_no_source;
}
if(dspec) {
memcpy(dspec, &fi.filespec, sizeof(fi.filespec));
const unsigned char *f = p_str(fout.data());
memcpy(dspec->name, f, f[0]+1);
free(f);
}
buf_size_total = fi.filedatalength;
buf_buffer = fi.filedata;
TQCString path("");
AliasHandle alias;
Str63 str;
AliasInfoType x = 1;
char tmp[sizeof(Str63)+2];
if(NewAlias( NULL, &fi.filespec, &alias) != noErr) {
cleanup();
return tqmoc_general_error;
}
for(;;) {
GetAliasInfo(alias, x++, str);
if(!str[0])
break;
strncpy((char *)tmp, (const char *)str+1, str[0]);
tmp[str[0]] = '\0';
path.prepend(":");
path.prepend((char *)tmp);
}
path.prepend("MacOS 9:"); //FIXME
TQString inpath = path + fin, outpath = path + fout;
struct stat istat, ostat;
if(stat(inpath, &istat) == -1) {
cleanup();
return tqmoc_no_source;
}
if(stat(outpath, &ostat) == 0 && istat.st_mtime < ostat.st_mtime) {
cleanup();
return tqmoc_not_time;
}
unlink(outpath.data());
out = fopen(outpath.data(), "w+");
if(!out) {
cleanup();
return tqmoc_general_error;
}
yyparse();
if(out != stdout)
fclose(out);
if(g->mocError || !g->generatedCode) {
unlink(outpath.data());
tqmoc_status ret = !g->generatedCode ? tqmoc_no_qobject : tqmoc_parse_error;
cleanup();
return ret;
}
cleanup();
return tqmoc_success;
}
#endif
void replace( char *s, char c1, char c2 )
{
if ( !s )
@ -1995,23 +1877,12 @@ void init() // initialize
tmpArgList = new ArgList;
tmpFunc = new Function;
tmpEnum = new Enum;
#ifdef TQMOC_MWERKS_PLUGIN
buf_buffer = NULL;
buf_index = 0;
buf_size_total = 0;
#endif
}
void cleanup()
{
delete g;
g = NULL;
#ifdef TQMOC_MWERKS_PLUGIN
if(buf_buffer && g_ctx)
CWReleaseFileText(g_ctx, buf_buffer);
#endif
}
void initClass() // prepare for new class
@ -2182,13 +2053,7 @@ void addExpressionChar( const char c )
void yyerror( const char *msg ) // print yacc error message
{
g->mocError = TRUE;
#ifndef TQMOC_MWERKS_PLUGIN
fprintf( stderr, ErrorFormatString" Error: %s\n", g->fileName.data(), lineNo, msg );
#else
char msg2[200];
sprintf(msg2, ErrorFormatString" Error: %s", g->fileName.data(), lineNo, msg);
CWReportMessage(g_ctx, NULL, msg2, NULL, messagetypeError, 0);
#endif
if ( errorControl ) {
if ( !g->outputFile.isEmpty() && yyin && fclose(yyin) == 0 )
remove( g->outputFile );

@ -986,30 +986,6 @@ char *yytext;
#line 42 "moc.l"
#ifdef TQMOC_YACC_CODE
#ifdef TQMOC_MWERKS_PLUGIN
#ifdef Q_OS_MAC9
# define isascii(c) ((int)( (unsigned int) (c) <= (unsigned char)0x7F ))
#endif
const char *buf_buffer = NULL;
long buf_size_total = 0, buf_index = 0;
#define YY_INPUT(buf, result, max_size) \
{ \
if(buf_index < buf_size_total ) { \
while(!isascii(buf_buffer[buf_index])) buf_index++; \
int ms = ((max_size < buf_size_total) ? max_size : buf_size_total); \
for(result = 0; result < ms; result++) { \
char c = buf_buffer[buf_index + result]; \
if(!isascii(c)) { \
buf_index++; \
break; \
} \
buf[result] = c == '\r' ? '\n' : c; \
} \
buf_index += result; \
} else result = YY_NULL; \
}
#endif
#include "tqstring.h"

@ -80,21 +80,6 @@ void yyerror( const char *msg );
#include "tqptrlist.h"
#include "tqregexp.h"
#include "tqstrlist.h"
#ifdef TQMOC_MWERKS_PLUGIN
# ifdef Q_OS_MACX
# undef OLD_DEBUG
# ifdef DEBUG
# define OLD_DEBUG DEBUG
# undef DEBUG
# endif
# define DEBUG 0
# ifndef __IMAGECAPTURE__
# define __IMAGECAPTURE__
# endif
# include <Carbon/Carbon.h>
# endif
# include "mwerks_mac.h"
#endif
#include <ctype.h>
#include <stdio.h>
@ -4548,7 +4533,6 @@ void setDefaultIncludeFile()
#define ErrorFormatString "%s:%d:"
#endif
#ifndef TQMOC_MWERKS_PLUGIN
int main( int argc, char **argv )
{
init();
@ -4690,109 +4674,7 @@ int main( int argc, char **argv )
cleanup();
return ret;
}
#else
bool tqt_is_gui_used = FALSE;
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#ifdef Q_OS_MAC9
# include <Files.h>
# include <Strings.h>
# include <Errors.h>
# include "Aliases.h"
#endif
#include "CWPluginErrors.h"
#include <CWPlugins.h>
#include "DropInCompilerLinker.h"
#include <stat.h>
const unsigned char *p_str(const char *, int =-1);
CWPluginContext g_ctx;
tqmoc_status do_moc( CWPluginContext ctx, const TQCString &fin, const TQCString &fout, CWFileSpec *dspec, bool i)
{
init();
g_ctx = ctx;
g->noInclude = i;
g->fileName = fin;
g->outputFile = fout;
setDefaultIncludeFile();
CWFileInfo fi;
memset(&fi, 0, sizeof(fi));
fi.fullsearch = TRUE;
fi.dependencyType = cwNormalDependency;
fi.isdependentoffile = kCurrentCompiledFile;
if(CWFindAndLoadFile( ctx, fin.data(), &fi) != cwNoErr) {
cleanup();
return tqmoc_no_source;
}
if(dspec) {
memcpy(dspec, &fi.filespec, sizeof(fi.filespec));
const unsigned char *f = p_str(fout.data());
memcpy(dspec->name, f, f[0]+1);
free(f);
}
buf_size_total = fi.filedatalength;
buf_buffer = fi.filedata;
TQCString path("");
AliasHandle alias;
Str63 str;
AliasInfoType x = 1;
char tmp[sizeof(Str63)+2];
if(NewAlias( NULL, &fi.filespec, &alias) != noErr) {
cleanup();
return tqmoc_general_error;
}
for(;;) {
GetAliasInfo(alias, x++, str);
if(!str[0])
break;
strncpy((char *)tmp, (const char *)str+1, str[0]);
tmp[str[0]] = '\0';
path.prepend(":");
path.prepend((char *)tmp);
}
path.prepend("MacOS 9:"); //FIXME
TQString inpath = path + fin, outpath = path + fout;
struct stat istat, ostat;
if(stat(inpath, &istat) == -1) {
cleanup();
return tqmoc_no_source;
}
if(stat(outpath, &ostat) == 0 && istat.st_mtime < ostat.st_mtime) {
cleanup();
return tqmoc_not_time;
}
unlink(outpath.data());
out = fopen(outpath.data(), "w+");
if(!out) {
cleanup();
return tqmoc_general_error;
}
yyparse();
if(out != stdout)
fclose(out);
if(g->mocError || !g->generatedCode) {
unlink(outpath.data());
tqmoc_status ret = !g->generatedCode ? tqmoc_no_qobject : tqmoc_parse_error;
cleanup();
return ret;
}
cleanup();
return tqmoc_success;
}
#endif
void replace( char *s, char c1, char c2 )
{
if ( !s )
@ -4870,23 +4752,12 @@ void init() // initialize
tmpArgList = new ArgList;
tmpFunc = new Function;
tmpEnum = new Enum;
#ifdef TQMOC_MWERKS_PLUGIN
buf_buffer = NULL;
buf_index = 0;
buf_size_total = 0;
#endif
}
void cleanup()
{
delete g;
g = NULL;
#ifdef TQMOC_MWERKS_PLUGIN
if(buf_buffer && g_ctx)
CWReleaseFileText(g_ctx, buf_buffer);
#endif
}
void initClass() // prepare for new class
@ -5057,13 +4928,7 @@ void addExpressionChar( const char c )
void yyerror( const char *msg ) // print yacc error message
{
g->mocError = TRUE;
#ifndef TQMOC_MWERKS_PLUGIN
fprintf( stderr, ErrorFormatString" Error: %s\n", g->fileName.data(), lineNo, msg );
#else
char msg2[200];
sprintf(msg2, ErrorFormatString" Error: %s", g->fileName.data(), lineNo, msg);
CWReportMessage(g_ctx, NULL, msg2, NULL, messagetypeError, 0);
#endif
if ( errorControl ) {
if ( !g->outputFile.isEmpty() && yyin && fclose(yyin) == 0 )
remove( g->outputFile );

@ -28,15 +28,3 @@ DESTDIR = ../../../bin
target.path=$$bins.path
INSTALLS += target
*-mwerks {
TEMPLATE = lib
TARGET = McUic
CONFIG -= static
CONFIG += shared plugin
DEFINES += UIC_MWERKS_PLUGIN
MWERKSDIR = $(QT_SOURCE_TREE)/util/mwerks_plugin
INCLUDEPATH += $$MWERKSDIR/Headers
LIBS += $$MWERKSDIR/Libraries/PluginLib4.shlb
SOURCES += mwerks_mac.cpp
}

Loading…
Cancel
Save