From 5894411a35b4c762bd5f35591952d1e9eb677508 Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Sun, 3 May 2026 19:45:29 +0100 Subject: [PATCH] chore(license): relicense from BSD-3-Clause to Apache 2.0 + Runtime Library Exception MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adopts the Swift/LLVM model: Apache License 2.0 with the Runtime Library Exception text used verbatim by the Swift project. SPDX identifier: Apache-2.0 WITH Swift-exception. Apache 2.0 brings an explicit patent grant and patent-retaliation clause that BSD-3 lacks. The Runtime Library Exception ensures binaries produced by the Blaise compiler do not inherit attribution obligations from the linked-in RTL. * LICENSE — full Apache 2.0 + RLE text (replaces the deleted LICENCE). * NOTICE — project header plus QBE attribution (MIT, vendored). * docs/language-rationale.adoc — new Project Governance section capturing the decision, alternatives considered, and rationale. * SPDX headers updated across all .pas, .pp, .inc, .c source files, build scripts, PasBuild plugins, and the Makefile. * project.xml license field updated. * tools/migrate_full.py HEADER template updated so generated self-hosting source carries the new licence. --- LICENCE | 30 --- LICENSE | 211 ++++++++++++++++++ NOTICE | 10 + compiler/src/it/run_tests.sh | 7 + compiler/src/it/test_02_breakpoint_next.pas | 8 + compiler/src/it/test_06_local_variables.pas | 8 + compiler/src/it/test_14_locals.pas | 8 + compiler/src/it/test_26_step_over.pas | 8 + compiler/src/main/pascal/Blaise.pas | 3 +- compiler/src/main/pascal/uAST.pas | 3 +- compiler/src/main/pascal/uCodeGenQBE.pas | 3 +- compiler/src/main/pascal/uDebugOPDF.pas | 3 +- compiler/src/main/pascal/uLexer.pas | 3 +- compiler/src/main/pascal/uParser.pas | 3 +- compiler/src/main/pascal/uPasTokeniser.pas | 3 +- compiler/src/main/pascal/uSemantic.pas | 3 +- compiler/src/main/pascal/uSymbolTable.pas | 3 +- compiler/src/main/pascal/uUnitLoader.pas | 3 +- compiler/src/test/pascal/TestRunner.pas | 3 +- compiler/src/test/pascal/cp.test.arc.pas | 3 +- .../src/test/pascal/cp.test.booleanops.pas | 3 +- compiler/src/test/pascal/cp.test.caseenum.pas | 3 +- .../src/test/pascal/cp.test.chainedfields.pas | 3 +- compiler/src/test/pascal/cp.test.classes.pas | 3 +- compiler/src/test/pascal/cp.test.codegen.pas | 3 +- .../src/test/pascal/cp.test.collections.pas | 3 +- .../src/test/pascal/cp.test.constants.pas | 3 +- compiler/src/test/pascal/cp.test.control.pas | 3 +- compiler/src/test/pascal/cp.test.e2e.pas | 3 +- .../src/test/pascal/cp.test.exceptions.pas | 3 +- compiler/src/test/pascal/cp.test.external.pas | 3 +- .../src/test/pascal/cp.test.flowjumps.pas | 3 +- compiler/src/test/pascal/cp.test.forin.pas | 3 +- compiler/src/test/pascal/cp.test.forloop.pas | 3 +- .../src/test/pascal/cp.test.functions.pas | 3 +- .../pascal/cp.test.genericconstraints.pas | 3 +- .../test/pascal/cp.test.genericdefaults.pas | 3 +- .../src/test/pascal/cp.test.genericforin.pas | 3 +- .../src/test/pascal/cp.test.genericfuncs.pas | 3 +- .../src/test/pascal/cp.test.genericintfs.pas | 3 +- .../pascal/cp.test.genericmethodimpls.pas | 3 +- compiler/src/test/pascal/cp.test.generics.pas | 3 +- compiler/src/test/pascal/cp.test.inherit.pas | 3 +- .../src/test/pascal/cp.test.interfaces.pas | 3 +- compiler/src/test/pascal/cp.test.lexer.pas | 3 +- compiler/src/test/pascal/cp.test.methods.pas | 3 +- .../src/test/pascal/cp.test.multifile.pas | 3 +- .../src/test/pascal/cp.test.multiwrite.pas | 3 +- compiler/src/test/pascal/cp.test.opdf.pas | 3 +- .../src/test/pascal/cp.test.openarray.pas | 3 +- compiler/src/test/pascal/cp.test.parser.pas | 3 +- compiler/src/test/pascal/cp.test.pchar.pas | 3 +- compiler/src/test/pascal/cp.test.pointers.pas | 3 +- compiler/src/test/pascal/cp.test.process.pas | 3 +- compiler/src/test/pascal/cp.test.procs.pas | 3 +- .../src/test/pascal/cp.test.properties.pas | 3 +- compiler/src/test/pascal/cp.test.records.pas | 3 +- .../src/test/pascal/cp.test.repeatloop.pas | 3 +- .../src/test/pascal/cp.test.selfhosting.pas | 3 +- compiler/src/test/pascal/cp.test.semantic.pas | 3 +- compiler/src/test/pascal/cp.test.sets.pas | 3 +- .../src/test/pascal/cp.test.staticarray.pas | 3 +- .../src/test/pascal/cp.test.stringops.pas | 3 +- compiler/src/test/pascal/cp.test.symtable.pas | 3 +- .../src/test/pascal/cp.test.tdictionary.pas | 3 +- compiler/src/test/pascal/cp.test.tlist.pas | 3 +- .../src/test/pascal/cp.test.typetests.pas | 3 +- compiler/src/test/pascal/cp.test.units.pas | 3 +- .../src/test/pascal/cp.test.varparams.pas | 3 +- compiler/src/test/pascal/cp.test.vtable.pas | 3 +- compiler/src/test/pascal/cp.test.weakref.pas | 3 +- docs/language-rationale.adoc | 114 ++++++++++ plugins/pasbuild-blaise-compile | 7 + plugins/pasbuild-integration-test | 7 + project.xml | 2 +- rtl/Makefile | 7 + rtl/src/main/c/blaise_arc_class.c | 6 + rtl/src/main/c/blaise_exc.c | 6 + rtl/src/main/c/blaise_io.c | 6 + rtl/src/main/c/blaise_process.c | 6 + rtl/src/main/c/blaise_str_fmt.c | 6 + rtl/src/main/c/blaise_sys_posix.c | 6 + rtl/src/main/c/blaise_weak.c | 6 + rtl/src/main/pascal/Process.pas | 3 +- rtl/src/main/pascal/blaise_arc.pas | 3 +- .../main/pascal/blaise_arc_build_driver.pas | 3 +- rtl/src/main/pascal/blaise_str.pas | 3 +- .../main/pascal/blaise_str_build_driver.pas | 3 +- rtl/src/main/pascal/blaise_sys.pas | 3 +- .../main/pascal/blaise_sys_build_driver.pas | 3 +- rtl/src/main/pascal/classes.pas | 3 +- rtl/src/main/pascal/contnrs.pas | 3 +- rtl/src/main/pascal/generics.collections.pas | 3 +- rtl/src/main/pascal/generics.defaults.pas | 3 +- rtl/src/main/pascal/strutils.pas | 3 +- rtl/src/main/pascal/system.pas | 3 +- rtl/src/main/pascal/sysutils.pas | 3 +- rtl/src/test/pascal/test_blaise_str.pas | 3 +- tests/integration/test_arc_strings.sh | 7 + tests/phase2_milestone.pas | 3 +- tests/phase3_milestone.pas | 3 +- tools/migrate_full.py | 11 +- .../src/main/pascal/MigrationAnalyser.pas | 8 + 103 files changed, 623 insertions(+), 112 deletions(-) delete mode 100644 LICENCE create mode 100644 LICENSE create mode 100644 NOTICE diff --git a/LICENCE b/LICENCE deleted file mode 100644 index 183d5cf..0000000 --- a/LICENCE +++ /dev/null @@ -1,30 +0,0 @@ -BSD 3-Clause Licence - -Copyright (c) 2026, Graeme Geldenhuys -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..61b0c78 --- /dev/null +++ b/LICENSE @@ -0,0 +1,211 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +## Runtime Library Exception to the Apache 2.0 License: ## + + + As an exception, if you use this Software to compile your source code and + portions of this Software are embedded into the binary product as a result, + you may redistribute such product without providing attribution as would + otherwise be required by Sections 4(a), 4(b) and 4(d) of the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..8a16a40 --- /dev/null +++ b/NOTICE @@ -0,0 +1,10 @@ +Blaise — An Object Pascal Compiler +Copyright 2026 Graeme Geldenhuys + +This product includes software developed by third parties: + +QBE (https://c9x.me/compile/) +Copyright (c) 2015-2023 Quentin Carbonneaux +Licensed under the MIT License. The QBE source and licence text are +bundled at vendor/qbe/. The Blaise compiler invokes the QBE binary as +a subprocess; QBE is not linked into the Blaise compiler itself. diff --git a/compiler/src/it/run_tests.sh b/compiler/src/it/run_tests.sh index 8d03d48..6b1450e 100755 --- a/compiler/src/it/run_tests.sh +++ b/compiler/src/it/run_tests.sh @@ -1,5 +1,12 @@ #!/bin/bash # +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# +# # Integration Test Runner for PDR Debugger — Blaise Compiler # # Compiles test programs using the Blaise compiler with --debug-opdf, diff --git a/compiler/src/it/test_02_breakpoint_next.pas b/compiler/src/it/test_02_breakpoint_next.pas index 338a841..2bebfe9 100644 --- a/compiler/src/it/test_02_breakpoint_next.pas +++ b/compiler/src/it/test_02_breakpoint_next.pas @@ -1,3 +1,11 @@ +{ + Blaise - An Object Pascal Compiler + Copyright (c) 2026 Graeme Geldenhuys + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. +} + program test_02_breakpoint_next; diff --git a/compiler/src/it/test_06_local_variables.pas b/compiler/src/it/test_06_local_variables.pas index f9afd36..ebf12d0 100644 --- a/compiler/src/it/test_06_local_variables.pas +++ b/compiler/src/it/test_06_local_variables.pas @@ -1,3 +1,11 @@ +{ + Blaise - An Object Pascal Compiler + Copyright (c) 2026 Graeme Geldenhuys + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. +} + program test_06_local_variables; diff --git a/compiler/src/it/test_14_locals.pas b/compiler/src/it/test_14_locals.pas index e84c573..673fe5e 100644 --- a/compiler/src/it/test_14_locals.pas +++ b/compiler/src/it/test_14_locals.pas @@ -1,3 +1,11 @@ +{ + Blaise - An Object Pascal Compiler + Copyright (c) 2026 Graeme Geldenhuys + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. +} + program test_14_locals; diff --git a/compiler/src/it/test_26_step_over.pas b/compiler/src/it/test_26_step_over.pas index 59f7650..90185b5 100644 --- a/compiler/src/it/test_26_step_over.pas +++ b/compiler/src/it/test_26_step_over.pas @@ -1,3 +1,11 @@ +{ + Blaise - An Object Pascal Compiler + Copyright (c) 2026 Graeme Geldenhuys + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. +} + program test_26_step_over; { Step-over (next) must NOT enter SetResult; must land on the WriteLn line. diff --git a/compiler/src/main/pascal/Blaise.pas b/compiler/src/main/pascal/Blaise.pas index 468864a..45e9503 100644 --- a/compiler/src/main/pascal/Blaise.pas +++ b/compiler/src/main/pascal/Blaise.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uAST.pas b/compiler/src/main/pascal/uAST.pas index 38c479d..4ff18cb 100644 --- a/compiler/src/main/pascal/uAST.pas +++ b/compiler/src/main/pascal/uAST.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uCodeGenQBE.pas b/compiler/src/main/pascal/uCodeGenQBE.pas index 05e2e34..749a15c 100644 --- a/compiler/src/main/pascal/uCodeGenQBE.pas +++ b/compiler/src/main/pascal/uCodeGenQBE.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uDebugOPDF.pas b/compiler/src/main/pascal/uDebugOPDF.pas index 80b60dd..9c1ac57 100644 --- a/compiler/src/main/pascal/uDebugOPDF.pas +++ b/compiler/src/main/pascal/uDebugOPDF.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uLexer.pas b/compiler/src/main/pascal/uLexer.pas index bf5bc90..9d7a37f 100644 --- a/compiler/src/main/pascal/uLexer.pas +++ b/compiler/src/main/pascal/uLexer.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uParser.pas b/compiler/src/main/pascal/uParser.pas index 9acb70e..9f47560 100644 --- a/compiler/src/main/pascal/uParser.pas +++ b/compiler/src/main/pascal/uParser.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uPasTokeniser.pas b/compiler/src/main/pascal/uPasTokeniser.pas index 6230ac3..5ad7e32 100644 --- a/compiler/src/main/pascal/uPasTokeniser.pas +++ b/compiler/src/main/pascal/uPasTokeniser.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uSemantic.pas b/compiler/src/main/pascal/uSemantic.pas index a7154b1..5aae3ea 100644 --- a/compiler/src/main/pascal/uSemantic.pas +++ b/compiler/src/main/pascal/uSemantic.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uSymbolTable.pas b/compiler/src/main/pascal/uSymbolTable.pas index dc065c4..c79d4b6 100644 --- a/compiler/src/main/pascal/uSymbolTable.pas +++ b/compiler/src/main/pascal/uSymbolTable.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/main/pascal/uUnitLoader.pas b/compiler/src/main/pascal/uUnitLoader.pas index 9b34ae4..1ffc7ea 100644 --- a/compiler/src/main/pascal/uUnitLoader.pas +++ b/compiler/src/main/pascal/uUnitLoader.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/TestRunner.pas b/compiler/src/test/pascal/TestRunner.pas index b476bb0..f6d8b64 100644 --- a/compiler/src/test/pascal/TestRunner.pas +++ b/compiler/src/test/pascal/TestRunner.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.arc.pas b/compiler/src/test/pascal/cp.test.arc.pas index f27f6dd..33bcefa 100644 --- a/compiler/src/test/pascal/cp.test.arc.pas +++ b/compiler/src/test/pascal/cp.test.arc.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.booleanops.pas b/compiler/src/test/pascal/cp.test.booleanops.pas index 9b1afc3..46cda39 100644 --- a/compiler/src/test/pascal/cp.test.booleanops.pas +++ b/compiler/src/test/pascal/cp.test.booleanops.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.caseenum.pas b/compiler/src/test/pascal/cp.test.caseenum.pas index 9edacdb..9adb4fd 100644 --- a/compiler/src/test/pascal/cp.test.caseenum.pas +++ b/compiler/src/test/pascal/cp.test.caseenum.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.chainedfields.pas b/compiler/src/test/pascal/cp.test.chainedfields.pas index 6b68402..f049e92 100644 --- a/compiler/src/test/pascal/cp.test.chainedfields.pas +++ b/compiler/src/test/pascal/cp.test.chainedfields.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.classes.pas b/compiler/src/test/pascal/cp.test.classes.pas index 6de1659..d195b55 100644 --- a/compiler/src/test/pascal/cp.test.classes.pas +++ b/compiler/src/test/pascal/cp.test.classes.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.codegen.pas b/compiler/src/test/pascal/cp.test.codegen.pas index 9ce27b9..7b9d1b8 100644 --- a/compiler/src/test/pascal/cp.test.codegen.pas +++ b/compiler/src/test/pascal/cp.test.codegen.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.collections.pas b/compiler/src/test/pascal/cp.test.collections.pas index 7c5c9ca..3dc407a 100644 --- a/compiler/src/test/pascal/cp.test.collections.pas +++ b/compiler/src/test/pascal/cp.test.collections.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.constants.pas b/compiler/src/test/pascal/cp.test.constants.pas index 25b11ac..0c77196 100644 --- a/compiler/src/test/pascal/cp.test.constants.pas +++ b/compiler/src/test/pascal/cp.test.constants.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.control.pas b/compiler/src/test/pascal/cp.test.control.pas index e042fe0..eb64287 100644 --- a/compiler/src/test/pascal/cp.test.control.pas +++ b/compiler/src/test/pascal/cp.test.control.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.e2e.pas b/compiler/src/test/pascal/cp.test.e2e.pas index 9916b53..dec9722 100644 --- a/compiler/src/test/pascal/cp.test.e2e.pas +++ b/compiler/src/test/pascal/cp.test.e2e.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.exceptions.pas b/compiler/src/test/pascal/cp.test.exceptions.pas index 92eb002..91101b3 100644 --- a/compiler/src/test/pascal/cp.test.exceptions.pas +++ b/compiler/src/test/pascal/cp.test.exceptions.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.external.pas b/compiler/src/test/pascal/cp.test.external.pas index 36004b7..9837580 100644 --- a/compiler/src/test/pascal/cp.test.external.pas +++ b/compiler/src/test/pascal/cp.test.external.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.flowjumps.pas b/compiler/src/test/pascal/cp.test.flowjumps.pas index 12520fe..b0d04de 100644 --- a/compiler/src/test/pascal/cp.test.flowjumps.pas +++ b/compiler/src/test/pascal/cp.test.flowjumps.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.forin.pas b/compiler/src/test/pascal/cp.test.forin.pas index ba4f265..ab43da8 100644 --- a/compiler/src/test/pascal/cp.test.forin.pas +++ b/compiler/src/test/pascal/cp.test.forin.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.forloop.pas b/compiler/src/test/pascal/cp.test.forloop.pas index db5a687..c44d0f7 100644 --- a/compiler/src/test/pascal/cp.test.forloop.pas +++ b/compiler/src/test/pascal/cp.test.forloop.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.functions.pas b/compiler/src/test/pascal/cp.test.functions.pas index 2d80181..efe4bed 100644 --- a/compiler/src/test/pascal/cp.test.functions.pas +++ b/compiler/src/test/pascal/cp.test.functions.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericconstraints.pas b/compiler/src/test/pascal/cp.test.genericconstraints.pas index 1685c6a..a2fbcd8 100644 --- a/compiler/src/test/pascal/cp.test.genericconstraints.pas +++ b/compiler/src/test/pascal/cp.test.genericconstraints.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericdefaults.pas b/compiler/src/test/pascal/cp.test.genericdefaults.pas index 6e40806..e1f08dd 100644 --- a/compiler/src/test/pascal/cp.test.genericdefaults.pas +++ b/compiler/src/test/pascal/cp.test.genericdefaults.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericforin.pas b/compiler/src/test/pascal/cp.test.genericforin.pas index db73e1e..f881ea8 100644 --- a/compiler/src/test/pascal/cp.test.genericforin.pas +++ b/compiler/src/test/pascal/cp.test.genericforin.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericfuncs.pas b/compiler/src/test/pascal/cp.test.genericfuncs.pas index 6b4a2d6..248afbd 100644 --- a/compiler/src/test/pascal/cp.test.genericfuncs.pas +++ b/compiler/src/test/pascal/cp.test.genericfuncs.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericintfs.pas b/compiler/src/test/pascal/cp.test.genericintfs.pas index fc9e2ca..b2fe3a6 100644 --- a/compiler/src/test/pascal/cp.test.genericintfs.pas +++ b/compiler/src/test/pascal/cp.test.genericintfs.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.genericmethodimpls.pas b/compiler/src/test/pascal/cp.test.genericmethodimpls.pas index 461c425..17420da 100644 --- a/compiler/src/test/pascal/cp.test.genericmethodimpls.pas +++ b/compiler/src/test/pascal/cp.test.genericmethodimpls.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.generics.pas b/compiler/src/test/pascal/cp.test.generics.pas index f22285f..3c7c06c 100644 --- a/compiler/src/test/pascal/cp.test.generics.pas +++ b/compiler/src/test/pascal/cp.test.generics.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.inherit.pas b/compiler/src/test/pascal/cp.test.inherit.pas index a3a6a6c..58838ca 100644 --- a/compiler/src/test/pascal/cp.test.inherit.pas +++ b/compiler/src/test/pascal/cp.test.inherit.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.interfaces.pas b/compiler/src/test/pascal/cp.test.interfaces.pas index 3aa8e54..e062000 100644 --- a/compiler/src/test/pascal/cp.test.interfaces.pas +++ b/compiler/src/test/pascal/cp.test.interfaces.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.lexer.pas b/compiler/src/test/pascal/cp.test.lexer.pas index ce1bb28..57f4eba 100644 --- a/compiler/src/test/pascal/cp.test.lexer.pas +++ b/compiler/src/test/pascal/cp.test.lexer.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.methods.pas b/compiler/src/test/pascal/cp.test.methods.pas index c127ce2..6206e01 100644 --- a/compiler/src/test/pascal/cp.test.methods.pas +++ b/compiler/src/test/pascal/cp.test.methods.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.multifile.pas b/compiler/src/test/pascal/cp.test.multifile.pas index ee52fc1..393e70f 100644 --- a/compiler/src/test/pascal/cp.test.multifile.pas +++ b/compiler/src/test/pascal/cp.test.multifile.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.multiwrite.pas b/compiler/src/test/pascal/cp.test.multiwrite.pas index b775cf1..4c64b1c 100644 --- a/compiler/src/test/pascal/cp.test.multiwrite.pas +++ b/compiler/src/test/pascal/cp.test.multiwrite.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.opdf.pas b/compiler/src/test/pascal/cp.test.opdf.pas index 66e8600..e0762cd 100644 --- a/compiler/src/test/pascal/cp.test.opdf.pas +++ b/compiler/src/test/pascal/cp.test.opdf.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.openarray.pas b/compiler/src/test/pascal/cp.test.openarray.pas index 40d1cef..dd24628 100644 --- a/compiler/src/test/pascal/cp.test.openarray.pas +++ b/compiler/src/test/pascal/cp.test.openarray.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.parser.pas b/compiler/src/test/pascal/cp.test.parser.pas index 5f51a37..7d7071d 100644 --- a/compiler/src/test/pascal/cp.test.parser.pas +++ b/compiler/src/test/pascal/cp.test.parser.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.pchar.pas b/compiler/src/test/pascal/cp.test.pchar.pas index ed1aff1..4158f19 100644 --- a/compiler/src/test/pascal/cp.test.pchar.pas +++ b/compiler/src/test/pascal/cp.test.pchar.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.pointers.pas b/compiler/src/test/pascal/cp.test.pointers.pas index 6661da3..dff3f83 100644 --- a/compiler/src/test/pascal/cp.test.pointers.pas +++ b/compiler/src/test/pascal/cp.test.pointers.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.process.pas b/compiler/src/test/pascal/cp.test.process.pas index 84c829d..e257e1e 100644 --- a/compiler/src/test/pascal/cp.test.process.pas +++ b/compiler/src/test/pascal/cp.test.process.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.procs.pas b/compiler/src/test/pascal/cp.test.procs.pas index c7f7da9..baada78 100644 --- a/compiler/src/test/pascal/cp.test.procs.pas +++ b/compiler/src/test/pascal/cp.test.procs.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.properties.pas b/compiler/src/test/pascal/cp.test.properties.pas index 95fecb5..33ebf29 100644 --- a/compiler/src/test/pascal/cp.test.properties.pas +++ b/compiler/src/test/pascal/cp.test.properties.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.records.pas b/compiler/src/test/pascal/cp.test.records.pas index 4a99280..0c9ac4d 100644 --- a/compiler/src/test/pascal/cp.test.records.pas +++ b/compiler/src/test/pascal/cp.test.records.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.repeatloop.pas b/compiler/src/test/pascal/cp.test.repeatloop.pas index 0beb9d1..711183f 100644 --- a/compiler/src/test/pascal/cp.test.repeatloop.pas +++ b/compiler/src/test/pascal/cp.test.repeatloop.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.selfhosting.pas b/compiler/src/test/pascal/cp.test.selfhosting.pas index fbf71b7..f7d1854 100644 --- a/compiler/src/test/pascal/cp.test.selfhosting.pas +++ b/compiler/src/test/pascal/cp.test.selfhosting.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.semantic.pas b/compiler/src/test/pascal/cp.test.semantic.pas index 8e06397..3335841 100644 --- a/compiler/src/test/pascal/cp.test.semantic.pas +++ b/compiler/src/test/pascal/cp.test.semantic.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.sets.pas b/compiler/src/test/pascal/cp.test.sets.pas index d2e5bba..c199a28 100644 --- a/compiler/src/test/pascal/cp.test.sets.pas +++ b/compiler/src/test/pascal/cp.test.sets.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.staticarray.pas b/compiler/src/test/pascal/cp.test.staticarray.pas index 0fd7e59..f791eef 100644 --- a/compiler/src/test/pascal/cp.test.staticarray.pas +++ b/compiler/src/test/pascal/cp.test.staticarray.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.stringops.pas b/compiler/src/test/pascal/cp.test.stringops.pas index a5cb9be..bde1862 100644 --- a/compiler/src/test/pascal/cp.test.stringops.pas +++ b/compiler/src/test/pascal/cp.test.stringops.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.symtable.pas b/compiler/src/test/pascal/cp.test.symtable.pas index c623bb5..a553a71 100644 --- a/compiler/src/test/pascal/cp.test.symtable.pas +++ b/compiler/src/test/pascal/cp.test.symtable.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.tdictionary.pas b/compiler/src/test/pascal/cp.test.tdictionary.pas index d74559c..682c715 100644 --- a/compiler/src/test/pascal/cp.test.tdictionary.pas +++ b/compiler/src/test/pascal/cp.test.tdictionary.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.tlist.pas b/compiler/src/test/pascal/cp.test.tlist.pas index bc89eb6..58bf96d 100644 --- a/compiler/src/test/pascal/cp.test.tlist.pas +++ b/compiler/src/test/pascal/cp.test.tlist.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.typetests.pas b/compiler/src/test/pascal/cp.test.typetests.pas index 79b4bbe..080e63b 100644 --- a/compiler/src/test/pascal/cp.test.typetests.pas +++ b/compiler/src/test/pascal/cp.test.typetests.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.units.pas b/compiler/src/test/pascal/cp.test.units.pas index b5220b8..bc272ad 100644 --- a/compiler/src/test/pascal/cp.test.units.pas +++ b/compiler/src/test/pascal/cp.test.units.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.varparams.pas b/compiler/src/test/pascal/cp.test.varparams.pas index c12cb6d..71c76d9 100644 --- a/compiler/src/test/pascal/cp.test.varparams.pas +++ b/compiler/src/test/pascal/cp.test.varparams.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.vtable.pas b/compiler/src/test/pascal/cp.test.vtable.pas index 0d201a1..c954492 100644 --- a/compiler/src/test/pascal/cp.test.vtable.pas +++ b/compiler/src/test/pascal/cp.test.vtable.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/compiler/src/test/pascal/cp.test.weakref.pas b/compiler/src/test/pascal/cp.test.weakref.pas index bbe6ce8..2ceb821 100644 --- a/compiler/src/test/pascal/cp.test.weakref.pas +++ b/compiler/src/test/pascal/cp.test.weakref.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/docs/language-rationale.adoc b/docs/language-rationale.adoc index f335709..f5f7611 100644 --- a/docs/language-rationale.adoc +++ b/docs/language-rationale.adoc @@ -1003,6 +1003,120 @@ OnClause = "on" [ IDENT ":" ] TypeRef DO Stmt ; --- +== Project Governance + +=== Licensing + +==== Decision + +The Blaise compiler, RTL, and bundled tooling are licensed under the +*Apache License, Version 2.0 with Runtime Library Exception*. + +The SPDX identifier used in source headers and project metadata is: + + Apache-2.0 WITH Swift-exception + +The Runtime Library Exception text used is the one defined by the Swift +project, reproduced verbatim at the foot of `LICENSE` in the project +root. Binaries produced by the Blaise compiler that incorporate +portions of the RTL do not inherit attribution obligations from the +licence. + +==== Alternatives considered + +*BSD-3-Clause* — the project's original licence, in use during early +development. Permissive, short, and well-recognised. + +* Rejected for one specific reason: it grants no patent licence. As + Blaise grows and accepts external contributions, every contributor + becomes a potential future patent risk under BSD-3. For a *compiler* + — which by nature implements algorithms (parsing, optimisation, + code generation) that may be patent-encumbered — this is the wrong + default. + +*BSD-3-Clause + custom patent grant + custom Runtime Library Exception* +— a bespoke combination, ~50 lines. + +* Rejected because it is not OSI-approved, has no SPDX shorthand, and + trades concise text for unfamiliar text. A custom licence is *more* + friction for adopters' legal review than a 12-page Apache 2.0, + because every clause must be read from scratch rather than + recognised from precedent. + +*BSD-2-Clause-Patent* — an OSI-approved short licence with patent +grant. + +* Rejected because it is not widely adopted in compiler/runtime land + and would still require a custom Runtime Library Exception bolted on, + putting us back in bespoke territory. + +*Modified-LGPL with linking exception* — the Free Pascal Compiler's +licence, familiar to the Pascal community. + +* Rejected because it carries weak-copyleft obligations on the file + level. Apache 2.0 is fully permissive and avoids any ambiguity for + commercial adopters. + +*MIT* — minimal permissive licence. + +* Same patent-grant gap as BSD-3, but shorter. Same rejection. + +==== Rationale + +The Apache 2.0 + Runtime Library Exception combination is the modern +consensus for compiler/runtime projects: + +* *Swift* (Apple) — Apache 2.0 with their Runtime Library Exception + text. The wording Blaise uses is theirs, verbatim. +* *LLVM* — Apache 2.0 with the LLVM Exceptions (relicensed in 2019 + from a BSD-style licence specifically to gain the patent grant). +* *Rust* — dual MIT / Apache 2.0; Apache 2.0 is the patent-grant path. + +Specific properties that mattered for this decision: + +. *Explicit patent grant* (Apache 2.0 Section 3). Each contributor + grants users a patent licence covering their contributions. A + contributor who later sues a user over patents in their contribution + loses their grant. This is the headline feature versus BSD-3. + +. *Patent retaliation clause* (Apache 2.0 Section 3, second sentence). + Anyone who sues an Apache 2.0 user over the project loses their + licence. This deters submarine patent claims. + +. *Runtime Library Exception*. Without an exception, every binary + compiled by Blaise would technically inherit Apache 2.0 obligations + because the RTL is linked in. The Swift-style exception explicitly + releases that obligation, allowing closed-source applications to + ship binaries built with Blaise without Apache attribution noise. + +. *NOTICE file mechanic* (Apache 2.0 Section 4(d)). Concentrates + third-party attribution requirements (currently QBE) in one + well-known file that downstream redistributors must preserve. + +. *OSI-approved and SPDX-listed*. Tooling (FOSSology, ScanCode, + GitHub licence detection) recognises both the licence and the + exception identifier without configuration. + +. *Battle-tested in legal review*. Major compiler projects use exactly + this combination; corporate legal teams have pre-approved it. + +==== Notes + +* The relicensing happened pre-public-release. No external contributor + consent was needed because Graeme Geldenhuys was the sole + contributor at the time of the change. +* All `.pas`, `.pp`, and `.inc` source files in `compiler/`, `rtl/`, + `tools/`, and `tests/` carry an `SPDX-License-Identifier: + Apache-2.0 WITH Swift-exception` header. +* `LICENSE` at the project root contains the full Apache 2.0 text + followed by the Runtime Library Exception clause. +* `NOTICE` at the project root contains attribution for vendored + third-party code (currently QBE under MIT). +* `vendor/qbe/` retains its original MIT licence; QBE is invoked as a + subprocess and is not statically linked into the Blaise compiler. + +--- + == Open Language Questions These items are under active consideration but not yet decided. diff --git a/plugins/pasbuild-blaise-compile b/plugins/pasbuild-blaise-compile index 7995616..5124943 100755 --- a/plugins/pasbuild-blaise-compile +++ b/plugins/pasbuild-blaise-compile @@ -1,4 +1,11 @@ #!/bin/sh +# +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# # pasbuild-blaise-compile — Build the Blaise compiler using a Blaise bootstrap binary. # # Phase: none (standalone — does not chain after the FPC compile phase) diff --git a/plugins/pasbuild-integration-test b/plugins/pasbuild-integration-test index 61acd7d..fb49e3c 100755 --- a/plugins/pasbuild-integration-test +++ b/plugins/pasbuild-integration-test @@ -1,4 +1,11 @@ #!/bin/sh +# +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# # pasbuild-integration-test — Run PDR integration tests for the Blaise compiler. # # Phase: none (standalone — invoke as: pasbuild integration-test) diff --git a/project.xml b/project.xml index d1dcb86..76875b2 100644 --- a/project.xml +++ b/project.xml @@ -3,7 +3,7 @@ blaise 0.1.0-SNAPSHOT Graeme Geldenhuys - BSD-3-Clause + Apache-2.0 WITH Swift-exception pom diff --git a/rtl/Makefile b/rtl/Makefile index 837eaff..8936c98 100644 --- a/rtl/Makefile +++ b/rtl/Makefile @@ -1,3 +1,10 @@ +# +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# CC = gcc CFLAGS = -O2 -Wall -Wextra -std=c11 diff --git a/rtl/src/main/c/blaise_arc_class.c b/rtl/src/main/c/blaise_arc_class.c index 78ed9d0..f045734 100644 --- a/rtl/src/main/c/blaise_arc_class.c +++ b/rtl/src/main/c/blaise_arc_class.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — class ARC (function-pointer-dependent subset) * * _ClassAlloc and _ClassRelease remain in C because they store and call a diff --git a/rtl/src/main/c/blaise_exc.c b/rtl/src/main/c/blaise_exc.c index 58fef1c..17400fe 100644 --- a/rtl/src/main/c/blaise_exc.c +++ b/rtl/src/main/c/blaise_exc.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — Exception frame management (Phase 2) * * Uses setjmp/longjmp for exception dispatch. Each try block allocates a diff --git a/rtl/src/main/c/blaise_io.c b/rtl/src/main/c/blaise_io.c index e8e79d1..3d53060 100644 --- a/rtl/src/main/c/blaise_io.c +++ b/rtl/src/main/c/blaise_io.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — file I/O, CLI, and process primitives * * All functions that return a Blaise string allocate a fresh header with diff --git a/rtl/src/main/c/blaise_process.c b/rtl/src/main/c/blaise_process.c index 7eceae1..01f2f3b 100644 --- a/rtl/src/main/c/blaise_process.c +++ b/rtl/src/main/c/blaise_process.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — process management * * Provides fork/exec/pipe helpers used by Process.pas's TProcess class. diff --git a/rtl/src/main/c/blaise_str_fmt.c b/rtl/src/main/c/blaise_str_fmt.c index 814ff41..c38942f 100644 --- a/rtl/src/main/c/blaise_str_fmt.c +++ b/rtl/src/main/c/blaise_str_fmt.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — _StringFormat (variadic; cannot be ported to Pascal) * * Data-pointer convention: the Pointer stored in a Blaise string variable diff --git a/rtl/src/main/c/blaise_sys_posix.c b/rtl/src/main/c/blaise_sys_posix.c index 32d3b7f..a393a71 100644 --- a/rtl/src/main/c/blaise_sys_posix.c +++ b/rtl/src/main/c/blaise_sys_posix.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — POSIX write wrapper * * Provides _SysWrite and _SysWriteNewline: thin wrappers around the diff --git a/rtl/src/main/c/blaise_weak.c b/rtl/src/main/c/blaise_weak.c index 6c644e2..0bb6331 100644 --- a/rtl/src/main/c/blaise_weak.c +++ b/rtl/src/main/c/blaise_weak.c @@ -1,4 +1,10 @@ /* + * Blaise — An Object Pascal Compiler + * Copyright (c) 2026 Graeme Geldenhuys + * SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + * Licensed under the Apache License v2.0 with Runtime Library Exception. + * See LICENSE file in the project root for full license terms. + * * Blaise RTL — Zeroing weak references. * * A weak reference is a slot (variable or field) pointing at a class diff --git a/rtl/src/main/pascal/Process.pas b/rtl/src/main/pascal/Process.pas index 863860c..403102e 100644 --- a/rtl/src/main/pascal/Process.pas +++ b/rtl/src/main/pascal/Process.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_arc.pas b/rtl/src/main/pascal/blaise_arc.pas index 1fb5504..4dc732f 100644 --- a/rtl/src/main/pascal/blaise_arc.pas +++ b/rtl/src/main/pascal/blaise_arc.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_arc_build_driver.pas b/rtl/src/main/pascal/blaise_arc_build_driver.pas index 4d65f3a..740336d 100644 --- a/rtl/src/main/pascal/blaise_arc_build_driver.pas +++ b/rtl/src/main/pascal/blaise_arc_build_driver.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_str.pas b/rtl/src/main/pascal/blaise_str.pas index 2536aa0..1367566 100644 --- a/rtl/src/main/pascal/blaise_str.pas +++ b/rtl/src/main/pascal/blaise_str.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_str_build_driver.pas b/rtl/src/main/pascal/blaise_str_build_driver.pas index 5da3552..99f66ec 100644 --- a/rtl/src/main/pascal/blaise_str_build_driver.pas +++ b/rtl/src/main/pascal/blaise_str_build_driver.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_sys.pas b/rtl/src/main/pascal/blaise_sys.pas index 82bb35b..2bc8a3e 100644 --- a/rtl/src/main/pascal/blaise_sys.pas +++ b/rtl/src/main/pascal/blaise_sys.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/blaise_sys_build_driver.pas b/rtl/src/main/pascal/blaise_sys_build_driver.pas index 28f7f87..fe19303 100644 --- a/rtl/src/main/pascal/blaise_sys_build_driver.pas +++ b/rtl/src/main/pascal/blaise_sys_build_driver.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/classes.pas b/rtl/src/main/pascal/classes.pas index 7489c5e..2430773 100644 --- a/rtl/src/main/pascal/classes.pas +++ b/rtl/src/main/pascal/classes.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/contnrs.pas b/rtl/src/main/pascal/contnrs.pas index e18782d..12a2c68 100644 --- a/rtl/src/main/pascal/contnrs.pas +++ b/rtl/src/main/pascal/contnrs.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/generics.collections.pas b/rtl/src/main/pascal/generics.collections.pas index d461ea2..3b99d8e 100644 --- a/rtl/src/main/pascal/generics.collections.pas +++ b/rtl/src/main/pascal/generics.collections.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/generics.defaults.pas b/rtl/src/main/pascal/generics.defaults.pas index 106e43a..f3594d3 100644 --- a/rtl/src/main/pascal/generics.defaults.pas +++ b/rtl/src/main/pascal/generics.defaults.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/strutils.pas b/rtl/src/main/pascal/strutils.pas index 811fac4..7ca1768 100644 --- a/rtl/src/main/pascal/strutils.pas +++ b/rtl/src/main/pascal/strutils.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/system.pas b/rtl/src/main/pascal/system.pas index 0bc658d..aeb3def 100644 --- a/rtl/src/main/pascal/system.pas +++ b/rtl/src/main/pascal/system.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/main/pascal/sysutils.pas b/rtl/src/main/pascal/sysutils.pas index 6a24b67..c372fb1 100644 --- a/rtl/src/main/pascal/sysutils.pas +++ b/rtl/src/main/pascal/sysutils.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/rtl/src/test/pascal/test_blaise_str.pas b/rtl/src/test/pascal/test_blaise_str.pas index d9ee1a2..8a57d83 100644 --- a/rtl/src/test/pascal/test_blaise_str.pas +++ b/rtl/src/test/pascal/test_blaise_str.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/tests/integration/test_arc_strings.sh b/tests/integration/test_arc_strings.sh index 4aafc34..6feb439 100755 --- a/tests/integration/test_arc_strings.sh +++ b/tests/integration/test_arc_strings.sh @@ -1,4 +1,11 @@ #!/usr/bin/env bash +# +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# # Integration test: ARC string management end-to-end # # Tests that a Blaise program with string variables: diff --git a/tests/phase2_milestone.pas b/tests/phase2_milestone.pas index 9399f99..82db173 100644 --- a/tests/phase2_milestone.pas +++ b/tests/phase2_milestone.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/tests/phase3_milestone.pas b/tests/phase3_milestone.pas index dad8bd0..84c4bef 100644 --- a/tests/phase3_milestone.pas +++ b/tests/phase3_milestone.pas @@ -1,7 +1,8 @@ { Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. See LICENSE file in the project root for full license terms. } diff --git a/tools/migrate_full.py b/tools/migrate_full.py index 28d72c0..5ce896a 100644 --- a/tools/migrate_full.py +++ b/tools/migrate_full.py @@ -1,4 +1,11 @@ #!/usr/bin/env python3 +# +# Blaise — An Object Pascal Compiler +# Copyright (c) 2026 Graeme Geldenhuys +# SPDX-License-Identifier: Apache-2.0 WITH Swift-exception +# Licensed under the Apache License v2.0 with Runtime Library Exception. +# See LICENSE file in the project root for full license terms. +# """ Full self-hosting migration script. @@ -1013,7 +1020,9 @@ def transform_tokeniser(text): HEADER = """{ Blaise - An Object Pascal Compiler Copyright (c) 2026 Graeme Geldenhuys - SPDX-License-Identifier: BSD-3-Clause + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. blaise-compiler.pas - Self-hosting source. Concatenated from all compiler units. diff --git a/tools/migration-analyser/src/main/pascal/MigrationAnalyser.pas b/tools/migration-analyser/src/main/pascal/MigrationAnalyser.pas index 8079ae9..58fe66e 100644 --- a/tools/migration-analyser/src/main/pascal/MigrationAnalyser.pas +++ b/tools/migration-analyser/src/main/pascal/MigrationAnalyser.pas @@ -1,3 +1,11 @@ +{ + Blaise - An Object Pascal Compiler + Copyright (c) 2026 Graeme Geldenhuys + SPDX-License-Identifier: Apache-2.0 WITH Swift-exception + Licensed under the Apache License v2.0 with Runtime Library Exception. + See LICENSE file in the project root for full license terms. +} + program MigrationAnalyser; begin