Commit Graph

9 Commits

Author SHA1 Message Date
Mark Brown
d465fa53cb Update the COPYING.LIB file and references to it.
Discussion of these changes can be found on the Mercury developers
mailing list archives from June 2018.

COPYING.LIB:
    Add a special linking exception to the LGPL.

*:
    Update references to COPYING.LIB.

    Clean up some minor errors that have accumulated in copyright
    messages.
2018-06-09 17:43:12 +10:00
Zoltan Somogyi
d2720aa67b Add align_right as an extras program. 2016-07-27 14:44:16 +02:00
Zoltan Somogyi
ab40b7887e Add show_ops.m to extras. 2015-09-09 04:19:19 +10:00
Zoltan Somogyi
d33273d033 Tell vim not to expand tabs in Makefiles.
This file-specific setting will override a default setting of expandtabs
in $HOME/.vimrc.

*/Makefile:
*/Mmakefile:
    As above.

tests/hard_coded/.gitignore:
    Don't ignore the purity subdir. This ignore must have been left over
    from when purity.m was a test in hard_coded, not hard_coded/purity,
    and it ignored an executable, not a directory.
2015-01-08 22:07:29 +11:00
Julien Fischer
b3b155be92 Fix top-level invocations of mmake in the extras distribution.
Branches: main, 11.07

Fix top-level invocations of mmake in the extras distribution.  They were
breaking because the lex subdirectory didn't have an Mmakefile.  (It uses
mmc --make and a normal Makefile instead.)

Make more of the extras distribution build from the top-level.

extras/lex/Mmakefile:
	Add an Mmakefile that contains the targets required by the top-level
	extras distribution Mmakefile.  Each of the targets just forwards
	the work to the actual Makefile.

extras/Mmakefile:
	Update the list of things that won't compile ``out-of-the-box''.
	(XXX we should use autoconf to configure these.)

	Build the base64 encoding library, the fixed point arithmetic library
	and the error utility by default.

extras/README:
	Update the description of the lazy_evaluation subdirectory.

extras/base64/Makefile:
extras/base64/Mmakefile:
extras/base64/mercury_base64.m:
extars/base64/Mercury.options:
	Build and install base64 as a library.  We use mmc --make, controlled
	from a normal Makefile to do this and then put a forwarding Mmakefile
	in place using so that compilation from the top-level of the extras
	distribution works.  (One reason for doing this is that mmc --make
	provides grade filtering capabilities which are needed here since
	this library will only work in C grades.)

extras/base64/base64.m:
	Avoid a compilation error: sizeof cannot be used on things with
	an incomplete type.

extras/fixed/Makefile:
extras/fixed/Mmakefile:
extras/fixed/Mercury.options:
extras/fixed/mercury_fixed.m:
	Build and install fixed as a library.  As with base64, use mmc --make
	and add a forwarding Mmakefile.

extras/fixed/fixed.m:
	Style and formatting fixes.

extras/lex/Makefile:
	Add a realclean target

extras/lex/lex.lexeme.m:
	Replace a call to a deprecated procedure.
2011-08-02 07:55:09 +00:00
Ian MacLarty
a2f2b40851 Move the string builder stream from extras to the standard library.
Estimated hours taken: 0.5
Branches: main.

Move the string builder stream from extras to the standard library.

library/string.builder.m:
	Move stream_util.string_builder to string.builder.

	Use builtin.copy instead of unsafe_promise_unique in the implementation
	of put/4 for the string builder stream.

library/string.m:
	Include string.builder.

tests/hard_coded/Mmakefile:
tests/hard_coded/string_builder_test.exp:
tests/hard_coded/string_builder_test.m:
	Add a test case.

extras/Mmakefile:
extras/README:
extras/stream/Mmakefile:
extras/stream/README:
extras/stream/impure.m:
extras/stream/lowlevel.m:
extras/stream/stream_old.m:
extras/stream/stream_util.m:
extras/stream/stream_util.string_builder.m:
extras/stream/tests/Makefile:
extras/stream/tests/stream_util_test.exp:
extras/stream/tests/stream_util_test.m:
	Completely remove the streams modules from extras.  These modules
	are all deprecated now.
2007-04-20 05:18:40 +00:00
Ian MacLarty
b0c2d07d8d Implement a Wix source file generator. Wix is an XML language used to
Estimated hours taken: 50
Branches: main

Implement a Wix source file generator.  Wix is an XML language used to
describe Windows installer packages (.msi files).

NEWS:
	Mention the new library.

