extras/complex_numbers/*.m:
Rename files containing submodules so that we can (correctly) build
this library without first building a source file mapping.
extras/complex_numbers/samples/Mmakefile:
extras/complex_numbers/tests/Mmakefile:
Tell the C compiler where the header files for libcomplex_numbers
are.
extras/curs/samples/Mmakefile:
Pass the -I option to the C compiler via the CFLAGS variable, not
the MGNUCFLAGS variable; the latter just causes the mgnuc script
to halt option processing and construct an invalid command line
for the C compiler.
extras/curses/*.m:
Rename files containing submodules so that we can (correctly) build
this library without first building a source file mapping.
extras/curses/mcurses.m:
Style and formatting fixes.
extras/curses/sample/Mmakefile:
Pass the -I option to the C compiler via the CFLAGS variable.
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.
extras/.gitignore:
Mercury ignores the --use-{grade}-subdir dir
Mercury/** for git 1.8+ this recursively ignores all build files
ignoring *.mh and *.init files
*.err output files
lib*.{dll|so|a|dylib} ignores target compiler library output
*.jar ignores the Java grade output
*.exe for Windows executables
extras/dynamic_linking/.gitignore:
ignoring the copy of dl.m, name_mangle.m
ignoring hello lib and dl_test* executables
extras/moose/samples/.gitignore:
ignoring cgram.m small.m alpha.m expr.m which are
generated from the .moo grammar files
extras/graphics/mercury_cairo/samples/.gitignore:
ignoring *.png output and all executables
extras/**/.gitignore:
In each sample/test/example folder the linux executable/test
output is ignored
Estimated hours taken: 1
Branches: main, release
Cleanups for the complex numbers library.
extras/complex_numbers/*.m:
extras/complex_numbers/samples/fft.m:
extras/complex_numbers/tests/complex_test.m:
Convert these modules to four-space indentation.
Conform to our current coding standard.
Estimated hours taken: 0.2
Branches: main
Get the complex numbers sample to compile.
extras/complex_numbers/samples/fft.m:
Add a main predicate so this sample compiles.
Estimated hours taken: 0.1
Branches: main, release
extras/complex_numbers/*.m:
extras/complex_numbers/samples/fft.m:
extras/complex_numbers/tests/complex_test.m:
Standardize the module qualifier used in this modules
to `.'.
Estimated hours taken: 0.5
Branches: main
Fix up some minor things in the extras distribution.
extras/cgi/Mmakefile:
Don't warn about mercury_www not exporting anything.
extras/complex_numbers/*.m:
Replace `:' as the module qualifier.
Use float.float/1 instead of the now obsolete
int.to_float/2.
extras/concurrency/midimon.m:
Replace `:' as the module qualifier.
extras/trailed_update/Mmakefile:
Don't warn about trailed_update not exporting anything.
extras/xml/*.m:
Replace `:' as the module qualifier.
Remove some unnecessary imports.
Put an underscore in front of an unused variable.
Estimated hours taken: 15
Split the automatically generated `.dep' file into two files. The new `.dv'
file contains all the variable definitions which used to be in the `.dep'
file, which now contains just the rules. With mmake including the `.dv'
files before the user's Mmakefile and the `.dep' files after, this allows
user-defined Mmakefiles to refer to the automatically-generated variables
and automatically-generated rules to refer to variables defined in the
user's Mmakefile. This was possible before to a limited extent, but in
particular dependency lists for automatically-generated rules could not
refer to user-defined variables.
Also introduced `C2INITARGS' as part of an illustration of how this change
is useful (though probably this should be a separate change). `C2INITARGS'
should be used to specify extra files to be passed to `c2init', rather than
the currently-used `C2INITFLAGS' (which should only be used for option
flags). The `_init.c' target should depend on these extra arguments, but it
was not possible to do this automatically prior to this change (at least,
not if one wanted to support per-program specification of `C2INITARGS').
compiler/modules.m:
Generate the new `.dv' files and revised `.dep' files.
Update the `change_clean' and `real_clean' targets to delete the
`.dv' files.
Update the `_init.c' rule to refer to `$(ALL_C2INITARGS)' as well as
`$(ALL_C2INITFLAGS)', and add a dependency on `$(ALL_C2INITARGS)'.
scripts/Mmake.rules:
Add appropriate rules and dependencies for `.dv' files.
scripts/Mmake.vars.in:
Add definitions for implementing `C2INITARGS'.
scripts/mmake.in:
Add code for using `.dv' files (while maintaining backward
compatibility for when they don't exist).
doc/user_guide.texi:
Document the new `.dv' files.
Document the new `C2INITARGS' variables and the dependencies they
imply.
../clpr/Mmakefile:
../clpr/samples/Mmakefile:
extras/complex_numbers/samples/Mmakefile:
extras/complex_numbers/tests/Mmakefile:
extras/graphics/mercury_opengl/Mmakefile:
extras/references/samples/Mmakefile:
extras/references/tests/Mmakefile:
extras/trailed_update/samples/Mmakefile:
extras/trailed_update/tests/Mmakefile:
Update to use `C2INITARGS' instead of `C2INITFLAGS', where
appropriate, and remove any now-obsolete `%_init.c' dependencies
(which wouldn't have worked anyway since GNU Make ignores pattern
dependencies with no commands).
Estimated hours taken: 0.25
extras/complex_numbers/samples/fft.m:
Fix a compilation error: need to import the
parent module `complex_numbers' before importing
the child module `complex_numbers:complex'.
Estimated hours taken: 0.25
Use sub-modules to package up the modules in extras/complex_numbers
into a single module.
extras/complex_numbers/complex_numbers.m:
I forgot to `cvs add' this file before committing my last change.
extras/complex_numbers/samples/fft.m:
I forgot to change the `import_module' declaration here
to import `complex_numbers:complex' instead of `complex'.
Estimated hours taken: 0.75
Use sub-modules to package up the modules in extras/complex_numbers
into a single module.
extras/complex_numbers/complex_lib.m:
extras/complex_numbers/complex_numbers.m:
Rename complex_lib.m as complex_numbers.m,
and modify it to use sub-modules.
extras/complex_numbers/*.m:
extras/complex_numbers/tests/complex_test.m:
extras/complex_numbers/samples/fft.m:
Add `complex_numbers:' to all of the `:- module'
and `:- import_module' declarations.
extras/complex_numbers/Mmakefile:
extras/complex_numbers/tests/Mmakefile:
extras/complex_numbers/samples/Mmakefile:
Modify to reflect the renaming from `complex_lib' to
`complex_numbers'.
Estimated hours taken: 0.1
Place various bits of sample code in the public domain.
extras/complex_numbers/samples/fft.m:
extras/graphics/samples/calc/calc.m:
extras/graphics/samples/maze/maze.m:
samples/ultra_sub.m:
place the source in the public domain.
extras/complex_numbers/*:
Add an Mmakefile to build the complex number library, using the
new support for user-defined libraries.
Move the test cases into a new subdirectory `tests'.
Add a new subdirectory `samples', containing an example
module `fft.m' that uses the library.
Add a README file.
extras/complex_numbers/complex.m:
Add new functions `complex/1' (converts float to complex),
`cis' (cos + i * sin), and `conj'.
Rename `norm' as `abs2' (square of absolute value).