29 Commits

Author SHA1 Message Date
Peter Wang
5e3516ca5a Convert README.cross to markdown.
README.cross:
    Convert README.cross to markdown.

    Rename to README.cross.md.

.nocopyright:
README.MS-Windows:
README.md:
tools/configure_cross:
tools/copy_mercury_binaries:
    Update references to README.cross.
2022-07-18 17:41:46 +10:00
Peter Wang
b02816e7ac Support cross-compiling for Linux/Aarch64.
tools/configure_cross:
tools/configure_mingw_cross:
    Rename configure_mingw_cross to configure_cross.

    Support aarch64-linux-gnu as a target.

    Make the script recognise a --with-cc option.

README.cross:
    Rewrite instructions for building with a cross-compiler.

README.MinGW-cross:
    Delete old instructions.

.nocopyright:
README.MS-Windows
README.md:
    Replace references to README.MinGW-cross with README.cross.

NEWS:
    Announce change.
2021-05-04 10:37:02 +10:00
Peter Wang
fc4c747386 Delete references to Erlang backend in documentation.
.INSTALL.in:
.nocopyright:
BUGS:
README.Erlang:
README.MS-VisualC:
README.MacOS:
README.MinGW:
README.md:
doc/reference_manual.texi:
doc/user_guide.texi:
    As above.

NEWS:
    Announce removal of Erlang backend.
2020-10-27 10:56:10 +11:00
Peter Wang
04ad98c7b4 Support OpenBSD.
configure.ac:
    Set flags to build Boehm GC with threads support and parallel
    marking.

    Prevent use of "__thread" storage class specifier on OpenBSD;
    it does not work.

    Enable shared libraries on OpenBSD.

README.OpenBSD:
    New file.

.README.in:
README.md:
    Mention README.OpenBSD.

.nocopyright:
    Add README.OpenBSD.
2018-03-01 17:52:38 +11:00
Peter Ross
14d62a4d37 Add mercury.snk to .nocopyright.
Estimated hours taken: 0.1
Branches: main, 12.08

.nocopyright:
	Add mercury.snk to .nocopyright.
2012-11-22 20:35:09 +00:00
Peter Wang
6b1f89831e Let Mercury be built with a MinGW cross-compiler.
Branches: main

Let Mercury be built with a MinGW cross-compiler.

tools/configure_mingw_cross:
	Add shell script to prepare for cross-compilation.

README.MinGW-cross:
	Document how to use the shell script.

configure.in:
Mmake.common.in:
	Set a new variable CROSS_COMPILING.

	Set FULLARCH and BUILD_C_PROGS_FOR_BUILD_SYSTEM variables
	to be passed to the Boehm GC build system.

	Use $host-ar for AR when cross-compiling.

m4/mercury.m4:
	Determine gcc version with gcc -dumpversion instead of building
	a program and running it.

	Don't run test for mercury_cv_cc_type if set explicitly.

Mmake.workspace:
	Use the default c2init and mkinit when cross-compiling.
	The copies in the util directory would not be usable then.

boehm_gc/Mmakefile:
	Pass configured values of AR, RANLIB down to sub-make.

boehm_gc/Makefile.direct:
boehm_gc/build_atomic_ops.sh:
	Use configured value from Mmake.common for HOSTCC.

	Pass --host when configuring libatomic_ops.

util/Mmakefile:
	Make tools with .exe suffixes on Windows.

Mmakefile:
	Use the bootstrap compiler to build libgrades when cross-compiling.

	Conform to changed target names in the util directory.

compiler/Mmakefile:
deep_profiler/Mmakefile:
profiler/Mmakefile:
slice/Mmakefile:
	Conform to changed target names in the util directory.

Makefile:
	Clean .exe files on Windows.
2012-01-09 00:35:41 +00:00
Julien Fischer
cc455fa4ef Don't expect a copyright message in README.clang.
Branches: main, 11.07

.nocopyright:
	Don't expect a copyright message in README.clang.
2011-10-03 05:00:16 +00:00
Peter Wang
91b78d6738 Make it possible to install and use the csharp.ssdebug grade.
Branches: main

Make it possible to install and use the csharp.ssdebug grade.

