diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2021-09-20 21:07:54 +0200 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2021-09-20 21:07:54 +0200 | 
| commit | ecfc610acff6a9359ae5e7f0b225c5b26b189591 (patch) | |
| tree | 80e83e8d1113cd0e3241b897f8728505e704aced /src | |
| parent | cb5f269b13429f0e1ffbc41426227983e5ccaeba (diff) | |
Use 2-clause BSD-license for all source files.
Diffstat (limited to 'src')
| -rw-r--r-- | src/build.cc | 3 | ||||
| -rw-r--r-- | src/build.h | 2 | ||||
| -rw-r--r-- | src/configure.cc | 3 | ||||
| -rw-r--r-- | src/configure.cc.bak | 387 | ||||
| -rw-r--r-- | src/configure.h | 2 | ||||
| -rw-r--r-- | src/execute.cc | 3 | ||||
| -rw-r--r-- | src/execute.h | 2 | ||||
| -rw-r--r-- | src/libctor.cc | 3 | ||||
| -rw-r--r-- | src/libctor.h | 2 | ||||
| -rw-r--r-- | src/rebuild.cc | 3 | ||||
| -rw-r--r-- | src/rebuild.h | 2 | ||||
| -rw-r--r-- | src/settings.h | 2 | ||||
| -rw-r--r-- | src/task.cc | 3 | ||||
| -rw-r--r-- | src/task.h | 2 | ||||
| -rw-r--r-- | src/task_ar.cc | 3 | ||||
| -rw-r--r-- | src/task_ar.h | 2 | ||||
| -rw-r--r-- | src/task_cc.cc | 3 | ||||
| -rw-r--r-- | src/task_cc.h | 2 | ||||
| -rw-r--r-- | src/task_ld.cc | 3 | ||||
| -rw-r--r-- | src/task_ld.h | 2 | ||||
| -rw-r--r-- | src/task_so.cc | 3 | ||||
| -rw-r--r-- | src/task_so.h | 2 | ||||
| -rw-r--r-- | src/tasks.cc | 3 | ||||
| -rw-r--r-- | src/tasks.h | 2 | ||||
| -rw-r--r-- | src/unittest.cc | 3 | ||||
| -rw-r--r-- | src/unittest.h | 3 | 
26 files changed, 450 insertions, 0 deletions
diff --git a/src/build.cc b/src/build.cc index 4cec3b9..1b70c5b 100644 --- a/src/build.cc +++ b/src/build.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "build.h"  #include <future> diff --git a/src/build.h b/src/build.h index 0c4c3fd..1db3f5c 100644 --- a/src/build.h +++ b/src/build.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <string> diff --git a/src/configure.cc b/src/configure.cc index 1598251..b3517dc 100644 --- a/src/configure.cc +++ b/src/configure.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "configure.h"  #include <iostream> diff --git a/src/configure.cc.bak b/src/configure.cc.bak new file mode 100644 index 0000000..bcbeea9 --- /dev/null +++ b/src/configure.cc.bak @@ -0,0 +1,387 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details. +#include "configure.h" + +#include <iostream> +#include <filesystem> +#include <fstream> + +#include <getoptpp/getoptpp.hpp> + +#include "settings.h" +#include "execute.h" +#include "libcppbuild.h" +#include "tasks.h" + +std::filesystem::path configurationFile("configuration.cc"); +std::filesystem::path configHeaderFile("config.h"); + +const std::map<std::string, std::string> default_configuration{}; +const std::map<std::string, std::string>& __attribute__((weak)) configuration() +{ +	return default_configuration; +} + +bool hasConfiguration(const std::string& key) +{ +	const auto& c = configuration(); +	return c.find(key) != c.end(); +} + +const std::string& getConfiguration(const std::string& key, +                                    const std::string& defaultValue) +{ +	const auto& c = configuration(); +	if(hasConfiguration(key)) +	{ +		return c.at(key); +	} + +	return defaultValue; +} + + +/* +Configuration: +  -h, --help              display this help and exit +      --help=short        display options specific to this package +      --help=recursive    display the short help of all the included packages +  -V, --version           display version information and exit +  -q, --quiet, --silent   do not print `checking ...' messages +      --cache-file=FILE   cache test results in FILE [disabled] +  -C, --config-cache      alias for `--cache-file=config.cache' +  -n, --no-create         do not create output files +      --srcdir=DIR        find the sources in DIR [configure dir or `..'] + +Installation directories: +  --prefix=PREFIX         install architecture-independent files in PREFIX +                          [/usr/local] +  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX +                          [PREFIX] + +By default, `make install' will install all the files in +`/usr/local/bin', `/usr/local/lib' etc.  You can specify +an installation prefix other than `/usr/local' using `--prefix', +for instance `--prefix=$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: +  --bindir=DIR            user executables [EPREFIX/bin] +  --sbindir=DIR           system admin executables [EPREFIX/sbin] +  --libexecdir=DIR        program executables [EPREFIX/libexec] +  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc] +  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com] +  --localstatedir=DIR     modifiable single-machine data [PREFIX/var] +  --libdir=DIR            object code libraries [EPREFIX/lib] +  --includedir=DIR        C header files [PREFIX/include] +  --oldincludedir=DIR     C header files for non-gcc [/usr/include] +  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share] +  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR] +  --infodir=DIR           info documentation [DATAROOTDIR/info] +  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale] +  --mandir=DIR            man documentation [DATAROOTDIR/man] +  --docdir=DIR            documentation root [DATAROOTDIR/doc/drumgizmo] +  --htmldir=DIR           html documentation [DOCDIR] +  --dvidir=DIR            dvi documentation [DOCDIR] +  --pdfdir=DIR            pdf documentation [DOCDIR] +  --psdir=DIR             ps documentation [DOCDIR] + +Program names: +  --program-prefix=PREFIX            prepend PREFIX to installed program names +  --program-suffix=SUFFIX            append SUFFIX to installed program names +  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names + +System types: +  --build=BUILD     configure for building on BUILD [guessed] +  --host=HOST       cross-compile to build programs to run on HOST [BUILD] + +Optional Features: +  --disable-option-checking  ignore unrecognized --enable/--with options +  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no) +  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes] +  --enable-silent-rules   less verbose build output (undo: "make V=1") +  --disable-silent-rules  verbose build output (undo: "make V=0") +  --enable-dependency-tracking +                          do not reject slow dependency extractors +  --disable-dependency-tracking +                          speeds up one-time build +  --enable-shared[=PKGS]  build shared libraries [default=yes] +  --enable-static[=PKGS]  build static libraries [default=yes] +  --enable-fast-install[=PKGS] +                          optimize for fast installation [default=yes] +  --disable-libtool-lock  avoid locking (might break parallel builds) +  --disable-largefile     omit support for large files +  --enable-gui=backend    Use specified gui backend. Can be x11, win32, cocoa, +                          pugl-x11, pugl-win32, pugl-cocoa or auto +                          [default=auto] +  --enable-custom-channel-count=count +                          Compile with specified number of output channels +                          [default=16] +  --enable-lv2            Compile the LV2 plugin [default=no] +  --enable-vst            Compile the VST plugin [default=no] +  --enable-cli            Compile the command line interface [default=yes] +  --disable-input-dummy   Disable input dummy plugin [default=enabled] +  --disable-input-test    Disable input test plugin [default=enabled] +  --disable-input-jackmidi +                          Disable input jackmidi plugin [default=enabled] +  --disable-input-alsamidi +                          Disable input alsamidi plugin [default=enabled] +  --disable-input-midifile +                          Disable input midifile plugin [default=enabled] +  --disable-input-oss     Disable input oss plugin [enabled by default on +                          FreeBSD, disabled otherwise] +  --disable-output-dummy  Disable output dummy plugin [default=enabled] +  --disable-output-jackaudio +                          Disable output jack plugin [default=enabled] +  --disable-output-alsa   Disable output alsa plugin [default=enabled] +  --disable-output-wavfile +                          Disable output wavfile plugin [default=enabled] +  --disable-output-oss    Disable output oss plugin [enabled by default on +                          FreeBSD, disabled otherwise] +  --enable-sse=level      Enable SSE Level 1, 2, 3 or auto [default=auto] + +Optional Packages: +  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes] +  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no) +  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use +                          both] +  --with-aix-soname=aix|svr4|both +                          shared library versioning (aka "SONAME") variant to +                          provide on AIX, [default=aix]. +  --with-gnu-ld           assume the C compiler uses GNU ld [default=no] +  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the +                          compiler's sysroot if not specified). +  --with-debug            Build with debug support +  --with-nls              Build with nls support (default nls enabled) +  --with-test             Build unit tests +  --with-lv2dir=DIR       Use DIR as the lv2 plugin directory +                          [default=LIBDIR/lv2] +  --with-vst-sources      Point this to the vstsdk24 directory + +Some influential environment variables: +  CXX         C++ compiler command +  CXXFLAGS    C++ compiler flags +  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a +              nonstandard directory <lib dir> +  LIBS        libraries to pass to the linker, e.g. -l<library> +  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if +              you have headers in a nonstandard directory <include dir> +  OBJC        Objective C compiler command +  OBJCFLAGS   Objective C compiler flags +  OBJCXX      Objective C++ compiler command +  OBJCXXFLAGS Objective C++ compiler flags +  CC          C compiler command +  CFLAGS      C compiler flags +  LT_SYS_LIBRARY_PATH +              User-defined run-time library search path. +  CPP         C preprocessor +  CXXCPP      C++ preprocessor +  PKG_CONFIG  path to pkg-config utility +  PKG_CONFIG_PATH +              directories to add to pkg-config's search path +  PKG_CONFIG_LIBDIR +              path overriding pkg-config's built-in search path +  X11_CFLAGS  C compiler flags for X11, overriding pkg-config +  X11_LIBS    linker flags for X11, overriding pkg-config +  XEXT_CFLAGS C compiler flags for XEXT, overriding pkg-config +  XEXT_LIBS   linker flags for XEXT, overriding pkg-config +  LV2_CFLAGS  C compiler flags for LV2, overriding pkg-config +  LV2_LIBS    linker flags for LV2, overriding pkg-config +  SMF_CFLAGS  C compiler flags for SMF, overriding pkg-config +  SMF_LIBS    linker flags for SMF, overriding pkg-config +  SNDFILE_CFLAGS +              C compiler flags for SNDFILE, overriding pkg-config +  SNDFILE_LIBS +              linker flags for SNDFILE, overriding pkg-config +  JACK_CFLAGS C compiler flags for JACK, overriding pkg-config +  JACK_LIBS   linker flags for JACK, overriding pkg-config +  ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config +  ALSA_LIBS   linker flags for ALSA, overriding pkg-config + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +*/ +int configure(int argc, char* argv[]) +{ +	Settings settings; + +	settings.builddir = "build"; + +	std::string cmd_str; +	for(int i = 0; i < argc; ++i) +	{ +		if(i > 0) +		{ +			cmd_str += " "; +		} +		cmd_str += argv[i]; +	} + +	dg::Options opt; +	int key{256}; + +	std::string build_arch; +	std::string build_path; +	std::string host_arch; +	std::string host_path; + +	opt.add("build-dir", required_argument, 'b', +	        "Set output directory for build files (default: '" + +	        settings.builddir + "').", +	        [&]() { +		        settings.builddir = optarg; +		        return 0; +	        }); + +	opt.add("verbose", no_argument, 'v', +	        "Be verbose. Add multiple times for more verbosity.", +	        [&]() { +		        settings.verbose++; +		        return 0; +	        }); + +	opt.add("build", required_argument, key++, +	        "Configure for building on specified architecture.", +	        [&]() { +		        build_arch = optarg; +		        return 0; +	        }); + +	opt.add("build-path", required_argument, key++, +	        "Set path to build tool-chain.", +	        [&]() { +		        build_path = optarg; +		        return 0; +	        }); + +	opt.add("host", required_argument, key++, +	        "Cross-compile to build programs to run on specified architecture.", +	        [&]() { +		        host_arch = optarg; +		        return 0; +	        }); + +	opt.add("host-path", required_argument, key++, +	        "Set path to cross-compile tool-chain.", +	        [&]() { +		        host_path = optarg; +		        return 0; +	        }); + +	opt.add("help", no_argument, 'h', +	        "Print this help text.", +	        [&]() { +		        std::cout << "configure usage stuff\n"; +		        opt.help(); +		        exit(0); +		        return 0; +	        }); + +	opt.process(argc, argv); + +	if(host_arch.empty()) +	{ +		host_arch = build_arch; +	} + +	auto tasks = getTasks(settings); + +	bool needs_cpp{false}; +	bool needs_c{false}; +	bool needs_ar{false}; +	bool needs_asm{false}; +	for(const auto& task :tasks) +	{ +		switch(task->sourceLanguage()) +		{ +		case Language::Auto: +			std::cerr << "TargetLanguage not deduced!\n"; +			exit(1); +			break; +		case Language::C: +			needs_cpp = false; +			break; +		case Language::Cpp: +			needs_c = true; +			break; +		case Language::Asm: +			needs_asm = true; +			break; +		} +	} + +	// CC=clang +	// CXX=clang++ + +	std::string path_env = std::getenv("PATH"); +	std::cout << path_env << "\n"; + +	std::vector<std::string> paths; + +	{ +		std::stringstream ss(path_env); +		std::string path; +		while (std::getline(ss, path, ':')) +		{ +			paths.push_back(path); +		} +	} +	for(const auto& path_str : paths) +	{ +		std::filesystem::path path(path_str); +		auto gcc = path / "gcc"; +		if(std::filesystem::exists(gcc)) +		{ +			std::cout << "Found file gcc in path: " << path << "\n"; +			auto perms = std::filesystem::status(gcc).permissions(); +			if((perms & std::filesystem::perms::owner_exec) != std::filesystem::perms::none) +			{ +				std::cout << " - executable by owner\n"; +			} +			if((perms & std::filesystem::perms::group_exec) != std::filesystem::perms::none) +			{ +				std::cout << " - executable by group\n"; +			} +			if((perms & std::filesystem::perms::others_exec) != std::filesystem::perms::none) +			{ +				std::cout << " - executable by others\n"; +			} +		} +	} +	exit(0); + +	{ +		std::ofstream istr(configurationFile); +		istr << "#include \"libcppbuild.h\"\n\n"; +		istr << "const std::map<std::string, std::string>& configuration()\n"; +		istr << "{\n"; +		istr << "	static std::map<std::string, std::string> c =\n"; +		istr << "	{\n"; +		istr << "		{ \"cmd\", \"" << cmd_str << "\" },\n"; +		istr << "		{ \"" << cfg::builddir << "\", \"" << settings.builddir << "\" },\n"; +		istr << "		{ \"" << cfg::target_cc << "\", \"/usr/bin/gcc\" },\n"; +		istr << "		{ \"" << cfg::target_cpp << "\", \"/usr/bin/g++\" },\n"; +		istr << "		{ \"" << cfg::target_ar << "\", \"/usr/bin/ar\" },\n"; +		istr << "		{ \"" << cfg::target_ld << "\", \"/usr/bin/ld\" },\n"; +		istr << "		{ \"" << cfg::host_cc << "\", \"/usr/bin/gcc\" },\n"; +		istr << "		{ \"" << cfg::host_cpp << "\", \"/usr/bin/g++\" },\n"; +		istr << "		{ \"" << cfg::host_ar << "\", \"/usr/bin/ar\" },\n"; +		istr << "		{ \"" << cfg::host_ld << "\", \"/usr/bin/ld\" },\n"; +		istr << "	};\n"; +		istr << "	return c;\n"; +		istr << "}\n"; +	} + +	{ +		std::ofstream istr(configHeaderFile); +		istr << "#pragma once\n\n"; +		istr << "#define HAS_FOO 1\n"; +		istr << "//#define HAS_BAR 1\n"; +	} + +	return 0; +} diff --git a/src/configure.h b/src/configure.h index 95b6765..de1b7e0 100644 --- a/src/configure.h +++ b/src/configure.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <filesystem> diff --git a/src/execute.cc b/src/execute.cc index 414ce70..610ccdd 100644 --- a/src/execute.cc +++ b/src/execute.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "execute.h"  #include <unistd.h> diff --git a/src/execute.h b/src/execute.h index f284230..c750a83 100644 --- a/src/execute.h +++ b/src/execute.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <string> diff --git a/src/libctor.cc b/src/libctor.cc index e166e51..4d0d6d9 100644 --- a/src/libctor.cc +++ b/src/libctor.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include <vector>  #include <string>  #include <filesystem> diff --git a/src/libctor.h b/src/libctor.h index 4ad0e32..70c62a8 100644 --- a/src/libctor.h +++ b/src/libctor.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <string> diff --git a/src/rebuild.cc b/src/rebuild.cc index 5559349..353beb0 100644 --- a/src/rebuild.cc +++ b/src/rebuild.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "rebuild.h"  #include <iostream> diff --git a/src/rebuild.h b/src/rebuild.h index 1b29bbd..906d089 100644 --- a/src/rebuild.h +++ b/src/rebuild.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <vector> diff --git a/src/settings.h b/src/settings.h index 6b8729f..d71717a 100644 --- a/src/settings.h +++ b/src/settings.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <cstddef> diff --git a/src/task.cc b/src/task.cc index 4cdfa5e..1c6c233 100644 --- a/src/task.cc +++ b/src/task.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "task.h"  #include <unistd.h> @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <vector> diff --git a/src/task_ar.cc b/src/task_ar.cc index 51d609e..e920571 100644 --- a/src/task_ar.cc +++ b/src/task_ar.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "task_ar.h"  #include <iostream> diff --git a/src/task_ar.h b/src/task_ar.h index bfa21a2..abdc3ae 100644 --- a/src/task_ar.h +++ b/src/task_ar.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include "task.h" diff --git a/src/task_cc.cc b/src/task_cc.cc index 0f85bf6..8256c70 100644 --- a/src/task_cc.cc +++ b/src/task_cc.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "task_cc.h"  #include <iostream> diff --git a/src/task_cc.h b/src/task_cc.h index 0ce4947..10813a7 100644 --- a/src/task_cc.h +++ b/src/task_cc.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include "task.h" diff --git a/src/task_ld.cc b/src/task_ld.cc index 4eb64f4..1b5665e 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "task_ld.h"  #include <iostream> diff --git a/src/task_ld.h b/src/task_ld.h index f56f00d..730975a 100644 --- a/src/task_ld.h +++ b/src/task_ld.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include "task.h" diff --git a/src/task_so.cc b/src/task_so.cc index 519085a..5623bcf 100644 --- a/src/task_so.cc +++ b/src/task_so.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "task_so.h"  #include <iostream> diff --git a/src/task_so.h b/src/task_so.h index 864d108..1e65694 100644 --- a/src/task_so.h +++ b/src/task_so.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include "task.h" diff --git a/src/tasks.cc b/src/tasks.cc index 3113564..a52b0be 100644 --- a/src/tasks.cc +++ b/src/tasks.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "tasks.h"  #include <filesystem> diff --git a/src/tasks.h b/src/tasks.h index c5b326e..54591a4 100644 --- a/src/tasks.h +++ b/src/tasks.h @@ -1,4 +1,6 @@  // -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <string> diff --git a/src/unittest.cc b/src/unittest.cc index d2d5167..ade2d0a 100644 --- a/src/unittest.cc +++ b/src/unittest.cc @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #include "unittest.h"  #include <iostream> diff --git a/src/unittest.h b/src/unittest.h index 144dbdb..7eef0e2 100644 --- a/src/unittest.h +++ b/src/unittest.h @@ -1,3 +1,6 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details.  #pragma once  #include <list>  | 
