Skip to content

Commit

Permalink
Import Mini vMac 180805
Browse files Browse the repository at this point in the history
The latest Mini vMac Development source snapshot fixes support for all
supported IDEs in the new configuration tool. The new tool always uses
the equivalent of "-cfg 1 -no-src 1" in the old build system, but these
options were previously only implemented for "-e mvc".

Also, Apple Xcode 9.4.1 is now supported.

And also, a memory leak is fixed in the Cocoa port for OS X, when
exporting the clipboard. This was found by the Xcode Analyze feature.
  • Loading branch information
ryandesign committed Aug 9, 2019
1 parent 95f6f38 commit 118ce01
Show file tree
Hide file tree
Showing 14 changed files with 176 additions and 33 deletions.
7 changes: 6 additions & 1 deletion setup/BLDUTIL3.i
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ LOCALPROC WriteLProjFolderName(void)

LOCALPROC WriteLProjFolderPath(void)
{
WriteSubDirToDestFile(Write_src_d_ToDestFile,
WriteSubDirToDestFile(Write_cfg_d_ToDestFile,
WriteLProjFolderName);
}

Expand Down Expand Up @@ -829,6 +829,11 @@ LOCALPROC WriteMakeDependFile(MyProc p)
}
}

LOCALPROC WriteMainRsrcObjMSCdeps(void)
{
WriteMakeDependFile(WriteMainRsrcSrcPath);
}

LOCALPROC WriteMakeRule(MyProc ptarg,
MyProc pdeps, MyProc pbody)
{
Expand Down
5 changes: 4 additions & 1 deletion setup/USFILDEF.i
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,10 @@ LOCALPROC WriteExtraHeaderFileName(void)

LOCALPROC WriteExtraHeaderFilePath(void)
{
WriteFileInDirToDestFile0(Write_src_d_ToDestFile,
WriteFileInDirToDestFile0(
((kDepDirCnfg == DoSrcFile_gd()->DepDir)
? Write_cfg_d_ToDestFile
: Write_src_d_ToDestFile),
WriteExtraHeaderFileName);
}

Expand Down
8 changes: 4 additions & 4 deletions setup/WRBGCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,10 @@ LOCALPROC WriteBgcCOptions(void)
}

if (1 /* WantConfigDir */) {
WriteCStrToDestFile(" -I./");
Write_cfg_d_Name();
WriteCStrToDestFile(" -I./");
Write_src_d_Name();
WriteCStrToDestFile(" -I");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(" -I");
Write_src_d_ToDestFile();
}
}

Expand Down
4 changes: 4 additions & 0 deletions setup/WRCCCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ LOCALPROC WriteCccMakeFile(void)
WriteBlankLineToDestFile();

WriteDestFileLn("mk_COptions = -c");
WriteCStrToDestFile(" -I");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(" -I");
Write_src_d_ToDestFile();
WriteBlankLineToDestFile();

WriteBgnDestFileLn();
Expand Down
10 changes: 9 additions & 1 deletion setup/WRDMCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,23 @@ LOCALPROC WriteMainRsrcObjDMCbuild(void)
WriteMainRsrcObjPath();
WriteSpaceToDestFile();
WriteMainRsrcSrcPath();
WriteCStrToDestFile(" -I");
Write_src_d_ToDestFile();
WriteEndDestFileLn();
}

LOCALPROC WriteDMCclMakeFile(void)
{
WriteDestFileLn("# make file generated by gryphel build system");
WriteBlankLineToDestFile();
WriteDestFileLn("mk_COptions = -c -r -WA");
WriteBgnDestFileLn();
WriteCStrToDestFile("mk_COptions = -c -r -WA");
/* -o+space seems to generate bad code, compiler version 8.42n */
WriteCStrToDestFile(" -I");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(" -I");
Write_src_d_ToDestFile();
WriteEndDestFileLn();
WriteBlankLineToDestFile();

WriteBgnDestFileLn();
Expand Down
7 changes: 7 additions & 0 deletions setup/WRDVCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,13 @@ LOCALPROC WriteDevCProjectFile(void)
WriteDestFileLn("Type=0");
WriteDestFileLn("Ver=1");

WriteBgnDestFileLn();
WriteCStrToDestFile("Includes=");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(" ");
Write_src_d_ToDestFile();
WriteEndDestFileLn();

WriteBgnDestFileLn();
WriteCStrToDestFile("PrivateResource=");
WriteAppVariationStr();
Expand Down
7 changes: 7 additions & 0 deletions setup/WRLCCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ LOCALPROC WriteLccW32WorkSpaceFile(void)
WriteCStrToDestFile("c:\\output");
WriteEndDestFileLn();

WriteBgnDestFileLn();
WriteCStrToDestFile("Includes=");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(" ");
Write_src_d_ToDestFile();
WriteEndDestFileLn();

WriteBgnDestFileLn();
WriteCStrToDestFile("MakeDir=");
Write_obj_d_ToDestFile();
Expand Down
25 changes: 23 additions & 2 deletions setup/WRMPWFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ LOCALPROC WriteLongGlueSourceName(void)

LOCALPROC WriteLongGlueSourcePath(void)
{
WriteFileInDirToDestFile0(Write_src_d_ToDestFile,
WriteFileInDirToDestFile0(Write_cfg_d_ToDestFile,
WriteLongGlueSourceName);
}

Expand Down Expand Up @@ -118,6 +118,16 @@ static void WriteMPWCOptions(blnr fast)
}
}
}