Mmake.workspace:
        Never try to link with `mer_rt' in C# grades.

browser/Mmakefile:
mdbcomp/Mmakefile:
ssdb/Mmakefile:
        Use `mmc --make' to install these libraries in `csharp' grades.

        Don't add C libraries to MLLIBS in non-C or asm grades.

browser/Mercury.options:
ssdb/Mercury.options:
        "EXTRA_LIBRARIES-libname" doesn't actually work with `mmc --make',
        but "LIBRARIES-name" does.

library/exception.m:
ssdb/ssdb.m:
        Handle EXCP events in C# grades.

        Trap SIGINT when running ssdb in C# grades.

        Add `exit_process' implementation.

browser/declarative_execution.m:
browser/listing.m:
        Add stubs for C#.

README.CSharp:
        Document the C# backend.

README.DotNet:
        Add a pointer to README.CSharp.

README.Erlang:
README.Java:
        Remove a non-sensical paragraph.

.INSTALL.in:
configure.in:
        Add `--enable-csharp-grade' option.

        Make `configure --enable-ssdebug-grades' add `csharp.ssdebug'
        to the list of library grades.
2010-10-26 04:59:10 +00:00
Peter Wang
07557a573c Add some documentation for the source-to-source debugger.
Branches: main, 10.04

README.ssdebug:
        Add some documentation for the source-to-source debugger.

NEWS:
README.Java:
        Mention the source-to-source debugger.
2010-06-10 07:00:59 +00:00
Julien Fischer
7acf7764cb Add README.MacOS to the list of files not to check
.nocopyright:
	Add README.MacOS to the list of files not to check
	for copyright messages.
2010-05-20 05:09:22 +00:00
Peter Wang
d1cffc4523 RTTI improvements for Java backend. io.write/3 works for some simple types
Branches: main

RTTI improvements for Java backend.  io.write/3 works for some simple types
(builtin types and non-existential d.u. types).

compiler/mlds_to_java.m:
        Fix problem with cyclic RTTI definitions.  Initialisers could refer to
        other RTTI structures which weren't yet allocated, leading to fields
        being null.  The fix is to allocate all top-level RTTI objects first
        and initialise in a second phase.

java/runtime/DuExistInfo.java:
java/runtime/DuExistLocn.java:
java/runtime/DuFunctorDesc.java:
java/runtime/EnumFunctorDesc.java:
java/runtime/ForeignEnumFunctorDesc.java:
java/runtime/TypeClassConstraint.java:
java/runtime/TypeClassDeclStruct.java:
java/runtime/TypeClassId.java:
java/runtime/TypeCtorInfo_Struct.java:
java/runtime/TypeInfo_Struct.java:
        Separate constructors into constructors for the initial allocation,
        and an `init' method to fill in the fields.

java/runtime/MethodPtr.java:
        Use variadic method support to simplify semidet_call_* and
        result_call_* in rtti_implementation.m.

library/builtin.m:
        Make Java definitions of builtin.unify/2 and builtin.compare/3 call
        rtti_implementation.generic_unify and generic_compare.

library/private_builtin.m:
        Add missing MR_TYPECTOR_REP_FOREIGN_ENUM{,_USEREQ} constants
        for C# and Java.

library/rtti_implementation.m:
        Fix and add missing Java versions of many foreign_procs.

        Add more attributes to foreign_procs.

        Clean up the code a bit (fewer casts and ^ field access functions).

README.Java:
        Bump Java version requirement to J2SE 1.5 or higher.
2009-04-30 00:43:35 +00:00
Julien Fischer
b6afd382f4 Don't check for a copyright message in INSTALL_CVS.
.nocopyright:
	Don't check for a copyright message in INSTALL_CVS.
2008-01-14 00:07:54 +00:00
Julien Fischer
f7e98ce726 Don't check for a copyright message in .README.in.
.nocopyright:
	Don't check for a copyright message in .README.in.
	(There is one but it isn't in the usual place.)
2007-10-12 04:38:01 +00:00
Peter Wang
7fa0dff1b5 Add more documentation for the Erlang backend.
Estimated hours taken: 6
Branches: main

Add more documentation for the Erlang backend.

Make it possible to configure and install the Erlang backend without too
much manual tweaking.

NEWS:
	Mention the Erlang backend.

README.Erlang:
	Add installation and other notes for Erlang.

doc/reference_manual.texi:
doc/user_guide.texi:
	Add documentation for Erlang.

aclocal.m4:
configure.in:
	Check that the bootstrap compiler knows about the
	builtin_compound_{eq,lt} builtins, and understands
	--erlang-native-code.

	Make configure check for Erlang tools.

	Add configure --enable-erlang-grade option.  Erlang support
	is disabled by default.

scripts/Mercury.config.in:
	Add `--erlang-compiler <erl>' and `--erlang-interpreter <erlc>'
	options to be set by configure.

