diff --git a/.gitattributes b/.gitattributes index 6a0f88f21cc3f5ddec2179e4435d38f98499eb6d..6cda6f9c55b63eaec3772a1c1f01bb441e6410a0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,284 @@ +################ +# MERGE: union # +################ + Changelog merge=union +############### +# BINARY: set # +############### +# built-in macro that also unsets the "text" and "diff" attributes + +*.eps binary +*.ps binary + *.pdf binary + +######################### +# HEADER_SPEC: CEA_LGPL # +######################### + +config* header_spec=CEA_LGPL + +makefile* header_spec=CEA_LGPL +Make* header_spec=CEA_LGPL +*.mk header_spec=CEA_LGPL + +*.c header_spec=CEA_LGPL +*.h header_spec=CEA_LGPL + +*.htm header_spec=CEA_LGPL +*.html header_spec=CEA_LGPL + +*.js header_spec=CEA_LGPL + +*.ml header_spec=CEA_LGPL +*.ml.in header_spec=CEA_LGPL +*.mli header_spec=CEA_LGPL +*.mli.in header_spec=CEA_LGPL +*.mll header_spec=CEA_LGPL +*.mly header_spec=CEA_LGPL + +*.pl header_spec=CEA_LGPL + +*.py header_spec=CEA_LGPL + +*.rc header_spec=CEA_LGPL + +*.sh header_spec=CEA_LGPL +*.zsh header_spec=CEA_LGPL + +*.css header_spec=CEA_LGPL + +*.ts header_spec=CEA_LGPL +*.tsx header_spec=CEA_LGPL + +######################## +# HEADER_SPEC: .ignore # +######################## + +.gitattributes header_spec=.ignore +.gitignore header_spec=.ignore +.gitkeep header_spec=.ignore +.git-blame-ignore-revs header_spec=.ignore + +.merlin header_spec=.ignore + +Changelog header_spec=.ignore +opam header_spec=.ignore + +README* header_spec=.ignore +*.README* header_spec=.ignore + +*.dot header_spec=.ignore +*.fig header_spec=.ignore + +*.eps header_spec=.ignore +*.ps header_spec=.ignore + +*.gif header_spec=.ignore +*.ico header_spec=.ignore +*.jpg header_spec=.ignore +*.jpeg header_spec=.ignore +*.png header_spec=.ignore +*.svg header_spec=.ignore + +*.nix header_spec=.ignore +*.md header_spec=.ignore +*.opam header_spec=.ignore + +*.pdf header_spec=.ignore + +.tex header_spec=.ignore +*.sty header_spec=.ignore +*.bib header_spec=.ignore + +*.odoc header_spec=.ignore + +/.for_devel header_spec=.ignore +/.force-reconfigure header_spec=.ignore +/.gitlab-ci.yml header_spec=.ignore +/.make-clean* header_spec=.ignore +/.mailmap header_spec=.ignore +/.ocp-indent header_spec=.ignore +/ALL_VERSIONS header_spec=.ignore +/LICENSE header_spec=.ignore +/VERSION header_spec=.ignore +/VERSION_CODENAME header_spec=.ignore + +/bin/sed_get_* header_spec=.ignore + +/devel_tools/docker/*.template header_spec=.ignore + +# TODO: header_spec=JCF_LGPL_2_only +/devel_tools/size.mli header_spec=.ignore +/devel_tools/size.ml header_spec=.ignore +/devel_tools/size_states.ml header_spec=.ignore +/devel_tools/size_states.mli header_spec=.ignore + +/doc/CC-BY-SA-4.0 header_spec=.ignore +/doc/CHANGES.obfuscator header_spec=.ignore +/doc/LICENSE header_spec=.ignore +/doc/MakeLaTeXModern header_spec=.ignore +/doc/acsl_tutorial_slides/script header_spec=.ignore +/doc/developer/METADOC.txt header_spec=.ignore +/doc/qualification/testing header_spec=.ignore +/doc/release/periodic-elements.txt header_spec=.ignore +/doc/value/watchpoints header_spec=.ignore +/doc/scope/M.v header_spec=.ignore + +/doc/aorai/example/example* header_spec=.ignore +/doc/frama-c-book.* header_spec=.ignore +/doc/*.hva header_spec=.ignore + +/doc/training/**/* header_spec=.ignore +/doc/value/examples/parametrizing/*.log header_spec=.ignore +/doc/**/make* header_spec=.ignore +/doc/**/TODO header_spec=.ignore +/doc/**/*.bnf header_spec=.ignore +/doc/**/*.c header_spec=.ignore +/doc/**/*.graphml header_spec=.ignore +/doc/**/*.h header_spec=.ignore +/doc/**/*.html header_spec=.ignore +/doc/**/*.lua header_spec=.ignore +/doc/slicing/algo.ml header_spec=.ignore +/doc/*/*/**/*.ml header_spec=.ignore +/doc/**/*.mli header_spec=.ignore +/doc/**/*.mll header_spec=.ignore +/doc/**/*.oracle header_spec=.ignore +/doc/**/*.tex header_spec=.ignore +/doc/*/*/**/*.txt header_spec=.ignore +/doc/**/*.sh header_spec=.ignore + +/headers/open-source/* header_spec=.ignore +/headers/close-source/* header_spec=.ignore + +/licenses/* header_spec=.ignore + +/man/frama-c.1 header_spec=.ignore + +/nix/empty header_spec=.ignore +/nix/frama-c-public/known_hosts header_spec=.ignore + +/share/framac.vim header_spec=.ignore +/share/META.frama-c header_spec=.ignore +/share/analysis-scripts/readme-graph.graphml header_spec=.ignore +/share/analysis-scripts/pyproject.toml header_spec=.ignore +/share/win32_installer.iss header_spec=.ignore +/share/win32_manual_installation_step.txt header_spec=.ignore +/share/compliance/*.json header_spec=.ignore + +/tests/**/* header_spec=.ignore + +####################### +# HEADER_SPEC: others # +####################### + +/configure.in header_spec=CEA_INRIA_LGPL + +/doc/aorai/Makefile header_spec=AORAI_LGPL + +/share/analysis-scripts/flamegraph.pl header_spec=CDDL +/share/emacs/acsl.el header_spec=CEA_PR_LGPL +/share/libc/argz.h header_spec=CEA_FSF_LGPL +/share/libc/argz.c header_spec=CEA_FSF_LGPL +/share/machdep.c header_spec=CIL + +/src/kernel_internals/parsing/clexer.mli header_spec=CIL +/src/kernel_internals/parsing/clexer.mll header_spec=CIL +/src/kernel_internals/parsing/cparser.mly header_spec=CIL +/src/kernel_internals/parsing/errorloc.ml header_spec=CIL +/src/kernel_internals/parsing/errorloc.mli header_spec=CIL +/src/kernel_internals/parsing/lexerhack.ml header_spec=CIL +/src/kernel_internals/parsing/lexerhack.mli header_spec=CIL +/src/kernel_internals/parsing/logic_lexer.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_lexer.mll header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_parser.mly header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_preprocess.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_preprocess.mll header_spec=CEA_INRIA_LGPL +/src/kernel_internals/runtime/machdeps.ml header_spec=CIL +/src/kernel_internals/runtime/machdeps.mli header_spec=CIL +/src/kernel_internals/typing/alpha.ml header_spec=CIL +/src/kernel_internals/typing/alpha.mli header_spec=CIL +/src/kernel_internals/typing/cabs2cil.ml header_spec=CIL +/src/kernel_internals/typing/cabs2cil.mli header_spec=CIL +/src/kernel_internals/typing/cfg.ml header_spec=CIL +/src/kernel_internals/typing/cfg.mli header_spec=CIL +/src/kernel_internals/typing/frontc.ml header_spec=CIL +/src/kernel_internals/typing/frontc.mli header_spec=CIL +/src/kernel_internals/typing/logic_builtin.ml header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/logic_builtin.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/mergecil.ml header_spec=CIL +/src/kernel_internals/typing/mergecil.mli header_spec=CIL +/src/kernel_internals/typing/oneret.ml header_spec=CIL +/src/kernel_internals/typing/oneret.mli header_spec=CIL +/src/kernel_internals/typing/rmtmps.ml header_spec=CIL +/src/kernel_internals/typing/rmtmps.mli header_spec=CIL +/src/kernel_internals/typing/translate_lightweight.ml header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/translate_lightweight.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/analysis/dataflows.ml header_spec=CIL +/src/kernel_services/analysis/dataflows.mli header_spec=CIL +/src/kernel_services/ast_data/cil_types.mli header_spec=CIL +/src/kernel_services/ast_printing/cprint.ml header_spec=CIL +/src/kernel_services/ast_printing/cprint.mli header_spec=CIL +/src/kernel_services/ast_printing/logic_print.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_printing/logic_print.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/cil.ml header_spec=CIL +/src/kernel_services/ast_queries/cil.mli header_spec=CIL +/src/kernel_services/ast_queries/cil_builtins.ml header_spec=CIL +/src/kernel_services/ast_queries/cil_builtins.mli header_spec=CIL +/src/kernel_services/ast_queries/cil_const.ml header_spec=CIL +/src/kernel_services/ast_queries/cil_const.mli header_spec=CIL +/src/kernel_services/ast_queries/logic_const.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_const.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_env.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_env.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_typing.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_typing.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_utils.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_utils.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/parsetree/cabs.mli header_spec=CIL +/src/kernel_services/parsetree/cabshelper.ml header_spec=CIL +/src/kernel_services/parsetree/cabshelper.mli header_spec=CIL +/src/kernel_services/parsetree/logic_ptree.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/visitors/cabsvisit.ml header_spec=CIL +/src/kernel_services/visitors/cabsvisit.mli header_spec=CIL +/src/kernel_services/visitors/visitor_behavior.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/visitors/visitor_behavior.mli header_spec=CEA_INRIA_LGPL + +/src/libraries/datatype/unmarshal.ml header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal.mli header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal_hashtbl_test.ml header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal_test.ml header_spec=INRIA_BSD +/src/libraries/project/state_topological.ml header_spec=MODIFIED_OCAMLGRAPH +/src/libraries/project/state_topological.mli header_spec=MODIFIED_OCAMLGRAPH +/src/libraries/utils/cilconfig.ml header_spec=CIL +/src/libraries/utils/cilconfig.mli header_spec=CIL +/src/libraries/utils/escape.ml header_spec=CIL +/src/libraries/utils/escape.mli header_spec=CIL +/src/libraries/utils/hptmap.ml header_spec=MODIFIED_MENHIR +/src/libraries/utils/hptmap.mli header_spec=MODIFIED_MENHIR +/src/libraries/utils/hptmap_sig.mli header_spec=MODIFIED_MENHIR +/src/libraries/utils/rangemap.ml header_spec=OCAML_STDLIB +/src/libraries/utils/rangemap.mli header_spec=OCAML_STDLIB +/src/libraries/utils/utf8_logic.ml header_spec=CEA_INRIA_LGPL +/src/libraries/utils/utf8_logic.mli header_spec=CEA_INRIA_LGPL + +######################### +# HEADER_SPEC: CEA_LGPL # +######################### + +/bin/frama-c* header_spec=CEA_LGPL + +/doc/code/*.txt header_spec=CEA_LGPL +/devel_tools/git-hooks/pre-commit header_spec=CEA_LGPL + +/headers/headache_config.txt header_spec=CEA_LGPL +/headers/*.sh header_spec=CEA_LGPL_OR_PROPRIETARY + +/share/autocomplete_frama-c header_spec=CEA_LGPL +/share/emacs/frama-c-*.el header_spec=CEA_LGPL +/share/_frama-c header_spec=CEA_LGPL + +/src/kernel_internals/runtime/fc_config.ml.in header_spec=CEA_LGPL +/src/libraries/stdlib/transitioning.ml.in header_spec=CEA_LGPL diff --git a/bin/build-src-distrib.sh b/bin/build-src-distrib.sh index efda42643c9bf1b79817c11114274f15e70b74a6..bb1682475f5153d6f94ce3bc27e397080fe732ce 100755 --- a/bin/build-src-distrib.sh +++ b/bin/build-src-distrib.sh @@ -1,4 +1,25 @@ #! /usr/bin/env bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## set -u diff --git a/bin/check-reference-configuration.sh b/bin/check-reference-configuration.sh index e91365642881b711352f863c119deecc00de901e..6095ffc385bf0c6f31ae5a25dd1ec3f32844e3fc 100755 --- a/bin/check-reference-configuration.sh +++ b/bin/check-reference-configuration.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # Displays the current working configuration of OCaml dependencies of Frama-C, # comparing them with the one in `reference-configuration.md`. diff --git a/bin/check_newlines.ml b/bin/check_newlines.ml index 4524bdc80d9d1e14edd919acb4de2e4db746a7eb..29e3c5a2dadb2f66097b57bb68010435ce1bf968 100644 --- a/bin/check_newlines.ml +++ b/bin/check_newlines.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It 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 Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + module StringSet = Set.Make(String) (* returns true for empty files *) diff --git a/bin/git.sh b/bin/git.sh index 18e931bd054a7e66969122c00a9def62d2048bf9..f5b81e49bcf8b17404963987b204acb9cddf47e1 100755 --- a/bin/git.sh +++ b/bin/git.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + ACTION="$*" if [ "$ACTION" == "" ] diff --git a/bin/indent.sh b/bin/indent.sh index 9c402daacff0384024c5a86f412f0a8169488007..68ad76654dd84b51ad583c3d28f218d0c47513e6 100755 --- a/bin/indent.sh +++ b/bin/indent.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # Help case "$1" in diff --git a/bin/isutf8.ml b/bin/isutf8.ml index 5950a0c6b826126676304be8212ae28b53c0cfdb..0e775f13502710afea395fa9aadb2686ca72b40d 100644 --- a/bin/isutf8.ml +++ b/bin/isutf8.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It 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 Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + module StringSet = Set.Make(String) exception False diff --git a/bin/lint.sh b/bin/lint.sh index 797b61e433cb7aa56eac155c2bb4f704e16eb866..e1cb6e6a76f901ee553413d435145dde4ca2722d 100755 --- a/bin/lint.sh +++ b/bin/lint.sh @@ -1,4 +1,26 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + set -e # -------------------------------------------------------------------------- diff --git a/bin/merge-master.sh b/bin/merge-master.sh index 5664dbaeb74bd486648594e7817332a9d3e27f15..28ae15023e585ccbe7228f98f8f563eb106403ea 100755 --- a/bin/merge-master.sh +++ b/bin/merge-master.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## if test -z "$1"; then echo "Syntax: $0 <release name>"; diff --git a/bin/migration_scripts/git-replace.sh b/bin/migration_scripts/git-replace.sh index d32b5d6bb15c50f59e013b9479ba0d06837bebe8..cf96d73698372ae449f7e54b85954ab29aa3dabd 100755 --- a/bin/migration_scripts/git-replace.sh +++ b/bin/migration_scripts/git-replace.sh @@ -1,4 +1,26 @@ #!/bin/sh -u +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + git replace fbe13264f29d59b5388096281f98f05116b17f76 8e6afe71d01b1bc4f4d778a5326d0a2e1f2998b3 git replace cef5bf08946dccaf6b51e515eea76443976e6550 8bd30e2d47ffab72507d5ea291bdbd9f0fea0384 git replace 32d8c505805a060e5112c104ea0ffe06c6df308d 3fb543f7adaac4c2942c45f0244f270c86c23605 diff --git a/bin/rebuild.sh b/bin/rebuild.sh index f8d3346fab80481cfd8a6eaa73f3f1d92765a6eb..f50cecdb02c21de5dcabda7ec3df1ad1655cabe2 100755 --- a/bin/rebuild.sh +++ b/bin/rebuild.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + make -k clean find src \( -name "*.cm*" -or -name "*.o" \) -delete -print rm -fr config.status autom4te.cache/ diff --git a/bin/shift_oracles.sh b/bin/shift_oracles.sh index 1a8cba4f5da6526ab0a05fd6050b8ac3afb0efc9..0b9ea6cd135d8506fcfe381021c58bd616db2051 100755 --- a/bin/shift_oracles.sh +++ b/bin/shift_oracles.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # [shift_oracles.sh [commit] source.c -- test1.oracle test2.oracle ...] # modifies the set of oracles w.r.t. [source.c], using `git diff` to diff --git a/bin/update_api_doc.sh b/bin/update_api_doc.sh index 80313ff753fa109745439f24d9dd21e856834089..9601c2544f152459bbfb8af60514b3a2bb8c489a 100755 --- a/bin/update_api_doc.sh +++ b/bin/update_api_doc.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## next=$1 diff --git a/bin/wp-qualif.sh b/bin/wp-qualif.sh index ae239fbadbe2bcd440bac1a4cd149dcc391e1d13..418cabf7b371c8ac91a44196bdcf23d68fab7af3 100644 --- a/bin/wp-qualif.sh +++ b/bin/wp-qualif.sh @@ -1,2 +1,24 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + export FRAMAC_WP_CACHE=update export FRAMAC_WP_CACHEDIR=$WP_QUALIF_CACHE diff --git a/devel_tools/docker/Makefile b/devel_tools/docker/Makefile index 04d1c97261bf1c50ddebd680e3f9f7458ddffaca..c6cae592a0f241287c37ea2fba3a5c897463c8ff 100644 --- a/devel_tools/docker/Makefile +++ b/devel_tools/docker/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: *-stripped *-gui push-* help: diff --git a/devel_tools/duplicates.pl b/devel_tools/duplicates.pl index ba91fcccfdd869819e6ed19491723f03f9af9cfa..019ac1e21d113b188e988f92d3aedecaa287521b 100755 --- a/devel_tools/duplicates.pl +++ b/devel_tools/duplicates.pl @@ -1,4 +1,25 @@ #!/usr/bin/env perl +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # Finds duplicate adjacent words. diff --git a/devel_tools/frama-c-callgrind b/devel_tools/frama-c-callgrind deleted file mode 100755 index 3e23c01dbd87bf413615791fa3681d2bb16cab40..0000000000000000000000000000000000000000 --- a/devel_tools/frama-c-callgrind +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -# Script for profiling Frama-C with callgrind (a valgrind tool). -# Note: execution time with valgrind is about 15x-20x slower. -# -# Use this script at the root of the repository, so local_export.sh can be found -# in bin. -# For more focused results, you can activate the profiling only after entering -# a specific function. For instance, to only profile Eva, add -# -# --toggle-collect='*Eva__Analysis__force_compute*' -# -# to the command line below. -# -# Example of invocation : -# -# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow -# -# This creates a 'callgrind.out' file (Callgrind format), which can be viewed -# with a tool such as kcachegrind: -# -# kcachegrind callgrind.out - -BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin - -. bin/local_export.sh - -valgrind \ - --tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \ - --separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \ - $BINDIR/toplevel.opt "$@" diff --git a/devel_tools/frama-c-callgrind.sh b/devel_tools/frama-c-callgrind.sh new file mode 100755 index 0000000000000000000000000000000000000000..1de367e65fed348a0bc008856f2979d3d31f5ab0 --- /dev/null +++ b/devel_tools/frama-c-callgrind.sh @@ -0,0 +1,52 @@ +#!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + +# Script for profiling Frama-C with callgrind (a valgrind tool). +# Note: execution time with valgrind is about 15x-20x slower. +# +# Use this script at the root of the repository, so local_export.sh can be found +# in bin. +# For more focused results, you can activate the profiling only after entering +# a specific function. For instance, to only profile Eva, add +# +# --toggle-collect='*Eva__Analysis__force_compute*' +# +# to the command line below. +# +# Example of invocation : +# +# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow +# +# This creates a 'callgrind.out' file (Callgrind format), which can be viewed +# with a tool such as kcachegrind: +# +# kcachegrind callgrind.out + +BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin + +. bin/local_export.sh + +valgrind \ + --tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \ + --separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \ + $BINDIR/toplevel.opt "$@" diff --git a/devel_tools/git-hooks/pre-commit b/devel_tools/git-hooks/pre-commit index fec935b5fc0ca5d771f4b43bbd2a137789f76287..36353a8d1a7c53153e9482ef9e40fc4510f1f3cf 100755 --- a/devel_tools/git-hooks/pre-commit +++ b/devel_tools/git-hooks/pre-commit @@ -1,6 +1,26 @@ #!/bin/bash - # -*- mode: bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## if git rev-parse --verify HEAD >/dev/null 2>&1 then diff --git a/devel_tools/ocamldep_transitive_closure.ml b/devel_tools/ocamldep_transitive_closure.ml index 9f7e383573055866bf377d20dd4fd2aaccb0fb92..363d14205bb5a6ff0829e739abfe61e7015a2429 100644 --- a/devel_tools/ocamldep_transitive_closure.ml +++ b/devel_tools/ocamldep_transitive_closure.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It 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 Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + let depend_files = ref [] let add_deps s = depend_files:= s :: !depend_files diff --git a/devel_tools/size.mli b/devel_tools/size.mli index 1146e6da562d9c897324a476d9d9b1f19d08b820..037d5b4a707c50988c444da0c7179ff193cc5a3a 100644 --- a/devel_tools/size.mli +++ b/devel_tools/size.mli @@ -4,13 +4,16 @@ (* *) (* This software is free software; you can redistribute it and/or *) (* modify it under the terms of the GNU Library General Public *) -(* License version 2, with the special exception on linking *) +(* License version 2.1, with the special exception on linking *) (* described in file LICENSE. *) (* *) (* This software 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. *) (* *) +(* File modified by CEA (Commissariat à l'énergie atomique et aux *) +(* énergies alternatives). *) +(* *) (**************************************************************************) (*i $Id: size.mli,v 1.1 2007-11-28 12:52:04 uid568 Exp $ i*) diff --git a/doc/aorai/Makefile b/doc/aorai/Makefile index 515b0938ec06b9de1bd34f5ad8c4e9f97b161cca..750c6c23f14ea14be2145c360c8613e03c85f89c 100644 --- a/doc/aorai/Makefile +++ b/doc/aorai/Makefile @@ -1,3 +1,28 @@ +########################################################################## +# # +# This file is part of Aorai plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# INRIA (Institut National de Recherche en Informatique et en # +# Automatique) # +# INSA (Institut National des Sciences Appliquees) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: all clean DWNLDDIR=../manuals diff --git a/doc/developer/Makefile b/doc/developer/Makefile index eb5f0c6b5a53b6139548bf6d9ca0565bf0d57c2d..80c5b48ec69a2e9504a09bdda30be81a32f50d47 100644 --- a/doc/developer/Makefile +++ b/doc/developer/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/developer/Makefile.config b/doc/developer/Makefile.config index 3554aba0cc6eb7bbd749f8060ca8c2c9d60a53a2..54e28963937a89d7a9fb1bc3f76bedadbd78417c 100644 --- a/doc/developer/Makefile.config +++ b/doc/developer/Makefile.config @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + MAKECONFIG_DIR=../../share include $(MAKECONFIG_DIR)/Makefile.common MAKEPDF ?= latexmk -pdf -quiet diff --git a/doc/developer/check_api/Makefile b/doc/developer/check_api/Makefile index e2219705a5916e3457881ef319d1a7be13d26059..ac8885a77293456c23af39bb71fcfd03a516cbf9 100644 --- a/doc/developer/check_api/Makefile +++ b/doc/developer/check_api/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/developer/check_api/check_index_grammar.mly b/doc/developer/check_api/check_index_grammar.mly index 3db1a867b460006aeba5f6b15d8e91ae5b59c960..26b5b76ac8f08841cbc98cd63664b34fd675213b 100644 --- a/doc/developer/check_api/check_index_grammar.mly +++ b/doc/developer/check_api/check_index_grammar.mly @@ -2,12 +2,21 @@ /* */ /* This file is part of Frama-C. */ /* */ -/* Copyright (C) 2007-2021 */ +/* Copyright (C) 2007-2022 */ /* CEA (Commissariat à l'énergie atomique et aux énergies */ /* alternatives) */ /* */ -/* All rights reserved. */ -/* Contact CEA LIST for licensing. */ +/* you can redistribute it and/or modify it under the terms of the GNU */ +/* Lesser General Public License as published by the Free Software */ +/* Foundation, version 2.1. */ +/* */ +/* It 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 Lesser General Public License for more details. */ +/* */ +/* See the GNU Lesser General Public License version 2.1 */ +/* for more details (enclosed in the file licenses/LGPLv2.1). */ /* */ /**************************************************************************/ diff --git a/doc/developer/hello_world/Makefile b/doc/developer/hello_world/Makefile index 47732363b835d3e3e579a6d5227467d31b4f2377..8da55444dd6af8bc17c26bab7a8864a18dd8e11f 100644 --- a/doc/developer/hello_world/Makefile +++ b/doc/developer/hello_world/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2020 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/developer/tutorial/hello/Makefile b/doc/developer/tutorial/hello/Makefile index cdeaa65fbabc6fdcbcd072b58387dd47bd62029c..97d6a65afab8dbba4c43b9e0db587fcd5d842fd8 100644 --- a/doc/developer/tutorial/hello/Makefile +++ b/doc/developer/tutorial/hello/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/developer/tutorial/hello/src/Makefile.multiple-files b/doc/developer/tutorial/hello/src/Makefile.multiple-files index 4e97b5ed2dddd86b660daadfbd6a5dd9c70232b4..0a63c0353f0e895d0bd27db61c9d2599f4e53dd8 100644 --- a/doc/developer/tutorial/hello/src/Makefile.multiple-files +++ b/doc/developer/tutorial/hello/src/Makefile.multiple-files @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_options hello_print hello_run diff --git a/doc/developer/tutorial/hello/src/Makefile.single-file b/doc/developer/tutorial/hello/src/Makefile.single-file index 9b1b558bcba37d7831e1fee860903bef0e7bef1d..b99d50a1dce2c0cd3b11a5bb15f5b87821b6b52f 100644 --- a/doc/developer/tutorial/hello/src/Makefile.single-file +++ b/doc/developer/tutorial/hello/src/Makefile.single-file @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_world diff --git a/doc/developer/tutorial/hello/src/Makefile.test b/doc/developer/tutorial/hello/src/Makefile.test index 2ab6fb6a70cbd4d1e697ebe0d65248dddc3028ab..7ff38b3f00bd36c277dd4f889afb323b8ceeec55 100644 --- a/doc/developer/tutorial/hello/src/Makefile.test +++ b/doc/developer/tutorial/hello/src/Makefile.test @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_options hello_print hello_run diff --git a/doc/developer/tutorial/viewcfg/Makefile b/doc/developer/tutorial/viewcfg/Makefile index a143ee77a73cdb3b65f71e5c0323664f7444f931..67918576782a6915848671cabc6c6808eebba8d5 100644 --- a/doc/developer/tutorial/viewcfg/Makefile +++ b/doc/developer/tutorial/viewcfg/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/developer/tutorial/viewcfg/src/Makefile.split b/doc/developer/tutorial/viewcfg/src/Makefile.split index ee56b8cad49061542f416bac73f901bb8ce4c325..fc1aebbdf00c7a55a6339fa0514f2b87a62c8e5e 100644 --- a/doc/developer/tutorial/viewcfg/src/Makefile.split +++ b/doc/developer/tutorial/viewcfg/src/Makefile.split @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = ViewCfg PLUGIN_CMO = cfg_options cfg_core cfg_register diff --git a/doc/hevea.css b/doc/hevea.css index c549e52ced4e470e2dc4385c745aa71969e2f95b..fe81db6e64960b94032e68a422f3f16176b4a649 100644 --- a/doc/hevea.css +++ b/doc/hevea.css @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* CEA (Commissariat à l'énergie atomique et aux énergies */ +/* alternatives) */ +/* */ +/* you can redistribute it and/or modify it under the terms of the GNU */ +/* Lesser General Public License as published by the Free Software */ +/* Foundation, version 2.1. */ +/* */ +/* It 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 Lesser General Public License for more details. */ +/* */ +/* See the GNU Lesser General Public License version 2.1 */ +/* for more details (enclosed in the file licenses/LGPLv2.1). */ +/* */ +/**************************************************************************/ + html{ background: darkgrey; padding: 24px; diff --git a/doc/metrics/Makefile b/doc/metrics/Makefile index cf7cd6b60d7c1453e281bc04785fe05a439d2de6..e998a3da92f4dcf793ed28aba1ad6f50b38d49fb 100644 --- a/doc/metrics/Makefile +++ b/doc/metrics/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: default all clean TARGET = metrics.pdf diff --git a/doc/pandoc/style.css b/doc/pandoc/style.css index f32fd1e16621cfeb8f7367a3d83a1bf29570181b..18398ee443a0dce7d08bfcafeca107288b2b1423 100644 --- a/doc/pandoc/style.css +++ b/doc/pandoc/style.css @@ -2,7 +2,7 @@ /* */ /* This file is part of Frama-C. */ /* */ -/* Copyright (C) 2007-2021 */ +/* Copyright (C) 2007-2022 */ /* CEA (Commissariat à l'énergie atomique et aux énergies */ /* alternatives) */ /* */ diff --git a/doc/pdg/Makefile b/doc/pdg/Makefile index de8bc6307421bec04bd8fab929978e1191a8f78e..74b8af4e70b48417b982ac3781490c8ccad5418e 100644 --- a/doc/pdg/Makefile +++ b/doc/pdg/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/release/Makefile b/doc/release/Makefile index 0c698b87a884f92a6cbfceb457a287f2f690fd7e..7797c93e029f967707f40d3cf89fe92f858326de 100644 --- a/doc/release/Makefile +++ b/doc/release/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # # # ########################################################################## diff --git a/doc/rte/Makefile b/doc/rte/Makefile index c3d71f538c537d4c9ccc072d7786205621c94034..2c6a25c25ee9686ed17cc8c56dee151223019b2b 100644 --- a/doc/rte/Makefile +++ b/doc/rte/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/scope/Makefile b/doc/scope/Makefile index 3e14c50237d6411697cad872bdff9a1878a9c1a5..ac55e30f1991ffdb38612fdfcb1ee248d6e01ce8 100644 --- a/doc/scope/Makefile +++ b/doc/scope/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + #vide : pour ne pas utiliser de règles implicites .SUFFIXE: .PHONY: clean all debug diff --git a/doc/slicing/Makefile b/doc/slicing/Makefile index b09932ac72db4cf6512927e70d60debfe827927c..673e0ac1c9ae83a3294e668d0c6c00c92a20a7f6 100644 --- a/doc/slicing/Makefile +++ b/doc/slicing/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/userman/Makefile b/doc/userman/Makefile index 433971360454eaafc0c43dccfe11c4a15f044b5e..0b98372bc4d1250d4113ea4827edf80d636b4edf 100644 --- a/doc/userman/Makefile +++ b/doc/userman/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # Require texi2pdf .DEFAULT_GOAL := all diff --git a/doc/userman/Makefile.config b/doc/userman/Makefile.config index b1c187535803f92702c052d5b49f58f212ccfeca..7008f1df9dfda02882dd2d8e8043989cb6d11b57 100644 --- a/doc/userman/Makefile.config +++ b/doc/userman/Makefile.config @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + MAKECONFIG_DIR=../../share include ../../share/Makefile.common FRAMAC_VERSION=$(shell $(SED) -e 's/\\(.*\\)/\\1/' ../../VERSION) diff --git a/headers/check-headers.sh b/headers/check-headers.sh deleted file mode 100755 index 6846de19e9ba7363bba0b0b10a0f671bd7faabcb..0000000000000000000000000000000000000000 --- a/headers/check-headers.sh +++ /dev/null @@ -1,265 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -echo $0 $@ -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI <options> <files>" - echo " $APPLI [--update] --spec-files <spec-files>" - echo " 1. Checks entries of <spec-files>" - echo " --update: updates <spec-files> by removing comments and multiple entries" - echo " $APPLI [--update] [--no-headers <header-file>]* <spec-file> ([--files-from] <file>]*" - echo " 1. Checks entries of <spec-file>" - echo " --update: updates <spec-file> by removing comments and multiple entries" - echo " 2. Checks that every <files> have an entry into the <spec-file>" - echo " 3. Checks that all the <files> are not attributed to <header-file> in <spec-file>" - echo " --no-headers <header-file>: cumulative option" - exit 0 -} - -Requires () { - for File in "$@" - do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -RegExp="" -Checking () { - - Requires sort tr grep diff sed - - if [ "$SpecFilesOpt" != "" ] && [ "$HeadersOpt" != "" ] ; then - echo "Error: given options are exclusives" - exit 1 - fi - - if [ "$1" = "" ] ; then - echo "Error: missing argument" - exit 1 - fi - - if [ ! -f "$1" ] ; then - echo "Error: file not found: $file" - exit 1 - fi - - if [ "$SpecFilesOpt" != "" ] ; then - shift - for file in $@ ; do - if [ "$file" != "--files-from" ] && [ ! -f $file ] ; then - echo "Error: file not found: $file" - exit 1 - fi - done - fi - - if [ "$HeadersOpt" != "" ] ; then - RegExp="(" - for file in $HeadersOpt ; do - SyntaxOk=$(echo "$file" | tr -d "._[:alnum:]") - if [ "$SyntaxOk" != "" ] ; then - echo "Error: invalid header filename: $file" - exit 1 - fi - if [ "$RegExp" != "(" ] ; then - RegExp="${RegExp}|" - fi - RegExp="${RegExp}$(echo $file | sed -e 's:\.:\\.:')" - done - RegExp="^${RegExp}):" - fi -} - -Result="0" -Check () { - Warn="" - cat $1 \ - | tr "[:blank:]" " " \ - | sed -e 's: *: :g' \ - | sed -e 's:^ ::g' \ - | sed -e 's: $::g' \ - | sed -e 's/ :/:/g' \ - | sed -e 's/:\([^ ]\)/: \1/g' \ - > $1.$$ - TMP1=$1.$$ - if [ "$?" != "0" ] && [ "$2" = "-step-1" ] ; then - echo " Warning: some blank characters can be cleaned:" - diff $1 $TMP1 | grep "^> " - Warn="Ok" - fi - grep -v "^#" $TMP1 > ${TMP1}.$$ - TMP2=${TMP1}.$$ - LC_ALL=C sort -k2 -k1 $TMP2 > $TMP1 - diff -q $TMP1 $TMP2 > /dev/null - if [ "$?" != "0" ] && [ "$2" = "-step-1" ] ; then - echo " Warning: some entries are unsorted:" - diff $TMP1 $TMP2 | grep "^> " - Warn="Ok" - fi - LC_ALL=C sort -u -k2 -k1 $TMP1 > $TMP2 - diff -q $TMP2 $TMP1 > /dev/null - if [ "$?" != "0" ] ; then - if [ "$2" = "-step-1" ] ; then - echo " Warning: some entries are duplicated:" - else - echo " Warning: the following given files are duplicated:" - fi - diff $TMP2 $TMP1 | sed -n -e "s/^> ~no-entry-for:/ /p" - Warn="Ok" - fi - LC_ALL=C sort -u -k2 $TMP2 > $TMP1 - if [ "$3" != "" ] ; then - diff $TMP1 $3 > /dev/null - if [ "$?" != "0" ] ; then - echo " Error: some files have no entry:" - diff $3 $TMP1 | sed -n -e "s/^> ~no-entry-for:/ /p" - Warn="OkOk" - Result="1" - fi - else - diff -q $TMP1 $TMP2 > /dev/null - if [ "$?" != "0" ] ; then - if [ "$2" = "-step-1" ] ; then - echo " Error: some entries are duplicated." - echo " removed entries:" - else - echo " Error: some checked entries have unwanted headers:" - fi - diff $TMP1 $TMP2 | grep "^> " - Warn="OkOk" - Result="1" - fi - fi -} - -CheckSpecFile () { - echo " Checking specification file $1..." - Check "$1" "-step-1" - if [ "$Warn" = "OkOk" ] ; then - if [ "$UpdateOpt" != "--update" ] ; then - rm $TMP1 $TMP2 - echo " Use --update option to update $1 file" - exit 1 - fi - fi - if [ "$UpdateOpt" = "--update" ] ; then - if [ "$Warn" = "" ] ; then - diff -q $TMP1 $1 > /dev/null - if [ "$?" != "0" ] ; then - Warn="Ok" - fi - fi - if [ "$Warn" = "" ] ; then - echo "Warning: already up to date" - else - echo " Updating file $1" - mv $TMP1 $1 - fi - fi -} - -UpdateOpt="" -HeadersOpt="" -SpecFilesOpt="" -while [ "$1" != "" ] ; do - case "$1" in - -h) Usage;; - -help) Usage;; - --help) Usage;; - --update) UpdateOpt="$1";; - --spec-files) SpecFilesOpt="$1";; - --no-headers) shift; HeadersOpt="${Headers} $1";; - --files-from) break;; - --*) echo "Unknown option $1"; exit 1;; - *) break;; - esac - shift -done - -Checking $@ - -BuildTmpFile() { - TmpFile="$1" - shift - Str="$1" - shift - while [ "$1" != "" ]; do - if [ "$1" = "--files-from" ] ; then - shift - cat $1 \ - | tr "[:blank:]" " " \ - | sed -e 's: *: :g' \ - | sed -e 's:^ ::g' \ - | sed -e 's: $::g' \ - | egrep -v '^#' \ - | sed -e "s#^#${Str}: #" >> $TMP - else - echo "${Str}: $1" >> $TMP - fi - shift - done -} - -if [ "$SpecFilesOpt" = "" ] ; then -# echo "Step 1..." - SpecFile=$1 - shift - CheckSpecFile $SpecFile -# echo " Removing temporary files" - mv $TMP2 $TMP1 - RefStep2=$TMP1 - - if [ "$1" != "" ]; then -# echo "Step 2..." - echo " Checking that all given files have an entry..." - cat $RefStep2 > $RefStep2.$$ - TMP=$RefStep2.$$ - BuildTmpFile $TMP "~no-entry-for" $@ - Check $TMP "-step-2" $RefStep2 -# echo " Removing temporary files" - rm -f $TMP $TMP1 $TMP2 - fi - rm -f $RefStep2 - - if [ "$RegExp" != "" ] && [ "$1" != "" ]; then -# echo "Step 3..." - echo " Checking for files having unwanted headers..." - egrep -e "$RegExp" $SpecFile > $SpecFile.$$ - TMP=$SpecFile.$$ - BuildTmpFile $TMP "./looking-for" $@ - Check $TMP "-step-3" -# echo " Removing temporary files" - rm -f $TMP $TMP1 $TMP2 - fi - - if test $Result -eq 0; then - echo "No issue detected. Great!" - fi - exit $Result - -else -# echo "Step 1..." - for file in $@ ; do - CheckSpecFile $file -# echo " Removing temporary files" - rm -f $TMP1 $TMP2 - done -fi \ No newline at end of file diff --git a/headers/close-source/ACSL_EL b/headers/close-source/CEA_PR_LGPL similarity index 100% rename from headers/close-source/ACSL_EL rename to headers/close-source/CEA_PR_LGPL diff --git a/headers/close-source/XL_COMPCERT b/headers/close-source/XL_COMPCERT new file mode 100644 index 0000000000000000000000000000000000000000..e8e6bf9af8871ef73e2d4bafb6aaa5a9af9f2c1f --- /dev/null +++ b/headers/close-source/XL_COMPCERT @@ -0,0 +1,10 @@ + The Compcert verified compiler + + Xavier Leroy, INRIA Paris-Rocquencourt + + Copyright Institut National de Recherche en Informatique et en + Automatique. All rights reserved. This file is distributed + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. This file is also distributed + under the terms of the INRIA Non-Commercial License Agreement. diff --git a/headers/hdrck.ml b/headers/hdrck.ml index 3a173a6017d284ee3fdff301ea2f54d6721c54e4..96232626de0c1bfeeeed09e770f345193fa02c73 100755 --- a/headers/hdrck.ml +++ b/headers/hdrck.ml @@ -1,6 +1,56 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It 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 Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + +type spec_format = Sep1Line1 (* <space>* FileName <space>* `:` <space>* HeaderId <space>* <eol> *) + | Sep2Line1 (* <space>* FileName <space>* `:` <space>* AttributeName <space>*`:` <space>*HeaderId <space>* <eol> *) + | Line3 (* FileName <eol> AttributeName <eol> HeaderId <eol> *) + | Zero3 (* FileName <null> AttributeName <null> HeaderId <null> *) +(* Sep1Line1 + > cat headers/header_spec.txt | headers/hdrck --stdin -spec-format=2-fields-by-line -header-dirs headers/open-source +*) +(* Sep2Line1 + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf " %s : header_spec : %s \n" > x-3-fields-by-line.txt + > cat x-3-fields-by-line.txt | headers/hdrck --stdin -spec-format=3-fields-by-line -header-dirs headers/open-source +*) +(* Line3 + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf "%s\nheader_spec\n%s\n" > x-3-lines.txt + > cat x-3-lines.txt | headers/hdrck --stdin -spec-format=3-lines -header-dirs headers/open-source +*) +(* Zero + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf "%s\nheader_spec\n%s\n" | tr '\n' '\0' > x-3-zeros.txt + > cat x-3-zeros.txt | headers/hdrck --stdin -z -header-dirs headers/open-source +*) + +(* From the git archive + > git ls-files -z | git check-attr --stdin -z header_spec \ + | headers/hdrck --stdin -z -header-dirs headers/open-source -header-dirs src/plugins/e-acsl/headers/open-source +*) + (* Parameters settable from command line *) let debug_flag = ref false and spec_files = ref [] +and from_stdin = ref false +and zero_stdin = ref false +and spec_format = ref Sep1Line1 and header_dirs = ref [] and forbidden_headers = ref [] and root_dir = ref (Sys.getcwd ()) @@ -8,7 +58,8 @@ and distrib_file = ref None and header_except_file = ref None and headache_config_file = ref "headers/headache_config.txt" and exit_on_warning = ref false -and exit_on_error = ref true (* only set to false for debugging purposes *) +and exit_on_error = ref true (* only settable to false for debugging purposes *) + type mode = | Check @@ -96,18 +147,27 @@ let get_tmp_dirname () = match !tmp_dirname with dirname | Some dirname -> dirname +let get_string_null (ic:in_channel) = + let rec aux acc = + let c = input_char ic in + if c <> '\000' then aux (c :: acc) else acc + in + let tab = Array.of_list (List.rev (aux [])) in + String.init (Array.length tab) (Array.get tab) + + (* Reads [nlines] lines of a file named [filename]. * * Defaults to reading the file entirely since any integer will ever be greater * or equal than [max_int]. *) -let read_lines ?nlines:(nlines=max_int) filename = +let read_lines ?nlines:(nlines=max_int) get_line filename = let lines = ref [] in - let ic = open_in filename in + let ic = if filename = "--stdin" then stdin else open_in filename in let n = ref 1 in try while !n <= nlines do - lines := input_line ic :: !lines; + lines := get_line ic :: !lines; incr n done; close_in ic; @@ -123,7 +183,10 @@ let extract_sub_dir filename = | sub_dir :: _ :: _ -> sub_dir | _ -> "" -let colon_reg_exp = Str.regexp ":" +let split_line_entry = + let colon_reg_exp = Str.regexp ":" in + fun (line:string) -> + List.map String.trim (Str.split colon_reg_exp line) module StringSet = struct include Set.Make(struct type t = string let compare = String.compare end) @@ -143,68 +206,103 @@ end @param license_name *) let add_spec_entry (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) - idx (file_name : string) (license_name: string) = - if license_name <> ".ignore" then begin - try - let previous_entry = Hashtbl.find spec_tab file_name in - if license_name <> previous_entry then + idx ~(file_name : string) ~(license_name: string) = + match license_name with + | ("set" | "unset" | "unspecified") -> + warn (* error ~exit_value:9 *) + "%s: invalid specification (%d) for that file (git attribute value=%s)@." + file_name idx license_name + | ".ignore" -> begin + try + let previous_entry = Hashtbl.find spec_tab file_name in error ~exit_value:6 "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx license_name previous_entry - else if StringSet.mem file_name !ignored_files then - error ~exit_value:6 - "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx license_name ".ignore" - else warn "%s: specification duplicated (%d)@." file_name idx - with Not_found -> Hashtbl.add spec_tab file_name license_name - end - else begin - try - let previous_entry = Hashtbl.find spec_tab file_name in - error ~exit_value:6 - "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx previous_entry ".ignore" - with Not_found -> - if StringSet.mem file_name !ignored_files then - warn "%s: specification duplicated (%d)@." file_name idx - else ignored_files := StringSet.add file_name !ignored_files - end + file_name idx previous_entry ".ignore" + with Not_found -> + if StringSet.mem file_name !ignored_files then + warn "%s: specification duplicated (%d)@." file_name idx + else ignored_files := StringSet.add file_name !ignored_files + end + | _ -> begin + try + let previous_entry = Hashtbl.find spec_tab file_name in + if license_name <> previous_entry then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name previous_entry + else if StringSet.mem file_name !ignored_files then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name ".ignore" + else warn "%s: specification duplicated (%d)@." file_name idx + with Not_found -> + if StringSet.mem file_name !ignored_files then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name ".ignore" + else Hashtbl.add spec_tab file_name license_name + end (* Reads the contents of the specification. - Each line of the file is assumed to contain one association of the form: - <filename_id>\s+:\s+<license_id> - where: - - \s matches any whitespace character - - identifiers can contain anything but whitespaces. - + Each line of the file using the [spec_format]. Lines that do not match this pattern are ignored. @param spec_tab (file -> license header name) hashtable to update @param ignored_files set of ignored files to update. *) -let read_specs (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) (spec_file : string) = - debug "Specification file: %s@." spec_file; - job_head "Checking format of specification file %s... @?" spec_file; - let spec_lines = read_lines spec_file in - let sub_dir = extract_sub_dir spec_file in - List.iteri - (fun i spec_line -> - match Str.split colon_reg_exp spec_line with - | filename :: [license_name] -> - let filename = String.trim filename in - let filename = - if sub_dir <> "" then path_concat sub_dir filename else filename - in - let filename = path_concat !root_dir filename in - let license_name = String.trim license_name in - add_spec_entry ignored_files spec_tab i filename license_name - | _ -> - warn "%s (%d): bad line format@." spec_file i - ) spec_lines; +let read_specs spec_format (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) (spec_file : string option) = + let spec_fname = match spec_file with None -> "--stdin" | Some filename -> filename in + debug "Specification file: %s@." spec_fname ; + job_head "Checking format of specification file %s... @?" spec_fname; + let sub_dir = extract_sub_dir spec_fname in + let add_spec, get_line = + let add_spec_item i ~file_name ~license_name = + let file_name = + if sub_dir <> "" then path_concat sub_dir file_name else file_name + in + let file_name = path_concat !root_dir file_name in + add_spec_entry ignored_files spec_tab i ~file_name ~license_name + in + let add_spec_Sep1Line1 spec_lines = + List.iteri + (fun i spec_line -> + match split_line_entry spec_line with + | file_name :: [license_name] -> + add_spec_item i ~file_name ~license_name + | _ -> warn "%s (%d): bad line format@." spec_fname (i+1) + ) spec_lines + and add_spec_Sep2Line1 spec_lines = + List.iteri + (fun i spec_line -> + Format.printf "%s@." spec_line; + match split_line_entry spec_line with + | file_name :: "header_spec" :: [license_name] -> + add_spec_item i ~file_name ~license_name + | _ :: attr :: [_] -> warn "%s (%d): bad attribute name: %s@." spec_fname (i+1) attr + | _ -> warn "%s (%d): bad line format@." spec_fname (i+1) + ) spec_lines + and add_spec_Sep0Line3 spec_lines = + let rec add_spec i = function + | [] -> () + | file_name :: "header_spec" :: license_name :: spec_lines -> + add_spec_item i ~file_name ~license_name ; + add_spec (i+1) spec_lines + | _ :: attr :: _ :: _ -> + warn "%s (%d): (3-upplet: %d) attribute name: %s@." spec_fname ((3*i)+1) (i+1) attr + | _ -> warn "%s (%d): (3-upplet: %d) bad format@." spec_fname ((3*i)+1) (i+1) + in add_spec 0 spec_lines + in match spec_format with + | Sep1Line1 -> add_spec_Sep1Line1,input_line + | Sep2Line1 -> add_spec_Sep2Line1,input_line + | Line3 -> add_spec_Sep0Line3,input_line + | Zero3 -> add_spec_Sep0Line3, get_string_null + in + let spec_lines = read_lines get_line spec_fname in + add_spec spec_lines; job_done () let coma_reg_exp = Str.regexp "," -let set_cumulative (name:string) (value: string list ref) (set : string) = +let set_cumulative ~(name:string) (value: string list ref) ~(set : string) = debug "Register cumulative %s option: %s" name set; value := List.fold_left (fun acc v -> let v = String.trim v in if v="" then acc else v::acc) @@ -338,7 +436,7 @@ let check_spec_discrepancies ) specs ; if !n > 0 then begin error ~exit_value:4 "@[<v 2>%a%d / %d files with bad headers@]@." - (fun ppf l -> + (fun _ppf l -> List.iter (fun (file, hdr_type) -> error_fmt "%s : header differs from spec %s@." @@ -352,7 +450,7 @@ let check_spec_discrepancies let check_forbidden_headers (forbidden_headers:StringSet.t) header_specifications (distributed_files:StringSet.t) = if not (StringSet.is_empty forbidden_headers) then begin - job_head "Checking that all distributed files have no forbidden header specification @?"; + job_head "Checking that all distributed files have no forbidden header specification... @?"; let forbidden = ref [] in let n = ref 0 in StringSet.iter @@ -365,7 +463,7 @@ let check_forbidden_headers (forbidden_headers:StringSet.t) header_specification distributed_files; if !forbidden <> [] then error ~exit_value:4 "@[<v 2>%a%d / %d files with bad headers@]@." - (fun ppf l -> + (fun _ppf l -> List.iter (fun (file, hdr_type) -> error_fmt "%s : forbidden header %s@." @@ -488,42 +586,59 @@ let executable_name = Sys.argv.(0) let umsg = Format.sprintf "Usage: %s [options] <header spec files>@.%s" executable_name - ("The line format of each <header spec files> is:\n" ^ - " <source file> ':' <license definition>\n" ^ + ("The default format of each <header spec files> is \"2-fields-by-line\".\n" ^ + "The different formats are:\n" ^ + "- \"2-fields-by-line\" format:\n\t<space>* <source file> <space>* ':' <space>* <license definition> <space>* <eol>\n" ^ + "- \"3-fields-by-line\" format:\n\t<space>* <source file> <space>* ':' <space>* 'header_spec' <space>* ':' <space>* <license definition> <space>* <eol>\n" ^ + "- \"3-lines\" format:\n\t<source file> <eol> 'header_spec' <eol> <license definition> <eol>\n" ^ + "- \"3-zeros\" format:\n\t<source file> <zero> 'header_spec' <zero> <license definition> <zero>\n" ^ "where <license definition> is '.ignore' or a license definition file.\n" ^ "The location directory of the license definitions can be specified using the -header-dirs option.\n" ^ - "When the name of a <header spec file> has the form 'path/./header-spec-file',\n"^ - "then the <source file> names that it contains\n" ^ + "When the name of a <header spec file> has the form 'path/./header-spec-file', "^ + "then the <source file> names that it contains " ^ "are considered beeing relative to given 'path'.\n" ^ - "That is done before processing the option '-C <dir>'." ) + "That is done before processing the option '-C <dir>'.'\n" ^ + "List of the options:") let rec argspec = [ "--help", Arg.Unit print_usage , " print this option list and exits"; + "--stdin", Arg.Set from_stdin, + " extract an header spec from the standard input in addition to the given header spec files"; "-help", Arg.Unit print_usage , " print this option list and exits"; "-debug", Arg.Set debug_flag, " enable debug messages"; - "-forbidden-headers", Arg.String (set_cumulative "-forbidden-headers" forbidden_headers) , - " none of the distributed files may have one of these license name"; - "-header-dirs", Arg.String (set_cumulative "-header-dirs" header_dirs), - " add comma separated list of directories to search for license header definitions [.]"; + + "-forbidden-headers", Arg.String (fun set -> set_cumulative ~name:"-forbidden-headers" forbidden_headers ~set) , + "<license name>,... \t none of the checked files may have one of the <license name> []"; + "-header-dirs", Arg.String (fun set -> set_cumulative ~name:"-header-dirs" header_dirs ~set), + "<directory>,... \t list of <directory> to search for license header definitions []"; "-distrib-file", Arg.String (set_opt distrib_file), - " set filename with a list of files set for distribution"; + "<filename> \t considers only the files listed into the <filename>"; "-header-except-file", Arg.String (set_opt header_except_file), - " set filename with a list of files whose headers do not need checking"; + "<filename> \t does not look at the files listed into the <filename>"; "-headache-config-file", Arg.Set_string headache_config_file, - Format.sprintf " set headache configuration file [%s]" !headache_config_file; + Format.sprintf "<filename> \t set headache configuration file [%s]" !headache_config_file; "-no-exit-on-error", Arg.Unit (fun () -> exit_on_error := false), - " do not exit on errors "; + " does not exit on errors "; "-exit-on-warning", Arg.Set exit_on_warning, " considers warnings as errors (anyway, forces exit on errors too)"; "-update", Arg.Unit (fun () -> mode := Update), - " update headers w.r.t to the <header spec file>"; + " updates headers w.r.t to the <header spec file>"; "-C", Arg.Set_string root_dir, Format.sprintf - " prepend <dir> to filenames in header specification [%s] " + "<dir> \t prepends <dir> to filenames in header specification [%s] " !root_dir; + "-spec-format", Arg.String (function + | "2-fields-by-line" -> spec_format := Sep1Line1 + | "3-fields-by-line" -> spec_format := Sep2Line1 + | "3-lines" -> spec_format := Line3 + | "3-zeros" -> spec_format := Zero3 + | s -> Format.printf "invalid spec format: %s@." s ; print_usage ()), + "<format>\t \"2-fields-by-line\"|\"3-fields-by-line\"|\"3-lines\"|\"3-zeros\""; + "-z", Arg.Set zero_stdin, + " force to use the spec format \"3-zeros\" when reading from stdin"; ] and sort argspec = @@ -545,25 +660,28 @@ let _ = check_headache_config_file (); begin match !spec_files, !distrib_file, !header_except_file with - | [], _, _ -> + | [], _, _ when not !from_stdin -> Format.printf "Please set a specification file@\n@."; print_usage (); | spec_files, distrib_file_opt, header_except_opt -> let specified_files = Hashtbl.create 256 in let ignored_files = ref StringSet.empty in - List.iter (read_specs ignored_files specified_files) spec_files; + if !from_stdin then read_specs (if !zero_stdin then Zero3 else !spec_format) ignored_files specified_files None; + List.iter (fun f -> read_specs !spec_format ignored_files specified_files (Some f)) spec_files; + Format.printf "- ignored=%d@.- specified=%d@." (StringSet.cardinal !ignored_files) (Hashtbl.length specified_files); match !mode with | Check -> let stringset_from_opt_file = function | None -> StringSet.empty | Some file -> - let lines = read_lines file in + let lines = read_lines input_line file in List.fold_left (fun s l -> StringSet.add (path_concat !root_dir l) s) StringSet.empty lines in let distributed_files = stringset_from_opt_file distrib_file_opt in let header_exception_files = stringset_from_opt_file header_except_opt in + Format.printf "- excepted=%d@.- distributed=%d@." (StringSet.cardinal header_exception_files) (StringSet.cardinal distributed_files); check !ignored_files specified_files distributed_files header_exception_files | Update -> update_headers specified_files; diff --git a/headers/headache.sh b/headers/headache.sh deleted file mode 100755 index 2eb900248cf06073b1f17e19616f80ca800e393e..0000000000000000000000000000000000000000 --- a/headers/headache.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI -c <headache-config> -h <header-file> <file>" - echo " Runs headache with the same arguments when <file> exists" - exit 1 -} - - Requires () { -# Looking for executables - for File in "$@" ; do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -Error() { - echo "Error: $@" - exit 1 -} - -CheckingVariables () { - ([ "$1" = "--help" ] || [ "$1" = "-help" ] || [ "$1" = "-h" ]) && Usage - [ "$6" != "" ] && Error "too much arguments" - [ "$5" = "" ] && Error "too few arguments: $@" - [ "$1" != "-c" ] && Error "missing -c as first option" - [ ! -f "$2" ] && Error "config file not found $2" - [ "$3" != "-h" ] && Error "missing -h as second option" - [ ! -f "$4" ] && Error "header file not found $5" -} - -Requires headache -CheckingVariables $@ - -if [ -f "$5" ]; then - headache $@ -fi diff --git a/headers/headache_config.txt b/headers/headache_config.txt index 8ca8829fd006a1e0d5bb98d7625dd86a90bb807f..b49598cd666657116586a3a7d7ba105063c9798a 100644 --- a/headers/headache_config.txt +++ b/headers/headache_config.txt @@ -1,3 +1,32 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + +# note: the skip directive requires a filename starting by ".*" + +############# +# This file # +############# +| "headache_config.txt" -> frame open:"#" line:"#" close:"#" + ################## # Objective Caml # ################## @@ -27,13 +56,13 @@ ############ # Makefile # ############ +| ".*makefile.*" -> frame open:"#" line:"#" close:"#" | ".*Make.*" -> frame open:"#" line:"#" close:"#" | ".*\.mk" -> frame open:"#" line:"#" close:"#" ################# # Shell scripts # ################# -#note: the skip directive requires a filename starting by ".*" ??? | "autocomplete_frama-c" -> frame open: "#" line: "#" close: "#" | "_frama-c" -> frame open: "#" line: "#" close: "#" | ".*_frama-c" -> skip match:"#compdef.*" @@ -58,12 +87,29 @@ | "frama-c.debug" -> frame open:"#" line:"#" close:"#" | ".*frama-c.debug" -> skip match:"#!.*" +############# +# Git hooks # +############# +| "pre-commit" -> frame open:"#" line:"#" close:"#" +| ".*pre-commit" -> skip multiline_match: "#!.*" multiline_match: "# -\*-.*" + +############### +# Zsh scripts # +############### +| ".*\.zsh" -> frame open:"#" line:"#" close:"#" +| ".*\.zsh" -> skip match:"#compdef .*" +| "_frama-c" -> frame open:"#" line:"#" close:"#" +| ".*_frama-c" -> skip match:"#compdef .*" + ################ # Perl scripts # ################ | ".*\.perl" -> frame open:"#" line:"#" close:"#" +| ".*\.perl" -> skip match:"#!.*" | "flamegraph.pl" -> frame open:"#" line:"#" close:"#" | ".*flamegraph.pl" -> skip match:"#!.*" +| "duplicates.pl" -> frame open:"#" line:"#" close:"#" +| ".*duplicates.pl" -> skip match:"#!.*" ######################### # MS-Windows Resources # diff --git a/headers/header_spec.txt b/headers/header_spec.txt index e635e42c3a12a14c3fd985f486d40ecff5b48673..dc4e4537811af57290bad456a08eb235c871ad0a 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -15,7 +15,7 @@ README.md: .ignore VERSION: .ignore VERSION_CODENAME: .ignore bin/.gitignore: .ignore -bin/build-src-distrib.sh: .ignore +bin/build-src-distrib.sh: CEA_LGPL bin/frama-c: CEA_LGPL bin/frama-c-config: CEA_LGPL bin/frama-c-script: CEA_LGPL @@ -66,13 +66,12 @@ doc/code/intro_sparecode.txt: CEA_LGPL doc/code/style.css: CEA_LGPL doc/code/toc_head.htm: CEA_LGPL doc/code/toc_tail.htm: CEA_LGPL -headers/check-headers.sh: CEA_PROPRIETARY -headers/close-source/ACSL_EL: .ignore headers/close-source/AORAI_LGPL: .ignore headers/close-source/CEA_INRIA_LGPL: .ignore headers/close-source/CEA_LGPL: .ignore headers/close-source/CEA_LGPL_OR_PROPRIETARY: .ignore headers/close-source/CEA_PROPRIETARY: .ignore +headers/close-source/CEA_PR_LGPL: .ignore headers/close-source/CEA_WP: .ignore headers/close-source/CIL: .ignore headers/close-source/INRIA_BSD: .ignore @@ -83,15 +82,14 @@ headers/close-source/MODIFIED_OCAMLGRAPH: .ignore headers/close-source/MODIFIED_WHY3: .ignore headers/close-source/OCAML_STDLIB: .ignore headers/close-source/UNMODIFIED_WHY3: .ignore -headers/headache.sh: CEA_PROPRIETARY -headers/headache_config.txt: .ignore +headers/headache_config.txt: CEA_LGPL headers/header_spec.txt: .ignore -headers/open-source/ACSL_EL: .ignore headers/open-source/AORAI_LGPL: .ignore headers/open-source/CEA_INRIA_LGPL: .ignore headers/open-source/CEA_LGPL: .ignore headers/open-source/CEA_LGPL_OR_PROPRIETARY: .ignore headers/open-source/CEA_PROPRIETARY: .ignore +headers/open-source/CEA_PR_LGPL: .ignore headers/open-source/CEA_WP: .ignore headers/open-source/CIL: .ignore headers/open-source/INRIA_BSD: .ignore @@ -102,7 +100,6 @@ headers/open-source/MODIFIED_OCAMLGRAPH: .ignore headers/open-source/MODIFIED_WHY3: .ignore headers/open-source/OCAML_STDLIB: .ignore headers/open-source/UNMODIFIED_WHY3: .ignore -headers/updates-headers.sh: CEA_PROPRIETARY lib/plugins/PLUGINS.README: .ignore licenses/CDDL-1.0: .ignore licenses/LGPLv2: .ignore @@ -118,35 +115,35 @@ share/analysis-scripts/analysis.mk: CEA_LGPL share/analysis-scripts/benchmark_database.py: CEA_LGPL share/analysis-scripts/build.py: CEA_LGPL share/analysis-scripts/build_callgraph.py: CEA_LGPL -share/analysis-scripts/clone.sh: .ignore +share/analysis-scripts/clone.sh: CEA_LGPL share/analysis-scripts/creduce.sh: CEA_LGPL share/analysis-scripts/detect_recursion.py: CEA_LGPL share/analysis-scripts/epilogue.mk: CEA_LGPL share/analysis-scripts/estimate_difficulty.py: CEA_LGPL -share/analysis-scripts/fc_stubs.c: .ignore +share/analysis-scripts/fc_stubs.c: CEA_LGPL share/analysis-scripts/frama_c_results.py: CEA_LGPL -share/analysis-scripts/cmd-dep.sh: .ignore -share/analysis-scripts/concat-csv.sh: .ignore +share/analysis-scripts/cmd-dep.sh: CEA_LGPL +share/analysis-scripts/concat-csv.sh: CEA_LGPL share/analysis-scripts/find_fun.py: CEA_LGPL share/analysis-scripts/flamegraph.pl: CDDL -share/analysis-scripts/function_finder.py: .ignore +share/analysis-scripts/function_finder.py: CEA_LGPL share/analysis-scripts/git_utils.py: CEA_LGPL share/analysis-scripts/heuristic_list_functions.py: CEA_LGPL share/analysis-scripts/list_files.py: CEA_LGPL share/analysis-scripts/list_functions.ml: CEA_LGPL share/analysis-scripts/make_wrapper.py: CEA_LGPL share/analysis-scripts/normalize_jcdb.py: CEA_LGPL -share/analysis-scripts/parse-coverage.sh: .ignore +share/analysis-scripts/parse-coverage.sh: CEA_LGPL share/analysis-scripts/print_callgraph.py: CEA_LGPL share/analysis-scripts/prologue.mk: CEA_LGPL share/analysis-scripts/pyproject.toml: .ignore share/analysis-scripts/README.md: .ignore share/analysis-scripts/results_display.py: CEA_LGPL -share/analysis-scripts/script_for_creduce_fatal.sh: .ignore -share/analysis-scripts/script_for_creduce_non_fatal.sh: .ignore +share/analysis-scripts/script_for_creduce_fatal.sh: CEA_LGPL +share/analysis-scripts/script_for_creduce_non_fatal.sh: CEA_LGPL share/analysis-scripts/source_filter.py: CEA_LGPL share/analysis-scripts/summary.py: CEA_LGPL -share/analysis-scripts/template.mk: .ignore +share/analysis-scripts/template.mk: CEA_LGPL share/compliance/c11_functions.json: .ignore share/compliance/c11_headers.json: .ignore share/compliance/compiler_builtins.json: .ignore @@ -165,7 +162,7 @@ share/Makefile.generic: CEA_LGPL share/Makefile.plugin.template: CEA_LGPL share/META.frama-c: .ignore share/configure.ac: CEA_LGPL -share/emacs/acsl.el: ACSL_EL +share/emacs/acsl.el: CEA_PR_LGPL share/emacs/frama-c-dev.el: CEA_LGPL share/emacs/frama-c-init.el: CEA_LGPL share/emacs/frama-c-recommended.el: CEA_LGPL @@ -987,24 +984,24 @@ src/plugins/loop_analysis/region_analysis_stmt.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/region_analysis_stmt.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/register.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/register.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/markdown-report/configure.ac: CEA_LGPL -src/plugins/markdown-report/eva_info.ml: CEA_LGPL -src/plugins/markdown-report/eva_info.mli: CEA_LGPL -src/plugins/markdown-report/Makefile.in: CEA_LGPL +src/plugins/markdown-report/configure.ac: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/eva_info.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/eva_info.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/Makefile.in: CEA_LGPL_OR_PROPRIETARY src/plugins/markdown-report/META.in: .ignore -src/plugins/markdown-report/md_gen.ml: CEA_LGPL -src/plugins/markdown-report/md_gen.mli: CEA_LGPL -src/plugins/markdown-report/mdr_params.ml: CEA_LGPL -src/plugins/markdown-report/mdr_params.mli: CEA_LGPL -src/plugins/markdown-report/mdr_register.ml: CEA_LGPL -src/plugins/markdown-report/mdr_register.mli: CEA_LGPL -src/plugins/markdown-report/parse_remarks.ml: CEA_LGPL -src/plugins/markdown-report/parse_remarks.mli: CEA_LGPL -src/plugins/markdown-report/sarif_gen.ml: CEA_LGPL -src/plugins/markdown-report/sarif_gen.mli: CEA_LGPL -src/plugins/markdown-report/sarif.ml: CEA_LGPL -src/plugins/markdown-report/sarif.mli: CEA_LGPL -src/plugins/markdown-report/share/acsl.xml: CEA_LGPL +src/plugins/markdown-report/md_gen.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/md_gen.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_params.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_params.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_register.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_register.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/parse_remarks.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/parse_remarks.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif_gen.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif_gen.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/share/acsl.xml: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/Metrics.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/css_html.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/css_html.mli: CEA_LGPL_OR_PROPRIETARY @@ -1120,13 +1117,13 @@ src/plugins/postdominators/postdominators_parameters.mli: CEA_LGPL_OR_PROPRIETAR src/plugins/postdominators/print.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/postdominators/print.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/print_api/.gitignore: .ignore -src/plugins/print_api/Makefile: CEA_LGPL -src/plugins/print_api/Print_api.mli: CEA_LGPL -src/plugins/print_api/grammar.mly: CEA_LGPL -src/plugins/print_api/lexer.mll: CEA_LGPL -src/plugins/print_api/lexer.mli: CEA_LGPL -src/plugins/print_api/print_interface.ml: CEA_LGPL -src/plugins/print_api/print_interface.mli: CEA_LGPL +src/plugins/print_api/Makefile: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/Print_api.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/grammar.mly: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/lexer.mll: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/lexer.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/print_interface.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/print_interface.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/qed/.gitignore: .ignore src/plugins/qed/Makefile: CEA_WP src/plugins/qed/bvars.ml: CEA_WP @@ -1335,15 +1332,15 @@ src/plugins/value/alarmset.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/alarmset.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/eval.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/eval.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/value/gen-api.sh: .ignore +src/plugins/value/gen-api.sh: CEA_LGPL_OR_PROPRIETARY src/plugins/value/parameters.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/parameters.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/register.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/register.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/self.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/self.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/value/test.assert.sh: .ignore -src/plugins/value/test.sh: .ignore +src/plugins/value/test.assert.sh: CEA_LGPL_OR_PROPRIETARY +src/plugins/value/test.sh: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/general_requests.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/general_requests.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/values_request.ml: CEA_LGPL_OR_PROPRIETARY @@ -1844,14 +1841,14 @@ src/plugins/wp/ctypes.ml: CEA_WP src/plugins/wp/ctypes.mli: CEA_WP src/plugins/wp/filter_axioms.ml: CEA_WP src/plugins/wp/filter_axioms.mli: CEA_WP -src/plugins/wp/doc/MakeDoc: .ignore -src/plugins/wp/doc/coqdoc/Makefile: .ignore +src/plugins/wp/doc/MakeDoc: CEA_WP +src/plugins/wp/doc/coqdoc/Makefile: CEA_WP src/plugins/wp/doc/coqdoc/coqdoc.sty: .ignore src/plugins/wp/doc/coqdoc/qed_generated.tex: .ignore src/plugins/wp/doc/coqdoc/typed_generated.tex: .ignore src/plugins/wp/doc/coqdoc/wpcoq.tex: .ignore src/plugins/wp/doc/manual/.gitignore: .ignore -src/plugins/wp/doc/manual/Makefile: .ignore +src/plugins/wp/doc/manual/Makefile: CEA_WP src/plugins/wp/doc/manual/mem.pdf: .ignore src/plugins/wp/doc/manual/size_base.pdf: .ignore src/plugins/wp/doc/manual/size_compl.pdf: .ignore diff --git a/headers/open-source/ACSL_EL b/headers/open-source/CEA_PR_LGPL similarity index 100% rename from headers/open-source/ACSL_EL rename to headers/open-source/CEA_PR_LGPL diff --git a/headers/open-source/XL_COMPCERT b/headers/open-source/XL_COMPCERT new file mode 100644 index 0000000000000000000000000000000000000000..e8e6bf9af8871ef73e2d4bafb6aaa5a9af9f2c1f --- /dev/null +++ b/headers/open-source/XL_COMPCERT @@ -0,0 +1,10 @@ + The Compcert verified compiler + + Xavier Leroy, INRIA Paris-Rocquencourt + + Copyright Institut National de Recherche en Informatique et en + Automatique. All rights reserved. This file is distributed + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. This file is also distributed + under the terms of the INRIA Non-Commercial License Agreement. diff --git a/headers/updates-headers.sh b/headers/updates-headers.sh deleted file mode 100755 index 9041bac49bea0bda16ac9177961ea4f53bf8e3df..0000000000000000000000000000000000000000 --- a/headers/updates-headers.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -HEADACHE=$(dirname $APPLINAME)/headache.sh - -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI <option>* <headers-spec> <header-dir> [<target-dir>] [<headache-config>]" - echo " <option>" - echo " --dry-run: shows the commands to perform without any file modification" - echo " --max-procs <N>: runs up to <N> jobs in parallel." - echo " --parallel: uses 'parallel' software instead of 'xargs'" - echo " <target-dir>: root pathname to the files to modify" - echo " default to ." - echo " <header-dir>: directory that should contents header files" - echo " <headache-config>: headache config file" - echo " default to ./headers" - echo " <headers-spec>: defines header files to apply on files". - echo " The format of <headers-spec> file is checked before doing anything." - echo " Syntax:" - echo " <line format>= <header-file> ':' <file-to-modify> '\n'" - echo " | '.ignore' ':' <ignored-file> '\n'" - echo " | '#' <comment-line> '\n'" - echo " | [':'] '\n'" - echo " Ignored files are not modified by the script ${APPLI}." - - exit 1 -} - -Requires () { -# Looking for executables - for File in "$@" ; do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -SetVariables() { - FILE=$1 - HEADER_SRC=$2 - TARGET_DIR=${3-.} - HEADACHE_CONFIG=${4-./headers/headache_config.txt} - if [ "$5" != "" ] ; then - echo "Error: too much arguments." - exit 1 - fi - if [ "${MAX_PROCS}" = "" ] && [ -f /proc/cpuinfo ] ; then - # Linux system - MAX_PROCS=$(cat /proc/cpuinfo | grep -c processor) - fi - if [ "${MAX_PROCS}" = "0" ] || [ "${MAX_PROCS}" = "" ] ; then - MAX_PROCS="" - else - MAX_PROCS="-P ${MAX_PROCS}" - fi -} - -CheckingVariables () { - if [ "${FILE}" = "" ] ; then - echo "Error: missing header specification file." - exit 1 - fi - if [ ! -f "${FILE}" ] ; then - echo "Error: header specification file not found: ${FILE}" - exit 1 - fi - if [ "${HEADER_SRC}" = "" ] ; then - echo "Error: missing header directory." - exit 1 - fi - if [ ! -d "${HEADER_SRC}" ] ; then - echo "Error: header directory not found: ${HEADER_SRC}/" - exit 1 - fi - if [ ! -d "${TARGET_DIR}" ] ; then - echo "Error: target directory not found: ${TARGET_DIR}" - exit 1 - fi - if [ ! -f "${HEADACHE_CONFIG}" ] ; then - echo "Error: headache config file not found: ${HEADACHE_CONFIG}" - exit 1 - fi -} - -PROCESS="" -MAX_PROCS="" -PARALLEL="" -REQUIREMENTS="xargs" -while [ "$1" != "" ] ; do - case "$1" in - -h) Usage;; - -help) Usage;; - --help) Usage;; - --max-procs) shift; MAX_PROCS="$1";; - --dry-run) PROCESS="echo";; - --parallel) PARALLEL="parallel"; REQUIREMENTS="${PARALLEL}";; - *) break;; - esac - shift -done - -Requires ${HEADACHE} gawk grep tr ${REQUIREMENTS} - -SetVariables $@ - -CheckingVariables - -# Checking the format of the input file and extract line number of the error. -grep -v "^#" ${FILE} | \ - gawk -F ":" '$1=="" || $1~/[^ ] [^ ]/ || $2==""|| $2~/[^ ] [^ ]/ || $3!="" { print "'${FILE}:'" NR ": " $0 ; exit 2 }' -if [ "$?" != "0" ] ; then - echo "Error: wrong line format." - echo "So, nothing is modified." - exit 1 -fi - -# Ok, go on. -if [ "${PARALLEL}" != "" ] ; then - -# 'parallel' considers the full line as one argument, so -# 'tr' is used to split the line in two and empty line have to be removed. - grep -v "^#" $1 \ - | grep -v "\.ignore$" \ - | tr -s ":[:blank:]" "\n" | grep -v '^$' \ - | ${PARALLEL} -n 2 ${MAX_PROCS} ${PROCESS} ${HEADACHE} -c ${HEADACHE_CONFIG} -h ${HEADER_SRC}/{2} ${TARGET_DIR}/{1} - -else - -# 'xargs' has no support for context replace, so 'gawk" is used to create the arguments. - grep -v "^#" $1 \ - | grep -v "\.ignore$" \ - | tr -s ":[:blank:]" " " | grep -v '^ *$' \ - | gawk '{ print "'${HEADER_SRC}'/" $2 " '${TARGET_DIR}'/" $1 }' \ - | xargs -n 2 ${MAX_PROCS} ${PROCESS} ${HEADACHE} -c ${HEADACHE_CONFIG} -h - -fi diff --git a/ivette/.gitattributes b/ivette/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..5e72525280e8222807684b346bb654b0796e14db --- /dev/null +++ b/ivette/.gitattributes @@ -0,0 +1,25 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/configure.js header_spec=.ignore +/sandboxer.js header_spec=.ignore +/.babelrc header_spec=.ignore +/.eslint* header_spec=.ignore +/doc/**/*.js header_spec=.ignore +/dome/doc/**/*.js header_spec=.ignore +/src/dome/doc/template/static/fonts/*-webfont.* header_spec=.ignore +/src/dome/template/git-ignore header_spec=.ignore +/src/dome/doc/template/tmpl/*.tmpl header_spec=.ignore +/src/dome/doc/**/*.js header_spec=.ignore +/src/dome/doc/**/*.htm header_spec=.ignore +/src/dome/doc/**/*.txt header_spec=.ignore +/src/dome/**/*.el header_spec=.ignore +/tests/*.i header_spec=.ignore +/**/*.css header_spec=.ignore +/**/*.html header_spec=.ignore +/**/*.json header_spec=.ignore +/**/*.lua header_spec=.ignore +/*.icns header_spec=.ignore +/*.lock header_spec=.ignore + diff --git a/ivette/Makefile.distrib b/ivette/Makefile.distrib index 0f933db596ee0febd3157aa739797a507e871fee..aba92d615b478994627ab07a2b5afdf7dae9e98a 100644 --- a/ivette/Makefile.distrib +++ b/ivette/Makefile.distrib @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + HEADER_SPEC += ivette/./headers/header_spec.txt DISTRIB_FILES += ivette/.babelrc DISTRIB_FILES += ivette/.dome-pkg-app.lock diff --git a/ivette/distrib.sh b/ivette/distrib.sh index 38012edac621ff293d5ea0b1f3964f68d9adc5a4..bf3f52392ee8af21f0f2d32e441a1dec2d072b6f 100755 --- a/ivette/distrib.sh +++ b/ivette/distrib.sh @@ -1,4 +1,26 @@ #!/bin/sh -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Generate Files for Ivette Distribution # -------------------------------------------------------------------------- diff --git a/ivette/headers/header_spec.txt b/ivette/headers/header_spec.txt index 361c89dfb300142bb207d7bdcf5f4010d130f83b..649ed47c9564883ad2bfdc95277c9831e3a661f3 100644 --- a/ivette/headers/header_spec.txt +++ b/ivette/headers/header_spec.txt @@ -9,13 +9,13 @@ INSTALL.md: .ignore Makefile: CEA_LGPL README.md: .ignore configure.js: .ignore -distrib.sh: .ignore +distrib.sh: CEA_LGPL doc/pandoc/href.lua: .ignore doc/pandoc/index.json: .ignore doc/pandoc/template.html: .ignore electron-builder.json: .ignore electron-webpack.json: .ignore -ivette-macos.sh: .ignore +ivette-macos.sh: CEA_LGPL package.json: .ignore sandboxer.js: .ignore src/dome/.gitignore: .ignore @@ -130,19 +130,19 @@ src/dome/renderer/themes.tsx: CEA_LGPL src/dome/template/Application.js: CEA_LGPL src/dome/template/Preferences.js: CEA_LGPL src/dome/template/babelrc.json: .ignore -src/dome/template/dome-pull.sh: .ignore -src/dome/template/dome-push.sh: .ignore +src/dome/template/dome-pull.sh: CEA_LGPL +src/dome/template/dome-push.sh: CEA_LGPL src/dome/template/electron-webpack.json: .ignore -src/dome/template/export.sh: .ignore +src/dome/template/export.sh: CEA_LGPL src/dome/template/git-ignore: .ignore src/dome/template/main.js: CEA_LGPL -src/dome/template/makefile: .ignore -src/dome/template/makefile.app.packages: .ignore -src/dome/template/makefile.packages: .ignore -src/dome/template/package.sh: .ignore +src/dome/template/makefile: CEA_LGPL +src/dome/template/makefile.app.packages: CEA_LGPL +src/dome/template/makefile.packages: CEA_LGPL +src/dome/template/package.sh: CEA_LGPL src/dome/template/renderer.js: CEA_LGPL src/dome/template/typescript.el: .ignore -src/dome/template/update.sh: .ignore +src/dome/template/update.sh: CEA_LGPL src/dome/template/webpack.main.js: CEA_LGPL src/dome/template/webpack.renderer.js: CEA_LGPL src/frama-c/api_generator.ml: CEA_LGPL @@ -209,6 +209,6 @@ tests/eva-1.i: .ignore tests/eva-2.i: .ignore tsconfig.json: .ignore tsfmt.json: .ignore -webpack.main.js: .ignore -webpack.renderer.js: .ignore +webpack.main.js: CEA_LGPL +webpack.renderer.js: CEA_LGPL yarn.lock: .ignore diff --git a/ivette/ivette-macos.sh b/ivette/ivette-macos.sh index 33215a6b10c09231429fca01a2133d77bc18ddad..d96a421f382fbb17dea3f88b637b15f3a199a6c6 100755 --- a/ivette/ivette-macos.sh +++ b/ivette/ivette-macos.sh @@ -1,3 +1,24 @@ #!/bin/zsh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## exec open -na /Applications/Ivette.app --args --working $PWD $* diff --git a/ivette/src/dome/template/dome-pull.sh b/ivette/src/dome/template/dome-pull.sh index b579cf35a1a2492f9cbe452e63abbc1a6dcf7244..7bec6736c8a5581a09075f1554fa0161efcb0efa 100755 --- a/ivette/src/dome/template/dome-pull.sh +++ b/ivette/src/dome/template/dome-pull.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Pulling Dome Updates # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/dome-push.sh b/ivette/src/dome/template/dome-push.sh index 60816ed9ecb0103ee1206d5c28db7ecada3737e5..94fd495fbb990453016fdc2ad2737e331c6e1bbe 100755 --- a/ivette/src/dome/template/dome-push.sh +++ b/ivette/src/dome/template/dome-push.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Pulling Dome Updates # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/export.sh b/ivette/src/dome/template/export.sh index ea5dc39d5fee0fabce5501431253fce3e19bf788..6cdae2a4802e0931935cf2ef7d504c4844b733ae 100755 --- a/ivette/src/dome/template/export.sh +++ b/ivette/src/dome/template/export.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Export Dome API diff --git a/ivette/src/dome/template/makefile b/ivette/src/dome/template/makefile index 376d32c4fadf74c1c5bd08d3f8761a1821cb570d..29df4121517ee94ea96a1a9e90a0ea3e559bd768 100644 --- a/ivette/src/dome/template/makefile +++ b/ivette/src/dome/template/makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Main Makefile for building Dome applications # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/makefile.app.packages b/ivette/src/dome/template/makefile.app.packages index 58aa6a3ad516168d48315864bfcf57376187f2b0..04b26ffe0ed0ff0757a23a0fc4b805fa32249742 100644 --- a/ivette/src/dome/template/makefile.app.packages +++ b/ivette/src/dome/template/makefile.app.packages @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Package Template Definitions # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/makefile.packages b/ivette/src/dome/template/makefile.packages index 72e46b988425f140e03588c687b63acca23b4b39..4b5bbafac90e47fcfbee33487b0339ff7de43452 100644 --- a/ivette/src/dome/template/makefile.packages +++ b/ivette/src/dome/template/makefile.packages @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Packages Definitions for Dome environment --- # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/package.sh b/ivette/src/dome/template/package.sh index 58e4428ffb8b421a8c3c99266057dbb0962bc1fe..5cadbb7444030b1dfb0cec0a82f6591554fe1bdd 100755 --- a/ivette/src/dome/template/package.sh +++ b/ivette/src/dome/template/package.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Compute mode diff --git a/ivette/src/dome/template/update.sh b/ivette/src/dome/template/update.sh index 56d22295ef24fa4f37c19a100797c6005561921d..d48e589170acc09d3e9bbb52e76d377912e51574 100755 --- a/ivette/src/dome/template/update.sh +++ b/ivette/src/dome/template/update.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Update Templated File (merge with user modifications) diff --git a/nix/default.nix b/nix/default.nix index 6c86751e7bead1dc4fb86db8ac648680528ecd5c..50cdf2558d052fbb1e12d3db53d39ba4df6591a3 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -280,7 +280,7 @@ pkgs.lib.makeExtensible make clean_share_link make create_share_link export CONFIGS="equality bitwise symblocs gauges octagon" - src/plugins/value/vtests -j 4 -error-code + src/plugins/value/vtests.sh -j 4 -error-code ''; installPhase = '' true diff --git a/nix/frama-c-public/ssh.sh b/nix/frama-c-public/ssh.sh index faeb299c681d47c6abdc79ffafbde0a2b1ec9ad9..55e5887a4070163f5243a49a71377267f8d14f7a 100755 --- a/nix/frama-c-public/ssh.sh +++ b/nix/frama-c-public/ssh.sh @@ -1,4 +1,25 @@ #!/bin/sh -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## PWD=$(dirname $0) diff --git a/nix/frama-ci.sh b/nix/frama-ci.sh index b4deee0abc1543e01c82d3c6c92d9b0045b26d77..5db2f7357c230c6040e64d3d37d1e315c50e9f8a 100755 --- a/nix/frama-ci.sh +++ b/nix/frama-ci.sh @@ -1,4 +1,25 @@ #!/bin/sh -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## DIR=$(dirname $0) diff --git a/ptests/check_oracles.sh b/ptests/check_oracles.sh index a7bb568c1f52e01a6a31cc2a0478c30abdb3a003..91e7177f6b99224f6c04c156c8f435e729fd22bc 100755 --- a/ptests/check_oracles.sh +++ b/ptests/check_oracles.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # Checks for extraneous, leftover oracle files that are no longer necessary. # Only reports files in plugins with a ptests_config file, and in directories diff --git a/share/_frama-c.zsh b/share/_frama-c.zsh index 8dda747e2e0f3e1d551c5cc0654e0aec1446eec3..8a4a6b2a743d35e495a3d06bd7f64118662e8b11 100644 --- a/share/_frama-c.zsh +++ b/share/_frama-c.zsh @@ -1,4 +1,25 @@ #compdef frama-c +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # ----------------------------------------------------------------------------- # zsh completion for Frama-C diff --git a/share/analysis-scripts/bench-sqlite.sh b/share/analysis-scripts/bench-sqlite.sh index 954cb0e9f84226309f3a60a98b542cffd5373fff..17eaa35c3d2ba5027982782c6ac3463da3806ecb 100755 --- a/share/analysis-scripts/bench-sqlite.sh +++ b/share/analysis-scripts/bench-sqlite.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## database="benchmark-results.db" stats="$1" diff --git a/share/analysis-scripts/clone.sh b/share/analysis-scripts/clone.sh index 0ed6b8553c2144fb94fb9cd8f3260f39b65212d9..c8ee9c96ed909f15822a2eb038d676fa067d90c2 100755 --- a/share/analysis-scripts/clone.sh +++ b/share/analysis-scripts/clone.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## git_hash="master" clone_dir="frama-c-clones" diff --git a/share/analysis-scripts/cmd-dep.sh b/share/analysis-scripts/cmd-dep.sh index d045b1cf56304862be02148358550bd8c6cb7dfc..f7ed9168d22dbb0c62fcd658b6b36f341075c304 100755 --- a/share/analysis-scripts/cmd-dep.sh +++ b/share/analysis-scripts/cmd-dep.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + set -eu if [ $# -lt 1 ] diff --git a/share/analysis-scripts/concat-csv.sh b/share/analysis-scripts/concat-csv.sh index 8079d3004553a63ca9b20b93e8330016993bc2dc..96d87aeed87b2f45bf927251e11feffa01bf2e9e 100755 --- a/share/analysis-scripts/concat-csv.sh +++ b/share/analysis-scripts/concat-csv.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## set -o pipefail diff --git a/share/analysis-scripts/fc_stubs.c b/share/analysis-scripts/fc_stubs.c index fad866f2160ba5533c8658794a520c2bf0880962..2c9698c18e444f0ebe44055faa0450821faea0bb 100644 --- a/share/analysis-scripts/fc_stubs.c +++ b/share/analysis-scripts/fc_stubs.c @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* CEA (Commissariat à l'énergie atomique et aux énergies */ +/* alternatives) */ +/* */ +/* you can redistribute it and/or modify it under the terms of the GNU */ +/* Lesser General Public License as published by the Free Software */ +/* Foundation, version 2.1. */ +/* */ +/* It 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 Lesser General Public License for more details. */ +/* */ +/* See the GNU Lesser General Public License version 2.1 */ +/* for more details (enclosed in the file licenses/LGPLv2.1). */ +/* */ +/**************************************************************************/ + // Stub for a main function which reads arguments from the command line, to be // used by the Eva plug-in. // This stub emulates non-deterministic input of up to 5 arguments, each up diff --git a/share/analysis-scripts/function_finder.py b/share/analysis-scripts/function_finder.py index 22af511f79059b026127417874d7509f98a309bb..381dd64b29da58e3660d7fa99ff2d3cfb7fb9bf8 100644 --- a/share/analysis-scripts/function_finder.py +++ b/share/analysis-scripts/function_finder.py @@ -1,9 +1,10 @@ +#!/usr/bin/env python3 # -*- coding: utf-8 -*- ########################################################################## # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # diff --git a/share/analysis-scripts/parse-coverage.sh b/share/analysis-scripts/parse-coverage.sh index 13ef4141765c34b099f2d8ae7409f562c788feed..ade4f113bcac226b8747bc589c539c5e612989db 100755 --- a/share/analysis-scripts/parse-coverage.sh +++ b/share/analysis-scripts/parse-coverage.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## log_file=$1 stats_file=$2 diff --git a/share/analysis-scripts/plot.sh b/share/analysis-scripts/plot.sh index 0db4d1ba284bbdfa2e0ef26e8f6180e231cd2b1c..bc68f1fef0ede3dd8d4e95cda8d98fd810169bde 100755 --- a/share/analysis-scripts/plot.sh +++ b/share/analysis-scripts/plot.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + target=$1 { diff --git a/share/analysis-scripts/script_for_creduce_fatal.sh b/share/analysis-scripts/script_for_creduce_fatal.sh index a0fc2ba7b9574f959ac738261ec7486cc5850c52..4a2e8b9ef3d1273f85e5640e7516a31c9c8fcea0 100644 --- a/share/analysis-scripts/script_for_creduce_fatal.sh +++ b/share/analysis-scripts/script_for_creduce_fatal.sh @@ -1,4 +1,25 @@ #!/bin/bash -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # Script to reduce a Frama-C crashing test case. diff --git a/share/analysis-scripts/script_for_creduce_non_fatal.sh b/share/analysis-scripts/script_for_creduce_non_fatal.sh index d886aeaba29099358e77597529d56ed6ff25dbad..7ad71d593dbb729b76aea893363088a147df8609 100644 --- a/share/analysis-scripts/script_for_creduce_non_fatal.sh +++ b/share/analysis-scripts/script_for_creduce_non_fatal.sh @@ -1,4 +1,25 @@ #!/bin/bash -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # Script to reduce a Frama-C non-crashing test case. diff --git a/share/analysis-scripts/template.mk b/share/analysis-scripts/template.mk index 689b9eab61ccedee46cb8637eaaa9a51e3ad3f09..54cdd1332ac9cc37c6ceaae223ad16f217af1d79 100644 --- a/share/analysis-scripts/template.mk +++ b/share/analysis-scripts/template.mk @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # Makefile template for Frama-C/Eva case studies. # For details and usage information, see the Frama-C User Manual. diff --git a/src/plugins/.gitattributes b/src/plugins/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..856f653c296e134de64d231bc6fe9342dbc5a1ca --- /dev/null +++ b/src/plugins/.gitattributes @@ -0,0 +1,47 @@ +######################################## +# HEADER_SPEC: CEA_LGPL_OR_PROPRIETARY # +######################################## + +config* header_spec=CEA_LGPL_OR_PROPRIETARY +makefile* header_spec=CEA_LGPL_OR_PROPRIETARY +Make* header_spec=CEA_LGPL_OR_PROPRIETARY +*.mk header_spec=CEA_LGPL_OR_PROPRIETARY + + +*.c header_spec=CEA_LGPL_OR_PROPRIETARY +*.h header_spec=CEA_LGPL_OR_PROPRIETARY + +*.htm header_spec=CEA_LGPL_OR_PROPRIETARY +*.html header_spec=CEA_LGPL_OR_PROPRIETARY + +*.js header_spec=CEA_LGPL_OR_PROPRIETARY + +*.ml header_spec=CEA_LGPL_OR_PROPRIETARY +*.ml.in header_spec=CEA_LGPL_OR_PROPRIETARY +*.mli header_spec=CEA_LGPL_OR_PROPRIETARY +*.mli.in header_spec=CEA_LGPL_OR_PROPRIETARY +*.mll header_spec=CEA_LGPL_OR_PROPRIETARY +*.mly header_spec=CEA_LGPL_OR_PROPRIETARY + +*.xml header_spec=CEA_LGPL_OR_PROPRIETARY + +*.pl header_spec=CEA_LGPL_OR_PROPRIETARY + +*.py header_spec=CEA_LGPL_OR_PROPRIETARY + +*.rc header_spec=CEA_LGPL_OR_PROPRIETARY + +*.sh header_spec=CEA_LGPL_OR_PROPRIETARY +*.zsh header_spec=CEA_LGPL_OR_PROPRIETARY + +*.css header_spec=CEA_LGPL_OR_PROPRIETARY + +*.ts header_spec=CEA_LGPL_OR_PROPRIETARY +*.tsx header_spec=CEA_LGPL_OR_PROPRIETARY + +######################## +# HEADER_SPEC: .ignore # +######################## + +/*/tests/**/* header_spec=.ignore + diff --git a/src/plugins/aorai/.gitattributes b/src/plugins/aorai/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..94782b4119b1bf3cc8abf8b3a569b2e12580b692 --- /dev/null +++ b/src/plugins/aorai/.gitattributes @@ -0,0 +1,21 @@ +########################### +# HEADER_SPEC: AORAI_LGPL # +########################### + +/configure.ac header_spec=AORAI_LGPL + +/Makefile header_spec=AORAI_LGPL +/Makefile.in header_spec=AORAI_LGPL + +*.ml header_spec=AORAI_LGPL +*.mli header_spec=AORAI_LGPL +*.mll header_spec=AORAI_LGPL +*.mly header_spec=AORAI_LGPL + +######################## +# HEADER_SPEC: .ignore # +######################## + +/INSTALL header_spec=.ignore +/VERSIONS.txt header_spec=.ignore +/tests/**/* header_spec=.ignore diff --git a/src/plugins/e-acsl/.gitattributes b/src/plugins/e-acsl/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..cca30ad415b5e0fc3ed4672497b187c825f437bf --- /dev/null +++ b/src/plugins/e-acsl/.gitattributes @@ -0,0 +1,69 @@ +############################################### +# HEADER_SPEC: CEA_LGPL_OR_PROPRIETARY.E_ACSL # +############################################### + +configure.ac header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +Makefile header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +Makefile.in header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.c header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +*.h header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.ml header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +*.mli header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.sh header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +/man/e-acsl-gcc.sh.1 header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +/scripts/e-acsl-gcc.sh.comp header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/scripts/e-acsl-gcc.sh.comp header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +######################## +# HEADER_SPEC: .ignore # +######################## + +README header_spec=.ignore + +/.clang-format header_spec=.ignore +/doc/Makefile.common header_spec=.ignore +/doc/support/MakeLaTeXModern header_spec=.ignore +/doc/Changelog header_spec=.ignore +/doc/doxygen/doxygen.cfg.in header_spec=.ignore +/doc/refman/*.tex header_spec=.ignore +/doc/userman/*.tex header_spec=.ignore + +/examples/demo/TODO header_spec=.ignore +/examples/ensuresec/push-alerts/.env-example header_spec=.ignore + +/headers/close-source/* header_spec=.ignore +/headers/open-source/* header_spec=.ignore + +/license/* header_spec=.ignore + +# Becarefull at the order with the previous lines +/contrib/**/*.c header_spec=.ignore + +/doc/**/Makefile header_spec=.ignore +/doc/**/*.ml header_spec=.ignore +/doc/**/*.mll header_spec=.ignore +/doc/**/*.c header_spec=.ignore +/doc/**/*.i header_spec=.ignore + +/examples/**/Makefile header_spec=.ignore +/examples/**/*.c header_spec=.ignore +/examples/**/*.i header_spec=.ignore +/examples/**/*.ml header_spec=.ignore +/examples/**/*.sh header_spec=.ignore +/examples/**/*.py header_spec=.ignore + +/tests/test_config header_spec=.ignore +/tests/test_config_dev header_spec=.ignore +/tests/**/* header_spec + +/tests/wrapper.sh header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/tests/E_ACSL_test.ml header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/contrib/libdlmalloc/dlmalloc.* header_spec=MODIFIED_DLMALLOC +/share/e-acsl/internals/e_acsl_rtl_io.* header_spec=MODIFIED_SPARETIMELABS + diff --git a/src/plugins/markdown-report/.gitattributes b/src/plugins/markdown-report/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e558434280b3047d5711facb618b3e374022b52c --- /dev/null +++ b/src/plugins/markdown-report/.gitattributes @@ -0,0 +1,5 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/META.in header_spec=.ignore diff --git a/src/plugins/qed/.gitattributes b/src/plugins/qed/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..dae65a33b405a5d049d491de7d2383f21cf79ae1 --- /dev/null +++ b/src/plugins/qed/.gitattributes @@ -0,0 +1,8 @@ +*.ml header_spec=CEA_WP +*.mli header_spec=CEA_WP +*.mll header_spec=CEA_WP + +configure.ac header_spec=CEA_WP + +Makefile header_spec=CEA_WP +Makefile.in header_spec=CEA_WP diff --git a/src/plugins/value/.gitattributes b/src/plugins/value/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e62b79b9279d0dae86ee89c3782e8600365bb619 --- /dev/null +++ b/src/plugins/value/.gitattributes @@ -0,0 +1,6 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/Changelog_non_free header_spec=.ignore +/legacy/TOREMOVE header_spec=.ignore diff --git a/src/plugins/value/gen-api.sh b/src/plugins/value/gen-api.sh index d00c16fdd4a1175ff780c5479fbb266043c7ba49..e626fff905e7d6920d563b961cacea3ad7a5166f 100755 --- a/src/plugins/value/gen-api.sh +++ b/src/plugins/value/gen-api.sh @@ -1,4 +1,26 @@ #!/usr/bin/env bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + set -eu printf '(** Eva public API. diff --git a/src/plugins/value/gen_test_config.sh b/src/plugins/value/gen_test_config.sh index b1085f0868634319e144ef3549f4518e100638ca..7d2f84316e0bf62436771e4f0af36314a427f049 100755 --- a/src/plugins/value/gen_test_config.sh +++ b/src/plugins/value/gen_test_config.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## # This scripts creates the ptests config files for the alternative testing # configurations of Eva. You must create the tests/test_config and diff --git a/src/plugins/value/test.assert.sh b/src/plugins/value/test.assert.sh index 38049b28c4c8d1e44620765127875b5d1773f8db..382cdce643d939134c587a687c763e82f261746c 100755 --- a/src/plugins/value/test.assert.sh +++ b/src/plugins/value/test.assert.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + export GCC3264=-m32 export FRAMAC3264=x86_32 #export GCC3264= diff --git a/src/plugins/value/test.sh b/src/plugins/value/test.sh index 1c19540871f090abbdb78f4ee1c4eda1b8f15625..54e88f0a2fb5d1e336be131bdcfc4cd977e576f3 100755 --- a/src/plugins/value/test.sh +++ b/src/plugins/value/test.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + export GCC3264=-m32 export FRAMAC3264=x86_32 #export GCC3264= diff --git a/src/plugins/value/test_config b/src/plugins/value/test_config deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/value/vtests b/src/plugins/value/vtests deleted file mode 100755 index 14cd7c69237386cfa4f64debc1346bb98744b315..0000000000000000000000000000000000000000 --- a/src/plugins/value/vtests +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -eu - -if [ -z ${TARGETS+x} ]; then - TARGETS="float value idct builtins" -fi -if [ -z ${CONFIGS+x} ]; then - CONFIGS="apron equality bitwise symblocs gauges octagon multidim" -fi -ARGS="${@-}" - -# has_target returns 0 if at least one of the arguments is a target -# (i.e. not an option such as "-j 8"). If so, do not run tests -# for all default targets, only for the specified target(s) -has_target=0 -# sets has_target=0 -function has_target() { - local __has_target=1 - for f in $@; do - __re="\\b$f\\b" # match argument as whole word - if [[ "$f" =~ \.[ci]$ || \ - ( "$f" =~ ^[A-Za-z] && "${TARGETS[@]}" =~ $__re ) ]]; then - __has_target=0 - fi - done - return $__has_target -} - -if has_target ${ARGS[@]}; then - TARGETS_AND_ARGS="${ARGS[@]}" -else - TARGETS_AND_ARGS="${TARGETS[@]} ${ARGS[@]}" -fi - -echo "CONFIGS: ${CONFIGS[@]}" -for config in ${CONFIGS[@]} -do - set -x - ./bin/ptests.opt -config $config ${TARGETS_AND_ARGS[@]} - { set +x; } 2>&- -done diff --git a/src/plugins/value/vtests.sh b/src/plugins/value/vtests.sh new file mode 100755 index 0000000000000000000000000000000000000000..0137eaf4c6a18eac0248af5f9d82b438bbf130ce --- /dev/null +++ b/src/plugins/value/vtests.sh @@ -0,0 +1,61 @@ +#!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + +if [ -z ${TARGETS+x} ]; then + TARGETS="float value idct builtins" +fi +if [ -z ${CONFIGS+x} ]; then + CONFIGS="apron equality bitwise symblocs gauges octagon multidim" +fi +ARGS="${@-}" + +# has_target returns 0 if at least one of the arguments is a target +# (i.e. not an option such as "-j 8"). If so, do not run tests +# for all default targets, only for the specified target(s) +has_target=0 +# sets has_target=0 +function has_target() { + local __has_target=1 + for f in $@; do + __re="\\b$f\\b" # match argument as whole word + if [[ "$f" =~ \.[ci]$ || \ + ( "$f" =~ ^[A-Za-z] && "${TARGETS[@]}" =~ $__re ) ]]; then + __has_target=0 + fi + done + return $__has_target +} + +if has_target ${ARGS[@]}; then + TARGETS_AND_ARGS="${ARGS[@]}" +else + TARGETS_AND_ARGS="${TARGETS[@]} ${ARGS[@]}" +fi + +echo "CONFIGS: ${CONFIGS[@]}" +for config in ${CONFIGS[@]} +do + set -x + ./bin/ptests.opt -config $config ${TARGETS_AND_ARGS[@]} + { set +x; } 2>&- +done diff --git a/src/plugins/wp/.gitattributes b/src/plugins/wp/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e40f62d0ebbd58f376caea96817a16640f49650f --- /dev/null +++ b/src/plugins/wp/.gitattributes @@ -0,0 +1,65 @@ +####################### +# HEADER_SPEC: CEA_WP # +####################### + +*.ml header_spec=CEA_WP +*.mli header_spec=CEA_WP +*.mll header_spec=CEA_WP + +*.mlw header_spec=CEA_WP +*.driver header_spec=CEA_WP +*.v header_spec=CEA_WP +*.css header_spec=CEA_WP + +configure.ac header_spec=CEA_WP + +Makefile header_spec=CEA_WP +Makefile.in header_spec=CEA_WP +Makefile.resources header_spec=CEA_WP +MakeDoc header_spec=CEA_WP + +/intro_wp.txt header_spec=CEA_WP + +####################### +# HEADER_SPEC: others # +####################### + +/doc/coqdoc/coq2tex/*.mll header_spec=XL_COMPCERT + +/share/coqwp/BuiltIn.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/HighOrd.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/bool/Bool.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Abs.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/ComputerDivision.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/EuclideanDivision.v header_spec=MODIFIED_WHY3 +/share/coqwp/int/Exponentiation.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Int.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/MinMax.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Power.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/ComputerOfEuclideanDivision.v header_spec=MODIFIED_WHY3 +/share/coqwp/map/Map.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/map/Const.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Abs.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/FromInt.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/ExpLog.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/MinMax.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/PowerReal.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Real.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/RealInfix.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Square.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Trigonometry.v header_spec=UNMODIFIED_WHY3 + +######################## +# HEADER_SPEC: .ignore # +######################## + +/doc/coqdoc/coq2tex/coq2html.js header_spec=.ignore +/doc/coqdoc/coq2tex/*.css header_spec=.ignore +/doc/coqdoc/coq2tex/*.html header_spec=.ignore +/doc/coqdoc/*.tex header_spec=.ignore + +/doc/manual/nullable.c header_spec=.ignore +/doc/manual/*.tex header_spec=.ignore + + +/tests/**/* header_spec=.ignore diff --git a/src/plugins/wp/doc/MakeDoc b/src/plugins/wp/doc/MakeDoc index b646e4383b9812cac2fde373dbbb3679487199d8..53d34f0f625a9e62b19c64eee2b304dbf050e323 100644 --- a/src/plugins/wp/doc/MakeDoc +++ b/src/plugins/wp/doc/MakeDoc @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Resources --- # -------------------------------------------------------------------------- diff --git a/src/plugins/wp/doc/coqdoc/Makefile b/src/plugins/wp/doc/coqdoc/Makefile index a0a35db3e79cc52fe79a66e45c47a29ea641128b..92c3db78d1c683bd1e9b9ed36dcacd45c99eff44 100644 --- a/src/plugins/wp/doc/coqdoc/Makefile +++ b/src/plugins/wp/doc/coqdoc/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- WP User & Reference Manual --- # -------------------------------------------------------------------------- @@ -31,4 +53,4 @@ wpcoq.pdf: $(FRAMAC_DOC) $(TEX) .lib coq2latex.sty rubber -d wpcoq clean:: - rm -f .lib $(addsuffix .tex,$(COQL)) \ No newline at end of file + rm -f .lib $(addsuffix .tex,$(COQL)) diff --git a/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll b/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll index 21d22600021af223732b9a6a500bc145f0f9790d..230de710f3bed354453441f7ffb9a8a44acbe7fb 100644 --- a/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll +++ b/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll @@ -1,17 +1,15 @@ -(* *********************************************************************) -(* *) -(* The Compcert verified compiler *) -(* *) -(* Xavier Leroy, INRIA Paris-Rocquencourt *) -(* *) -(* Copyright Institut National de Recherche en Informatique et en *) -(* Automatique. All rights reserved. This file is distributed *) -(* under the terms of the GNU General Public License as published by *) -(* the Free Software Foundation, either version 2 of the License, or *) -(* (at your option) any later version. This file is also distributed *) -(* under the terms of the INRIA Non-Commercial License Agreement. *) -(* *) -(* *********************************************************************) +(**************************************************************************) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation, either version 2 of the License, or *) +(* (at your option) any later version. This file is also distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(**************************************************************************) { open Printf diff --git a/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll b/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll index 78cb86b014a44c583ba4aeeca87114d9900aa5b0..0d16708fe724eae0c57464d3cd51c392900d0779 100644 --- a/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll +++ b/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll @@ -1,17 +1,15 @@ -(* *********************************************************************) -(* *) -(* The Compcert verified compiler *) -(* *) -(* Xavier Leroy, INRIA Paris-Rocquencourt *) -(* *) -(* Copyright Institut National de Recherche en Informatique et en *) -(* Automatique. All rights reserved. This file is distributed *) -(* under the terms of the GNU General Public License as published by *) -(* the Free Software Foundation, either version 2 of the License, or *) -(* (at your option) any later version. This file is also distributed *) -(* under the terms of the INRIA Non-Commercial License Agreement. *) -(* *) -(* *********************************************************************) +(**************************************************************************) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation, either version 2 of the License, or *) +(* (at your option) any later version. This file is also distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(**************************************************************************) { open Printf diff --git a/src/plugins/wp/doc/manual/Makefile b/src/plugins/wp/doc/manual/Makefile index 1f64775fdcf26a85f3802aeafe0434ddc1ff5220..f1e5b1b10dfcc4f310da006442df013170f40cb5 100644 --- a/src/plugins/wp/doc/manual/Makefile +++ b/src/plugins/wp/doc/manual/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# alternatives) # +# # +# you can redistribute it and/or modify it under the terms of the GNU # +# Lesser General Public License as published by the Free Software # +# Foundation, version 2.1. # +# # +# It 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 Lesser General Public License for more details. # +# # +# See the GNU Lesser General Public License version 2.1 # +# for more details (enclosed in the file licenses/LGPLv2.1). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- WP User & Reference Manual --- # -------------------------------------------------------------------------- diff --git a/src/plugins/wp/doc/ocamldoc.css b/src/plugins/wp/doc/ocamldoc.css index 61e22cc801685a15b9c78b7d38d3c54b0ec99e87..2dd72db72c834a5ab192511cd0a32eb84567f01c 100644 --- a/src/plugins/wp/doc/ocamldoc.css +++ b/src/plugins/wp/doc/ocamldoc.css @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of WP plug-in of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* CEA (Commissariat a l'energie atomique et aux energies */ +/* alternatives) */ +/* */ +/* you can redistribute it and/or modify it under the terms of the GNU */ +/* Lesser General Public License as published by the Free Software */ +/* Foundation, version 2.1. */ +/* */ +/* It 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 Lesser General Public License for more details. */ +/* */ +/* See the GNU Lesser General Public License version 2.1 */ +/* for more details (enclosed in the file licenses/LGPLv2.1). */ +/* */ +/**************************************************************************/ + * { margin: 0; padding: 0 } body {