extras/Mmakefile:
	Include windows_installer_generator in SUBDIRS so it is
	built when mmake is run from the extras directory.

extras/README:
	Mention the new library.

extras/curs/curs.m:
	Use new module qualifier.

extras/windows_installer_generator/README:
extras/windows_installer_generator/wix.m:
extras/windows_installer_generator/wix_files.m:
extras/windows_installer_generator/wix_gui.m:
extras/windows_installer_generator/wix_installer.m:
extras/windows_installer_generator/wix_language.m:
extras/windows_installer_generator/wix_util.m:
	Implement a wix library for generating Wix source files.

extras/windows_installer_generator/sample/Mercury.options:
extras/windows_installer_generator/sample/README:
extras/windows_installer_generator/sample/gen_merc_wxs.m:
extras/windows_installer_generator/sample/images/Exclam.ico:
extras/windows_installer_generator/sample/images/Info.ico:
extras/windows_installer_generator/sample/images/banner.bmp:
extras/windows_installer_generator/sample/images/bg.bmp:
	Implement an example installer generator for the Mercury
	distribution.
2005-10-26 05:04:18 +00:00
Fergus Henderson
dced016cc1 Fix a problem where different packages in the `extras' distribution
Estimated hours taken: 3
Branches: main, release

Fix a problem where different packages in the `extras' distribution
were being installed in different directories when you specified
INSTALL_PREFIX in the Mmake.params file.  Some honoured the INSTALL_PREFIX
setting, some appended "/extras", and some ignored it completely.

Also, add `clean' and `realclean' targets for the extras directory hierarchy,
and fix a few other minor bugs.

extras/lazy_evaluation/Mmakefile:
	Include Mmake.params, which previously wasn't included at all
	in this file.

extras/logged_output/Mmakefile:
extras/odbc/Mmakefile:
extras/quickcheck/Mmakefile:
	Append "/extras" to INSTALL_PREFIX, which previously wasn't done
	at all in these directories.

extras/cgi/Mmakefile:
extras/complex_numbers/Mmakefile:
extras/concurrency/Mmakefile:
extras/curs/Mmakefile:
extras/curses/Mmakefile:
extras/dynamic_linking/Mmakefile:
extras/moose/Mmakefile:
extras/posix/Mmakefile:
	Move the line `INSTALL_PREFIX := $(INSTALL_PREFIX/extras)'
	to before the include of Mmake.params, so as not to override
	the user's setting (only override the default setting).

extras/Mmakefile:
extras/concurrency/Mmakefile:
	Add `clean' and `realclean' targets.

extras/posix/Mmakefile:
	Add MGNUCFLAGS = --no-ansi, since this is needed on some systems.

extras/quickcheck/Mmakefile:
	Add "depend", "all", and "install" targets.
	Ensure that the "check" target runs the test program.

extras/quickcheck/qcheck.m:
	Set the exit status to non-zero if a test fails.

extras/references/Mmakefile:
	Adjust the setting of LIBGRADES to account for the fact that
	$(GRADE) is no longer implicitly included in $(LIBGRADES).
2003-01-16 10:44:26 +00:00
Fergus Henderson
d62c697231 Add appropriate infrastructure to support doing `mmake depend && mmake
Estimated hours taken: 2
Branches: main

Add appropriate infrastructure to support doing `mmake depend && mmake
&& mmake install' in the `extras' directory, and having it automatically
install and build as much as possible.

extras/Mmakefile:
	New file.

extras/cgi/Mmakefile:
	Delete bogus reference to `ALL_LIBGRADES' and `mercury-config'.

extras/complex_numbers/Mmakefile:
extras/concurrency/Mmakefile:
extras/concurrency/concurrency.m:
extras/curses/Mmakefile:
extras/dynamic_linking/Mmakefile:
extras/lazy_evaluation/Mmakefile:
extras/lex/Mmakefile:
extras/moose/Mmakefile:
extras/xml/Mmakefile:
	Add rules for `mmake install'.

extras/references/scoped_update.m:
	Add macro guard around typedef in `c_header_code'.

extras/curs/Mmakefile:
extras/curses/Mmakefile:
	Define MERCURY_BOOTSTRAP_H, to avoid name clash on `bool'
	that is caused by our bootstrap code in runtime/Merucry.h.

extras/curs/curs.m:
	Add `promise_pure' declarations for all pure procedures.
	XXX Should this be needed?  These predicates all take
	io__state arguments.
2002-03-06 10:10:31 +00:00