analysis/ANALYSIS_FLAGS.in:
compiler/COMP_FLAGS.in:
mdbcomp/MDBCOMP_FLAGS.in:
	Add `--erlang-include-directory <dir>/Mercury/hrls' options so that
	the compiler can find Erlang header files from other subdirectories.

compiler/Mercury.options:
library/Mercury.options:
	Work around bugs in the HiPE compiler when compiling two modules.

	Delete the workaround that was necessary while bootstrapping
	builtin_compound_{eq,lt}.

compiler/options.m:
	Add notes that two options to check that the compiler is recent enough
	won't be recognised because they begin "no-" prefixes, and we have
	to use "--no-no-" instead.

compiler/options_file.m:
	Support ERLANG_FLAGS, EXTRA_ERLANG_FLAGS variables in options files to
	be the same as passing --erlang-flags.

browser/Mmakefile:
compiler/Mmakefile:
deep_profiler/Mmakefile:
library/Mmakefile:
mdbcomp/Mmakefile:
profiler/Mmakefile:
runtime/Mmakefile:
slice/Mmakefile:
trace/Mmakefile:
	Make the build system do the same things in the Erlang grade as for
	the IL and Java grades.

scripts/final_grade_options.sh-subr:
scripts/parse_grade_options.sh-subr:
	Make these scripts know about the erlang grade so that parts of the
	build system won't abort on seeing it.
2007-07-20 01:22:06 +00:00
Julien Fischer
ef52b299ee Don't check .cvsignore for a copyright message.
.nocopyright:
	Don't check .cvsignore for a copyright message.

.cvsignore:
	Ignore an Mmake.stage.params file.
2007-06-15 13:40:31 +00:00
Zoltan Somogyi
92966551f1 Replace the workaround for the bootstrapping problem with deep profiling grades
Estimated hours taken: 16
Branches: main

Replace the workaround for the bootstrapping problem with deep profiling grades
with a proper fix. The fix requires changing the builtin generic unify and
compare routines by removing the pretest comparing the two argument words
for equality. Since this can alter the algorithmic complexity of the program
(for the worse) which a profiler should definitely avoid, we compensate for
this by adding the pretest to the compiler-generated unify and compare
predicates. Since these pretests are executed even when the deleted pretest
wouldn't be, this can also alter algorithmic complexity (for the better)
at the cost of higher constant factors. However, the likelyhood of such
alteration is much smaller: if the top level of a term doesn't match, chances
are most of the function symbols at the lower levels won't match either.
In any case, the user has the option of getting this better algorithmic
complexity anyway by specifying the new option --should-pretest-equality.
However, until we have more experience with it, the documentation of the
new option is commented out.

runtime/mercury_conf_param.h:
	Remove the workaround.

runtime/mercury_unify_compare_body.h:
	Remove the problematic pretest, and document the problem that would
	occur in its presence. Document the user_by_rtti dummy type
	constructor. Fix some misleading abort messages.

compiler/options.m:
	Add the --should-pretest-equality option.

	Add (commented out) documentation for another option for which it was
	missing.

doc/user_guide.texi:
	Add (commented out) documentation for the new option, and for some
	others which it was missing.

compiler/handle_options.m:
	Make deep profiling imply the need for pretests in compiler generated
	unify and compare predicates.

compiler/unify_proc.m:
	If the new option is set, add pretests to unify and compare predicates.
	We have to be careful to make sure that we don't add pretests if they
	would try to unify two non-ground terms, or if the unification is
	guaranteed to fail (since the casts in the pretest would obscure this
	fact).

	Implementing this required changing the approach of this module.
	Instead of most predicates generating single clauses, they now generate
	disjuncts for a disjunction that itself can be put inside the
	if-then-else whose condition is the pretest. Since these predicates
	not longer generate clauses, their names have been changed accordingly.

compiler/hlds_goal.m:
	Add a goal feature for marking an if-then-else as representing
	a pretest.

compiler/saved_vars.m:
	Handle the new goal feature.

compiler/goal_util.m:
	Add a function for stripping pretests away.

compiler/post_term_analysis.m:
compiler/term_constr_build.m:
compiler/term_pass1.m:
compiler/term_pass2.m:
	Strip pretests away before termination analysis, since the analysis
	can't yet prove termination in the presence of the pretest.

compiler/prog_type.m:
	Add some auxilary predicates, and change the signature of an existing
	predicate to make it more convenient to use.

compiler/type_util.m:
	Conform to the change in prog_type.m, and in the process fix code to
	avoid the assumption that the names of standard library modules are
	unqualified (since the plan is to put them in package "std").

tests/hard_coded/profdeep_seg_fault.{m,exp}:
	Fix the test case to be more readable and to generate properly
	line-terminated output, now that we pass it.

BUGS:
	Remove the entry for the bug fixed by this diff.
2007-04-13 04:56:46 +00:00
Peter Ross
f9b21c8933 *** empty log message *** 2006-11-28 06:57:36 +00:00
Peter Ross
3f4ff79179 *** empty log message *** 2006-03-17 00:23:32 +00:00
Mark Brown
7b6b6f81b6 Add WORK_IN_PROGRESS.
Estimated hours taken: 0
Branches: main

.nocopyright:
	Add WORK_IN_PROGRESS.
2002-10-10 07:27:36 +00:00
Peter Ross
1bcb68298f Update the .nocopyright files.
Estimated hours taken: 0.1
Branches: main

Update the .nocopyright files.
2001-05-03 12:50:20 +00:00
Peter Ross
8e510cf102 Update for README files.
Estimated hours taken: 0.1

.nocopyright:
    Update for README files.
2001-03-27 11:52:41 +00:00
Peter Ross
dc5e648b46 Update.
Estimated hours taken: 0.1

.nocopyright:
    Update.
2001-03-18 17:41:34 +00:00
Peter Ross
68d65dcb4b Add more entries.
Estimated hours taken: 0.1

*/.nocopyright:
    Add more entries.
2001-03-05 12:04:25 +00:00
Peter Ross
aebad9e884 Add the .reuse_trunk_sync_tag on the *main* branch.
Estimated hours taken: 0.01

.nocopyright:
    Add the .reuse_trunk_sync_tag on the *main* branch.
2001-02-07 12:06:30 +00:00
David Overton
3528bed5b2 Add `.mode-constraints-sync-tag' which is needed for the new
Estimated hours taken: 0.1

