uvmac/setup/WRMW8FLS.i
2019-07-22 22:50:34 -04:00

871 lines
26 KiB
OpenEdge ABL

/*
WRMW8FLS.i
Copyright (C) 2007 Paul C. Pratt
You can redistribute this file and/or modify it under the terms
of version 2 of the GNU General Public License as published by
the Free Software Foundation. You should have received a copy
of the license along with this file; see the file COPYING.
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
license for more details.
*/
/*
WRite MetroWerks 8 specific FiLeS
*/
static void WriteXMLtagSettingNameProcVal(char *n, MyProc v)
{
WriteBgnDestFileLn();
WriteXMLtagBegin("SETTING");
WriteXMLtagBegin("NAME");
WriteCStrToDestFile(n);
WriteXMLtagEnd("NAME");
WriteXMLtagBegin("VALUE");
v();
WriteXMLtagEnd("VALUE");
WriteXMLtagEnd("SETTING");
WriteEndDestFileLn();
}
static void WriteXMLtagSettingNameVal(char *n, char *v)
{
MyPtr SavepDt = pDt;
pDt = (MyPtr)v;
WriteXMLtagSettingNameProcVal(n, WritepDtString);
pDt = SavepDt;
}
static void WriteBeginNamedSettingXMLtagLine(char *s)
{
WriteBgnDestFileLn();
WriteXMLtagBegin("SETTING");
WriteXMLtagBegin("NAME");
WriteCStrToDestFile(s);
WriteXMLtagEnd("NAME");
WriteEndDestFileLn();
++DestFileIndent;
}
static void WriteAllMWTargetName(void)
{
WriteXMLtagBeginProcValEndLine("TARGETNAME", WriteAppVariationStr);
}
typedef void (*tWriteMWLib)(char *s);
static void WriteMWLibs(tWriteMWLib p)
{
if (gbk_targfam_mswn == gbo_targfam) {
p("kernel32.lib");
p("user32.lib");
p("gdi32.lib");
p("comdlg32.lib");
p("shell32.lib");
p("ole32.lib");
p("uuid.lib");
p("winmm.lib");
if (WantIconMaster) {
p("advapi32.lib");
}
p("MSL_All_x86.lib");
} else if (gbk_targfam_mach == gbo_targfam) {
p("crt1.o");
p("MSL_All_Mach-O_D.lib");
} else {
if (gbk_targfam_carb == gbo_targfam) {
p("CarbonLib");
#if UseOpenGLinOSX
p("OpenGLLibraryStub");
#endif
} else {
p("InterfaceLib");
p("MathLib");
p("AppearanceLib");
p("MenusLib");
p("NavigationLib");
p("DragLib");
p("WindowsLib");
}
p("MSL_Runtime_PPC.Lib");
}
}
static void WriteMWLibAddFile(char *s)
{
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", s);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
if (gbk_targfam_mswn == gbo_targfam) {
WriteXMLtagBeginValEndLine("FILEKIND", "Unknown");
} else {
WriteXMLtagBeginValEndLine("FILEKIND", "Library");
}
WriteXMLtagBeginValEndLine("FILEFLAGS", "");
WriteEndXMLtagLine("FILE");
}
static void WriteMWLibMakeObjects(char *s)
{
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", s);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
static void WriteMWLibGroupList(char *s)
{
WriteBeginXMLtagLine("FILEREF");
WriteAllMWTargetName();
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", s);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
static void WriteMWProjRelSearchPath(MyProc p)
{
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SearchPath");
WriteBgnDestFileLn();
WriteXMLtagBegin("SETTING");
WriteXMLtagBegin("NAME");
WriteCStrToDestFile("Path");
WriteXMLtagEnd("NAME");
WriteXMLtagBegin("VALUE");
p();
WriteXMLtagEnd("VALUE");
WriteXMLtagEnd("SETTING");
WriteEndDestFileLn();
WriteXMLtagSettingNameVal("PathFormat", "MacOS");
WriteXMLtagSettingNameVal("PathRoot", "Project");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive", "true");
WriteXMLtagSettingNameVal("FrameworkPath", "false");
WriteXMLtagSettingNameVal("HostFlags", "All");
WriteEndXMLtagLine("SETTING");
}
static void WriteMWDrvRelSearchPath(char *s)
{
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SearchPath");
WriteXMLtagSettingNameVal("Path", s);
WriteXMLtagSettingNameVal("PathFormat", "MacOS");
WriteXMLtagSettingNameVal("PathRoot", "Project");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive", "true");
WriteXMLtagSettingNameVal("FrameworkPath", "false");
WriteXMLtagSettingNameVal("HostFlags", "All");
WriteEndXMLtagLine("SETTING");
}
static void WriteBeginXMLMWGroup(char *s)
{
WriteBgnDestFileLn();
WriteXMLtagBegin("GROUP");
WriteXMLtagBegin("NAME");
WriteCStrToDestFile(s);
WriteXMLtagEnd("NAME");
WriteEndDestFileLn();
++DestFileIndent;
}
static void WriteMWSettingsPanelComment(char *s)
{
WriteBgnDestFileLn();
WriteCStrToDestFile("<!-- Settings for ");
WriteQuoteToDestFile();
WriteCStrToDestFile(s);
WriteQuoteToDestFile();
WriteCStrToDestFile(" panel -->");
WriteEndDestFileLn();
}
static void WriteDocTypeMWAddFile(void)
{
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH",
WriteDocTypeIconFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteXMLtagBeginValEndLine("FILEKIND", "Unknown");
WriteXMLtagBeginValEndLine("FILEFLAGS", "");
WriteEndXMLtagLine("FILE");
}
static void WriteDocTypeMWMakeObjects(void)
{
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH",
WriteDocTypeIconFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
static void WriteDocTypeMWGroupList(void)
{
WriteBeginXMLtagLine("FILEREF");
WriteAllMWTargetName();
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH",
WriteDocTypeIconFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
static void DoSrcFileMW8AddFile(void)
{
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH", WriteSrcFileFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteXMLtagBeginValEndLine("FILEKIND", "Text");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagBeginValEndLine("FILEFLAGS", "Debug");
} else {
WriteXMLtagBeginValEndLine("FILEFLAGS", "");
}
WriteEndXMLtagLine("FILE");
}
static void DoSrcFileMW8sMakeObjects(void)
{
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH", WriteSrcFileFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
LOCALPROC DoSrcFileMW8GroupList(void)
{
WriteBeginXMLtagLine("FILEREF");
WriteAllMWTargetName();
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginProcValEndLine("PATH", WriteSrcFileFileName);
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
LOCALPROC WriteMetrowerksProjectFile(void)
{
WriteBgnDestFileLn();
WriteCStrToDestFile("<?xml version=");
WriteQuoteToDestFile();
WriteCStrToDestFile("1.0");
WriteQuoteToDestFile();
WriteCStrToDestFile(" encoding=");
WriteQuoteToDestFile();
WriteCStrToDestFile("UTF-8");
WriteQuoteToDestFile();
WriteCStrToDestFile(" standalone=");
WriteQuoteToDestFile();
WriteCStrToDestFile("yes");
WriteQuoteToDestFile();
WriteCStrToDestFile(" ?>");
WriteEndDestFileLn();
WriteBgnDestFileLn();
WriteCStrToDestFile("<?codewarrior exportversion=");
WriteQuoteToDestFile();
WriteCStrToDestFile("1.0.1");
WriteQuoteToDestFile();
WriteCStrToDestFile(" ideversion=");
WriteQuoteToDestFile();
WriteCStrToDestFile("5.0");
WriteQuoteToDestFile();
WriteCStrToDestFile(" ?>");
WriteEndDestFileLn();
WriteBlankLineToDestFile();
WriteBeginXMLtagLine("PROJECT");
WriteBeginXMLtagLine("TARGETLIST");
WriteBeginXMLtagLine("TARGET");
WriteXMLtagBeginProcValEndLine("NAME", WriteAppVariationStr);
WriteBeginXMLtagLine("SETTINGLIST");
WriteMWSettingsPanelComment("Access Paths");
if (gbk_targfam_mach == gbo_targfam) {
WriteXMLtagSettingNameVal(
"InterpretDOSAndUnixPaths", "true");
WriteXMLtagSettingNameVal(
"RequireFrameworkStyleIncludes", "true");
}
WriteBeginNamedSettingXMLtagLine("UserSearchPaths");
WriteMWProjRelSearchPath(Write_src_d_ToDestFile);
WriteMWProjRelSearchPath(Write_cfg_d_ToDestFile);
if (gbk_targfam_mach == gbo_targfam) {
/* seems to be wanted by property list compiler */
WriteMWDrvRelSearchPath(":");
}
WriteEndXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SystemSearchPaths");
if (gbk_targfam_mswn == gbo_targfam) {
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SearchPath");
WriteXMLtagSettingNameVal("Path", ":MSL:");
WriteXMLtagSettingNameVal("PathFormat",
"MacOS");
WriteXMLtagSettingNameVal("PathRoot",
"CodeWarrior");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive", "true");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags", "All");
WriteEndXMLtagLine("SETTING");
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SearchPath");
WriteXMLtagSettingNameVal("Path",
":Win32-x86 Support:");
WriteXMLtagSettingNameVal("PathFormat",
"MacOS");
WriteXMLtagSettingNameVal("PathRoot",
"CodeWarrior");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive", "true");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags", "All");
WriteEndXMLtagLine("SETTING");
} else {
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine("SearchPath");
WriteXMLtagSettingNameVal("Path",
":MSL:MSL_C:");
WriteXMLtagSettingNameVal("PathFormat",
"MacOS");
WriteXMLtagSettingNameVal("PathRoot",
"CodeWarrior");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive", "true");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags", "All");
WriteEndXMLtagLine("SETTING");
if (gbk_targfam_mach == gbo_targfam) {
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine(
"SearchPath");
WriteXMLtagSettingNameVal("Path",
":MacOS X Support:");
WriteXMLtagSettingNameVal("PathFormat",
"MacOS");
WriteXMLtagSettingNameVal("PathRoot",
"CodeWarrior");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive",
"true");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags",
"All");
WriteEndXMLtagLine("SETTING");
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine(
"SearchPath");
WriteXMLtagSettingNameVal("Path",
"/usr/include");
WriteXMLtagSettingNameVal("PathFormat",
"Unix");
WriteXMLtagSettingNameVal("PathRoot",
"Absolute");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive",
"false");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags",
"All");
WriteEndXMLtagLine("SETTING");
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine(
"SearchPath");
WriteXMLtagSettingNameVal("Path",
"/usr/lib");
WriteXMLtagSettingNameVal("PathFormat",
"Unix");
WriteXMLtagSettingNameVal("PathRoot",
"Absolute");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive",
"false");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags",
"All");
WriteEndXMLtagLine("SETTING");
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine(
"SearchPath");
WriteXMLtagSettingNameVal("Path",
"System/Library/Frameworks");
WriteXMLtagSettingNameVal("PathFormat",
"Unix");
WriteXMLtagSettingNameVal("PathRoot",
"OS X Volume");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive",
"false");
WriteXMLtagSettingNameVal("FrameworkPath",
"true");
WriteXMLtagSettingNameVal("HostFlags",
"All");
WriteEndXMLtagLine("SETTING");
} else {
WriteBeginXMLtagLine("SETTING");
WriteBeginNamedSettingXMLtagLine(
"SearchPath");
WriteXMLtagSettingNameVal("Path",
":MacOS Support:");
WriteXMLtagSettingNameVal("PathFormat",
"MacOS");
WriteXMLtagSettingNameVal("PathRoot",
"CodeWarrior");
WriteEndXMLtagLine("SETTING");
WriteXMLtagSettingNameVal("Recursive",
"true");
WriteXMLtagSettingNameVal("FrameworkPath",
"false");
WriteXMLtagSettingNameVal("HostFlags",
"All");
WriteEndXMLtagLine("SETTING");
}
}
WriteEndXMLtagLine("SETTING");
WriteBlankLineToDestFile();
WriteMWSettingsPanelComment("Target Settings");
if (gbk_targ_wx86 == cur_targ) {
WriteXMLtagSettingNameVal("Linker",
"Win32 x86 Linker");
} else if (gbk_targ_mach == cur_targ) {
WriteXMLtagSettingNameVal("Linker",
"MacOS X PPC Linker");
} else {
WriteXMLtagSettingNameVal("Linker",
"MacOS PPC Linker");
}
WriteXMLtagSettingNameProcVal("Targetname",
WriteAppVariationStr);
WriteBeginNamedSettingXMLtagLine("OutputDirectory");
WriteXMLtagSettingNameVal("Path", ":");
WriteXMLtagSettingNameVal("PathFormat", "MacOS");
WriteXMLtagSettingNameVal("PathRoot", "Project");
WriteEndXMLtagLine("SETTING");
WriteBlankLineToDestFile();
WriteMWSettingsPanelComment("Build Extras");
WriteXMLtagSettingNameVal("BrowserGenerator", "0");
WriteBlankLineToDestFile();
WriteMWSettingsPanelComment("Debugger Target");
WriteXMLtagSettingNameVal("StopAtTempBPOnLaunch", "false");
WriteBlankLineToDestFile();
WriteMWSettingsPanelComment("C/C++ Compiler");
WriteXMLtagSettingNameVal("MWFrontEnd_C_checkprotos", "1");
WriteXMLtagSettingNameVal("MWFrontEnd_C_enableexceptions",
"0");
if ((gbk_dbg_on == gbo_dbg)
|| (gbk_targfam_mswn == gbo_targfam))
{
/* inlining seems to give bad code for x86 version */
WriteXMLtagSettingNameVal("MWFrontEnd_C_dontinline",
"1");
} else {
WriteXMLtagSettingNameVal("MWFrontEnd_C_dontinline",
"0");
}
WriteXMLtagSettingNameVal("MWFrontEnd_C_useRTTI", "0");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal("MWFrontEnd_C_autoinline",
"0");
} else {
WriteXMLtagSettingNameVal("MWFrontEnd_C_autoinline",
"1");
}
WriteBlankLineToDestFile();
WriteMWSettingsPanelComment("C/C++ Warnings");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_illpragma", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_emptydecl", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_possunwant", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_unusedvar", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_unusedarg", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_warn_extracomma", "1");
WriteXMLtagSettingNameVal(
"MWWarning_C_pedantic", "1");
WriteBlankLineToDestFile();
if (gbk_targfam_mswn == gbo_targfam) {
WriteMWSettingsPanelComment("x86 CodeGen");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWCodeGen_X86_intrinsics", "0");
} else {
WriteXMLtagSettingNameVal(
"MWCodeGen_X86_intrinsics", "1");
}
} else if (gbk_targ_mach == cur_targ) {
WriteMWSettingsPanelComment("PPC CodeGen Mach-O");
WriteXMLtagSettingNameVal(
"MWCodeGen_MachO_structalignment", "PPC");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWCodeGen_MachO_peephole", "0");
WriteXMLtagSettingNameVal(
"MWCodeGen_MachO_schedule", "0");
} else {
WriteXMLtagSettingNameVal(
"MWCodeGen_MachO_peephole", "1");
WriteXMLtagSettingNameVal(
"MWCodeGen_MachO_schedule", "1");
}
} else {
WriteMWSettingsPanelComment("PPC CodeGen");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_tracebacktables", "Inline");
} else {
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_tracebacktables", "None");
}
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_vectortocdata", "0");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_peephole", "0");
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_schedule", "0");
} else {
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_peephole", "1");
WriteXMLtagSettingNameVal(
"MWCodeGen_PPC_schedule", "1");
}
}
WriteBlankLineToDestFile();
if (gbk_targfam_mswn == gbo_targfam) {
WriteMWSettingsPanelComment("x86 Global Optimizer");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86_optimizationlevel",
"Level0");
} else {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86_optimizationlevel",
"Level1");
/*
Level4 (and Level3 and Level2)
generates bade code.
*/
}
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86_optfor", "Size");
/*
work around what is probably bug
in windows version of mw8
*/
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86__optimizationlevel",
"Level0");
} else {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86__optimizationlevel",
"Level1");
}
WriteXMLtagSettingNameVal(
"GlobalOptimizer_X86__optfor", "Size");
} else {
WriteMWSettingsPanelComment("PPC Global Optimizer");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_PPC_optimizationlevel",
"Level0");
} else {
WriteXMLtagSettingNameVal(
"GlobalOptimizer_PPC_optimizationlevel",
"Level4");
}
WriteXMLtagSettingNameVal(
"GlobalOptimizer_PPC_optfor", "Size");
}
WriteBlankLineToDestFile();
if (gbk_targfam_mswn == gbo_targfam) {
WriteMWSettingsPanelComment("x86 Linker");
WriteXMLtagSettingNameVal(
"MWLinker_X86_subsystem", "WinGUI");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWLinker_X86_linkdebug", "true");
} else {
WriteXMLtagSettingNameVal(
"MWLinker_X86_linkdebug", "false");
}
WriteXMLtagSettingNameVal(
"MWLinker_X86_usedefaultlibs", "false");
} else if (gbk_targ_mach == cur_targ) {
WriteMWSettingsPanelComment("PPC Mac OS X Linker");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWLinker_MacOSX_linksym", "1");
} else {
WriteXMLtagSettingNameVal(
"MWLinker_MacOSX_linksym", "0");
}
WriteXMLtagSettingNameVal(
"MWLinker_MacOSX_symfullpath", "1");
WriteXMLtagSettingNameVal(
"MWLinker_MacOSX_permitmultdefs", "0");
if (gbk_dbg_on != gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWLinker_MacOSX_strip_debug_symbols", "1");
}
} else {
WriteMWSettingsPanelComment("PPC Linker");
if (gbk_dbg_on == gbo_dbg) {
WriteXMLtagSettingNameVal(
"MWLinker_PPC_linksym", "1");
} else {
WriteXMLtagSettingNameVal(
"MWLinker_PPC_linksym", "0");
}
WriteXMLtagSettingNameVal(
"MWLinker_PPC_linkmode", "Normal");
}
WriteBlankLineToDestFile();
if (gbk_targfam_mswn == gbo_targfam) {
WriteMWSettingsPanelComment("x86 Project");
WriteXMLtagSettingNameProcVal(
"MWProject_X86_outfile", WriteAppNameStr);
} else if (gbk_targ_mach == cur_targ) {
WriteMWSettingsPanelComment("PPC Mac OS X Project");
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_type", "ApplicationPackage");
WriteXMLtagSettingNameProcVal(
"MWProject_MacOSX_outfile", WriteAppNameStr);
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_filecreator", kMacCreatorSig);
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_filetype", "APPL");
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_vmaddress", "0");
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_flatrsrc", "1");
WriteXMLtagSettingNameVal(
"MWProject_MacOSX_flatrsrcfilename", "");
WriteBeginNamedSettingXMLtagLine(
"MWProject_MacOSX_flatrsrcoutputdir");
WriteXMLtagSettingNameVal("Path", ":");
WriteXMLtagSettingNameVal("PathFormat", "MacOS");
WriteXMLtagSettingNameVal("PathRoot", "Project");
WriteEndXMLtagLine("SETTING");
} else {
WriteMWSettingsPanelComment("PPC Project");
WriteXMLtagSettingNameVal(
"MWProject_PPC_outfile", vStrAppAbbrev);
WriteXMLtagSettingNameVal(
"MWProject_PPC_filecreator", kMacCreatorSig);
WriteXMLtagSettingNameVal(
"MWProject_PPC_size", "6000");
WriteXMLtagSettingNameVal(
"MWProject_PPC_minsize", "3000");
WriteXMLtagSettingNameVal(
"MWProject_PPC_flags", "22768");
}
WriteEndXMLtagLine("SETTINGLIST");
WriteBeginXMLtagLine("FILELIST");
WriteMWLibs(WriteMWLibAddFile);
if (gbk_targfam_mswn == gbo_targfam) {
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.RC");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteXMLtagBeginValEndLine("FILEKIND", "Text");
WriteXMLtagBeginValEndLine("FILEFLAGS", "");
WriteEndXMLtagLine("FILE");
} else if (gbk_targfam_mach == gbo_targfam) {
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.plc");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteXMLtagBeginValEndLine("FILEKIND", "Text");
WriteXMLtagBeginValEndLine("FILEFLAGS", "Debug");
WriteEndXMLtagLine("FILE");
DoAllDocTypesWithSetup(WriteDocTypeMWAddFile);
} else {
WriteBeginXMLtagLine("FILE");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.r");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteXMLtagBeginValEndLine("FILEKIND", "Text");
WriteXMLtagBeginValEndLine("FILEFLAGS", "");
WriteEndXMLtagLine("FILE");
}
DoAllSrcFilesWithSetup(DoSrcFileMW8AddFile);
WriteEndXMLtagLine("FILELIST");
WriteBeginXMLtagLine("LINKORDER");
WriteMWLibs(WriteMWLibMakeObjects);
if (gbk_targfam_mswn == gbo_targfam) {
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.RC");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
} else if (gbk_targfam_mach == gbo_targfam) {
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.plc");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
DoAllDocTypesWithSetup(WriteDocTypeMWMakeObjects);
} else {
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH", "main.r");
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
}
DoAllSrcFilesSortWithSetup(DoSrcFileMW8sMakeObjects);
WriteEndXMLtagLine("LINKORDER");
if (gbk_targfam_mach == gbo_targfam) {
WriteBeginXMLtagLine("FRAMEWORKLIST");
WriteBeginXMLtagLine("FRAMEWORK");
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine(
"PATH", "Carbon.framework");
WriteXMLtagBeginValEndLine(
"PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine(
"DYNAMICLIBRARY", "Carbon");
WriteEndXMLtagLine("FRAMEWORK");
#if UseOpenGLinOSX
WriteBeginXMLtagLine("FRAMEWORK");
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine("PATH",
"OpenGL.framework");
WriteXMLtagBeginValEndLine(
"PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine(
"DYNAMICLIBRARY", "OpenGL");
WriteEndXMLtagLine("FRAMEWORK");
WriteBeginXMLtagLine("FRAMEWORK");
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine(
"PATH", "AGL.framework");
WriteXMLtagBeginValEndLine(
"PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("DYNAMICLIBRARY", "AGL");
WriteEndXMLtagLine("FRAMEWORK");
#endif
WriteBeginXMLtagLine("FRAMEWORK");
WriteBeginXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
WriteXMLtagBeginValEndLine(
"PATH", "System.framework");
WriteXMLtagBeginValEndLine(
"PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
WriteXMLtagBeginValEndLine(
"DYNAMICLIBRARY", "System");
WriteEndXMLtagLine("FRAMEWORK");
WriteEndXMLtagLine("FRAMEWORKLIST");
} /* (gbk_targfam_mach == gbo_targfam) */
WriteEndXMLtagLine("TARGET");
WriteEndXMLtagLine("TARGETLIST");
WriteBlankLineToDestFile();
WriteBeginXMLtagLine("TARGETORDER");
WriteBgnDestFileLn();
WriteXMLtagBegin("ORDEREDTARGET");
WriteXMLtagBegin("NAME");
WriteAppVariationStr();
WriteXMLtagEnd("NAME");
WriteXMLtagEnd("ORDEREDTARGET");
WriteEndDestFileLn();
WriteEndXMLtagLine("TARGETORDER");
WriteBlankLineToDestFile();
WriteBeginXMLtagLine("GROUPLIST");
WriteBeginXMLMWGroup("Libraries");
WriteMWLibs(WriteMWLibGroupList);
WriteEndXMLtagLine("GROUP");
WriteBeginXMLMWGroup("Resources");
WriteBeginXMLtagLine("FILEREF");
WriteAllMWTargetName();
WriteXMLtagBeginValEndLine("PATHTYPE", "Name");
if (gbk_targfam_mswn == gbo_targfam) {
WriteXMLtagBeginValEndLine("PATH", "main.RC");
} else {
if (HaveMacBundleApp) {
WriteXMLtagBeginValEndLine("PATH", "main.plc");
} else {
WriteXMLtagBeginValEndLine("PATH", "main.r");
}
}
WriteXMLtagBeginValEndLine("PATHFORMAT", "MacOS");
WriteEndXMLtagLine("FILEREF");
if (HaveMacBundleApp) {
DoAllDocTypesWithSetup(WriteDocTypeMWGroupList);
}
WriteEndXMLtagLine("GROUP");
DoAllSrcFilesWithSetup(DoSrcFileMW8GroupList);
WriteEndXMLtagLine("GROUPLIST");
WriteBlankLineToDestFile();
WriteEndXMLtagLine("PROJECT");
}
LOCALPROC WriteMetrowerksSpecificFiles(void)
{
if (HaveMacBundleApp) {
WritePListData();
}
WriteADstFile1("my_project_d",
vStrAppAbbrev, ".mcp.xml", ".mcp.xml",
WriteMetrowerksProjectFile);
}