From a9fe17440a1845e73d91d885adcd14e628f48112 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 14 Apr 2016 14:24:52 -0700 Subject: [PATCH] Support for "private" builds --- _config.yml | 2 +- _includes/machine-engines.html | 11 ++++- modules/shared/lib/defines.js | 5 +++ modules/shared/lib/embed.js | 1 + modules/shared/lib/private.js | 42 +++++++++++++++++++ .../software/tools/microsoft/c/5.00/README.md | 10 +++++ pubs/pc/software/tools/microsoft/c/README.md | 1 + .../tools/microsoft/masm/5.00/README.md | 2 +- 8 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 modules/shared/lib/private.js create mode 100644 pubs/pc/software/tools/microsoft/c/5.00/README.md diff --git a/_config.yml b/_config.yml index f15b97ad3..09dc8f1b3 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ encoding: UTF-8 # Build settings -exclude: ["index.html", "**/index.html", "**/archive", "**/c64", "logs", "node_modules", "src", "**/src", "tmp", "**/tmp", "videos", "web", ".git", ".idea"] +exclude: ["index.html", "**/index.html", "archive", "**/archive", "**/c64", "logs", "node_modules", "src", "**/src", "tmp", "**/tmp", "videos", "web", ".git", ".idea"] markdown: kramdown kramdown: input: GFM diff --git a/_includes/machine-engines.html b/_includes/machine-engines.html index 8d9357f79..4f570bbc5 100644 --- a/_includes/machine-engines.html +++ b/_includes/machine-engines.html @@ -104,8 +104,15 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a {% capture machine_script %}{% endcapture %} {% unless machine_scripts contains machine_script %} {{ machine_script }} - {% if script contains "js/lib/defines.js" and machine.debugger != true %} - {{ machine_script | replace:"defines.js","nodebugger.js" }} + {% if script contains "shared/lib/defines.js" %} + {% if site.pcjs.private %} + {{ machine_script | replace:"defines.js","private.js" }} + {% endif %} + {% endif %} + {% if script contains "js/lib/defines.js" %} + {% if machine.debugger != true %} + {{ machine_script | replace:"defines.js","nodebugger.js" }} + {% endif %} {% endif %} {% endunless %} {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} diff --git a/modules/shared/lib/defines.js b/modules/shared/lib/defines.js index 2dec4c10d..b82e66490 100644 --- a/modules/shared/lib/defines.js +++ b/modules/shared/lib/defines.js @@ -64,6 +64,11 @@ var DEBUG = true; // this @define is overridden by the Closure Com */ var MAXDEBUG = false; // this @define is overridden by the Closure Compiler (to false) to remove MAXDEBUG-only code +/** + * @define {boolean} + */ +var PRIVATE = false; // this @define is overridden by the Closure Compiler (to false) to enable PRIVATE code + /* * NODE should be true if we're running under NodeJS (eg, command-line), false if not (eg, web browser) */ diff --git a/modules/shared/lib/embed.js b/modules/shared/lib/embed.js index 03781e105..3c7c16bcf 100644 --- a/modules/shared/lib/embed.js +++ b/modules/shared/lib/embed.js @@ -218,6 +218,7 @@ function parseXML(sXML, sXMLFile, idMachine, sParms, fResolve, display, done) done(sXML, xmlDoc); }; if (sXML) { + if (PRIVATE) sXML = sXML.replace(/\/library.xml/, "/private/library.xml"); if (fResolve) { resolveXML(sXML, display, buildXML); return; diff --git a/modules/shared/lib/private.js b/modules/shared/lib/private.js new file mode 100644 index 000000000..dbcbe9c9b --- /dev/null +++ b/modules/shared/lib/private.js @@ -0,0 +1,42 @@ +/** + * @fileoverview Definitions for PRIVATE configurations. + * @author Jeff Parsons + * @version 1.0 + * Created 2016-Apr-14 + * + * Copyright © 2012-2016 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.COPYRIGHT). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +/* global PRIVATE: true */ + +/* + * PRIVATE enables certain private features that we don't want enabled on the public web server, so by default, + * PRIVATE is false. For Jekyll configurations, if site.pcjs.private is set, this file gets included, overriding + * the default. + */ +PRIVATE = true; diff --git a/pubs/pc/software/tools/microsoft/c/5.00/README.md b/pubs/pc/software/tools/microsoft/c/5.00/README.md new file mode 100644 index 000000000..28e918988 --- /dev/null +++ b/pubs/pc/software/tools/microsoft/c/5.00/README.md @@ -0,0 +1,10 @@ +--- +layout: page +title: Microsoft C Optimizing Compiler 5.0 Documentation +permalink: /pubs/pc/software/tools/microsoft/c/5.00/ +--- + +Microsoft C Optimizing Compiler 5.0 Documentation +--- + +* [MSC 5.0 User's Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/c/5.00/MSC50-USERGUIDE.pdf) diff --git a/pubs/pc/software/tools/microsoft/c/README.md b/pubs/pc/software/tools/microsoft/c/README.md index 8933767f6..42f0051d3 100644 --- a/pubs/pc/software/tools/microsoft/c/README.md +++ b/pubs/pc/software/tools/microsoft/c/README.md @@ -8,4 +8,5 @@ Microsoft C Compiler --- * [Microsoft C Compiler 4.0](4.00/) +* [Microsoft C Optimizing Compiler 5.0](5.00/) * [Microsoft C Optimizing Compiler 5.1](5.10/) diff --git a/pubs/pc/software/tools/microsoft/masm/5.00/README.md b/pubs/pc/software/tools/microsoft/masm/5.00/README.md index b87b916ab..92eef656d 100644 --- a/pubs/pc/software/tools/microsoft/masm/5.00/README.md +++ b/pubs/pc/software/tools/microsoft/masm/5.00/README.md @@ -8,7 +8,7 @@ Microsoft Macro Assembler 5.0 Manuals --- * [MASM 5.0 Reference](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-POCKETREF.pdf) -* [MASM 5.0 Mixed-Language Programming Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-PROGGUIDE.pdf) +* [MASM 5.0 Mixed-Language Programming Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-MLPROGGUIDE.pdf) * [MASM 5.0 CodeView and Utilities Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-UTILGUIDE.pdf) Microsoft Macro Assembler 5.x Ephemera