.nocopyright:
	Add `.mode-constraints-sync-tag' which is needed for the new
	mode-constraints branch.
2001-02-06 02:16:35 +00:00
David Overton
e419677a00 Add `NEWS' to .nocopyright.
Estimated hours taken: 0.05

.nocopyright:
	Add `NEWS' to .nocopyright.
2000-10-03 02:20:44 +00:00
Fergus Henderson
772c2e20af Add config.sub and config.guess, since these are developed
.nocopyright:
	Add config.sub and config.guess, since these are developed
	externally (they come from the autoconf distribution).
2000-09-18 13:59:45 +00:00
Ralph Becket
15ac6d0f1f Added .INSTALL.in 2000-09-08 09:39:47 +00:00
Tyson Dowd
57146df2c0 Update the documentation that talks about Cygwin.
Estimated hours taken: 0.3

README.MS-Windows:
	Update the documentation that talks about Cygwin.
	The new Cygwin system has fixed most of the bugs that are
	discussed in this document, is available from a different site
	(Redhat now owns Cygnus), creates /bin/sh.exe and /tmp for you,
	and has non-beta version numbers.

	Also I added a paragraph explaining that you need to edit a .m
	file and compile it using the command line compiler (there's a
	whole generation of programmers out there who have never seen a
	command line compiler).

.nocopyright:
	Added README.MS-Windows to this file.
2000-09-04 12:19:31 +00:00