WriteCStrToDestFile(" -i ");
WriteQuoteToDestFile();
Write_cfg_d_ToDestFile();
WriteQuoteToDestFile();

WriteCStrToDestFile(" -i ");
WriteQuoteToDestFile();
Write_src_d_ToDestFile();
WriteQuoteToDestFile();
}

LOCALPROC WriteMainRsrcObjDeps(void)
Expand All @@ -129,6 +139,17 @@ LOCALPROC WriteMainRsrcObjMPWbody(void)
{
WriteBgnDestFileLn();
WriteCStrToDestFile("Rez -t rsrc -c RSED -i \"{RIncludes}\" \"");

WriteCStrToDestFile(" -i ");
WriteQuoteToDestFile();
Write_cfg_d_ToDestFile();
WriteQuoteToDestFile();

WriteCStrToDestFile(" -i ");
WriteQuoteToDestFile();
Write_src_d_ToDestFile();
WriteQuoteToDestFile();

WriteMainRsrcSrcPath();
WriteCStrToDestFile("\" -o \"");
WriteMainRsrcObjPath();
Expand Down Expand Up @@ -318,7 +339,7 @@ LOCALPROC WriteMPWMakeFile(void)

LOCALPROC WriteMPWSpecificFiles(void)
{
if (gbk_cpufam_68k != gbo_cpufam) {
if (gbk_cpufam_68k == gbo_cpufam) {
WriteADstFile1("my_config_d",
"LONGGLUE", ".S", "entry point glue for large program",
WriteLONGGLUEContents);
Expand Down
57 changes: 48 additions & 9 deletions setup/WRMSCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,10 @@ LOCALPROC WriteMSVCProjectFile(void)
if (! WinCE) {
WriteCStrToDestFile(" /FD");
}
WriteCStrToDestFile(" /I ");
WriteQuoteToDestFile();
Write_cfg_d_ToDestFile();
WriteQuoteToDestFile();
WriteEndDestFileLn();

WriteDestFileLn("# ADD BASE MTL");
Expand All @@ -586,6 +590,10 @@ LOCALPROC WriteMSVCProjectFile(void)
WriteBgnDestFileLn();
WriteCStrToDestFile("# ADD RSC ");
WriteRCexeFlags();
WriteCStrToDestFile(" /I ");
WriteQuoteToDestFile();
Write_src_d_ToDestFile();
WriteQuoteToDestFile();
WriteEndDestFileLn();

WriteDestFileLn("BSC32=bscmake.exe");
Expand Down Expand Up @@ -779,6 +787,10 @@ LOCALPROC WriteMSVCCompilerToolConfig(void)
"PreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"");
WriteDestFileLn("StringPooling=\"true\"");
}

WriteXMLQuotedProp("AdditionalIncludeDirectories",
Write_cfg_d_ToDestFile);

WriteDestFileLn("ExceptionHandling=\"0\"");
if (gbk_dbg_on == gbo_dbg) {
WriteDestFileLn("BasicRuntimeChecks=\"3\"");
Expand Down Expand Up @@ -813,6 +825,12 @@ LOCALPROC WriteMSVCCompilerToolConfig(void)
WriteDestFileLn("CompileAs=\"0\"");
}

LOCALPROC WriteMSVCResourceCompilerToolConfig(void)
{
WriteXMLQuotedProp("AdditionalIncludeDirectories",
Write_src_d_ToDestFile);
}

LOCALPROC WriteMSVCLinkerToolConfig(void)
{
WriteDestFileLn("AdditionalDependencies=\"winmm.lib\"");
Expand Down Expand Up @@ -860,7 +878,8 @@ LOCALPROC WriteMSVCXMLConfigurationBody(void)
if (ide_vers >= 8000) {
WriteMSVCToolConfig("VCManagedResourceCompilerTool", NULL);
}
WriteMSVCToolConfig("VCResourceCompilerTool", NULL);
WriteMSVCToolConfig("VCResourceCompilerTool",
WriteMSVCResourceCompilerToolConfig);
WriteMSVCToolConfig("VCPreLinkEventTool", NULL);
WriteMSVCToolConfig("VCLinkerTool", WriteMSVCLinkerToolConfig);
if (ide_vers >= 8000) {
Expand Down Expand Up @@ -1248,19 +1267,19 @@ LOCALPROC DoSrcFileNMakeAddObjFile(void)
WriteEndDestFileLn();
}

LOCALPROC WriteMainRsrcObjMSCdeps(void)
{
WriteMakeDependFile(WriteMainRsrcSrcPath);
}

LOCALPROC WriteMainRsrcObjMSCbuild(void)
{
WriteBgnDestFileLn();
WriteCStrToDestFile("rc.exe ");
WriteRCexeFlags();
WriteCStrToDestFile(" /fo\"");
WriteMainRsrcObjPath();
WriteCStrToDestFile("\" \"");
WriteCStrToDestFile("\"");
WriteCStrToDestFile(" /i");
WriteQuoteToDestFile();
Write_src_d_ToDestFile();
WriteQuoteToDestFile();
WriteCStrToDestFile(" \"");
WriteMainRsrcSrcPath();
WriteCStrToDestFile("\"");
WriteEndDestFileLn();
Expand All @@ -1276,12 +1295,16 @@ LOCALPROC WriteNMakeMakeFile(void)
WriteBgnDestFileLn();
WriteCStrToDestFile("mk_COptions=");
WriteCLexeFlags();
WriteCStrToDestFile(" /I\"");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile("\\\\\"");
/* yes, a double backslash is what is needed */
WriteCStrToDestFile(" /Fo\"");
Write_obj_d_ToDestFile();
WriteCStrToDestFile("\\\\\" /Fd\"");
WriteCStrToDestFile("\\\\\"");
WriteCStrToDestFile(" /Fd\"");
Write_obj_d_ToDestFile();
WriteCStrToDestFile("\\\\\"");
/* yes, a double backslash is what is needed */
WriteEndDestFileLn();

WriteBlankLineToDestFile();
Expand Down Expand Up @@ -1671,12 +1694,28 @@ LOCALPROC WriteMSVCXML10ProjectFile(void)
maybe more compatibility issues
*/
}
WriteBgnDestFileLn();
WriteXMLtagBegin("AdditionalIncludeDirectories");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile(";%(AdditionalIncludeDirectories)");
WriteXMLtagEnd("AdditionalIncludeDirectories");
WriteEndDestFileLn();

WriteXMLtagBeginValEndLine("FunctionLevelLinking",
"true");
WriteXMLtagBeginValEndLine("ExceptionHandling",
"false");
WriteEndXMLtagLine("ClCompile");

WriteBeginXMLtagLine("ResourceCompile");
WriteBgnDestFileLn();
WriteXMLtagBegin("AdditionalIncludeDirectories");
Write_src_d_ToDestFile();
WriteCStrToDestFile(";%(AdditionalIncludeDirectories)");
WriteXMLtagEnd("AdditionalIncludeDirectories");
WriteEndDestFileLn();
WriteEndXMLtagLine("ResourceCompile");

WriteBeginXMLtagLine("Link");
WriteXMLtagBeginValEndLine("SubSystem", "Windows");
if (gbk_dbg_on == gbo_dbg) {
Expand Down
1 change: 1 addition & 0 deletions setup/WRMW8FLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ LOCALPROC WriteMetrowerksProjectFile(void)
}
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(":");
Expand Down
16 changes: 13 additions & 3 deletions setup/WRPLCFLS.i
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,19 @@ LOCALPROC WritePLCProjectFile(void)
"SIGNFLAGS = -timeurl:http://"
"timestamp.verisign.com/scripts/timstamp.dll"
" -location:CU -store:MY -errkill#");
WriteDestFileLn(
"INCLUDE = $(PellesCDir)\\Include\\Win;"
"$(PellesCDir)\\Include#");

WriteBgnDestFileLn();
WriteCStrToDestFile("INCLUDE = ");
WriteCStrToDestFile("$(PellesCDir)\\Include\\Win");
WriteCStrToDestFile(";");
WriteCStrToDestFile("$(PellesCDir)\\Include");
WriteCStrToDestFile(";");
Write_src_d_ToDestFile();
WriteCStrToDestFile(";");
Write_cfg_d_ToDestFile();
WriteCStrToDestFile("#");
WriteEndDestFileLn();

WriteDestFileLn(
"LIB = $(PellesCDir)\\Lib\\Win;$(PellesCDir)\\Lib#");
WriteDestFileLn("WizCreator = Pelle Orinius#");
Expand Down
Loading

0 comments on commit 118ce01

Please sign in to comment.