Commit Graph

23 Commits

Author SHA1 Message Date
Fergus Henderson
111ba0a31e Add a missing $(deps_subdir) before a reference to library.dep,
Estimated hours taken: 0.1

Mmakefile:
	Add a missing $(deps_subdir) before a reference to library.dep,
	so that it works with --use-subdirs.
	It already had the $(dep_subdir) in front of all the
	references to compiler.dep and profiler.dep, I had just
	accidentally missed on occurrence for library.dep.
1998-06-01 01:28:14 +00:00
Fergus Henderson
9856ec7b08 Ensure that things get recompiled properly if you modify the
Mmakefile:
library/Mmakefile:
	Ensure that things get recompiled properly if you modify the
	VERSION file and the run `mmake' from the top-level directory.

Also an unrelated change:

Mmakefile:
	Add a new `install_main' target, which is like
	`install' except that it doesn't invoke `install_grades'.
1998-04-28 06:15:14 +00:00
Fergus Henderson
6f065be64a Fix some Mmakefile errors that were diagnosed by `--warn-undefined-variables'.
Estimated hours taken: 1

Fix some Mmakefile errors that were diagnosed by `--warn-undefined-variables'.
Also, make a small fix to mmake.in and add empty definitions for various
Mmake variables to avoid spurious warnings.

scripts/mmake.in:
	Add ` dep*' to the patterns for which we do not
	pass `--warn-undefined-variables'; previously it
	matched "$@" against `dep*', which did not catch the
	case of `mmake -k depend'.
		       ^^^

scripts/Mmake.vars.in:
	Add definition for `ds_subdir'.
	Define `MLLIBS' as `$(EXTRA_MLLIBS)' rather than empty,
	and add empty definition for `EXTRA_MLLIBS'.
	Add empty definition for `MAIN_TARGET'.

Mmakefile:
	Fix misspelling: `deps_subdir' not `dep_subdir'.
	Add empty definitions for `PREINSTALL_HACK', `POSTINSTALL_HACK',
	and `MMAKEFLAGS'.

boehm_gc/Mmakefile:
	Add empty definition for `PROF'.

runtime/Mmakefile:
	Add empty definition for `DLL_CFLAGS'.

library/Mmakefile:
	Add empty definition for `CHECK_TERM_OPTS'.

compiler/Mmakefile:
	Add empty definition for `MTAGSFLAGS'.
1998-03-30 13:03:17 +00:00
Fergus Henderson
7ebc79e927 Fix some problems with the `--use-subdirs' option.
Estimated hours taken: 6

Fix some problems with the `--use-subdirs' option.
The compiler itself now compiles and bootstraps fine with --use-subdirs.

compiler/modules.m:
	Put `.h' files in the source directory, rather than
	in the `Mercury/hs' subdirectory.

compiler/mercury_compile.m:
scripts/Mmake.rules:
	If `--use-subdirs' is enabled, pass `-I.' to the C compiler,
	so that #include statements work relative to the source directory
	rather than relative to the `Mercury/cs' subdirectory.

scripts/Mmake.vars.in:
	Define $(cs_subdir), $(os_subdir) etc. variables;
	these are set to the directory to use for .c, .o, etc. files,
	(including the trailing `/'), or to the empty string,
	if --use-subdirs is not set.

scripts/Mmake.rules:
	Use $(cs_subdir), $(os_subdir) etc. to avoid the code
	duplication created by my previous change to handle
	--use-subdirs.
	Also add lots of comments, and reorder the code
	in a more logical order.

Mmakefile:
library/Mmakefile:
compiler/Mmakefile:
profiler/Mmakefile:
tests/term/Mmakefile:
tests/valid/Mmakefile:
	Use $(cs_subdir), $(os_subdir) etc. to fix a few hard-coded
	file-names (e.g. *.dep, *_init.[co], tree234.o) that were
	used in some of the rules.

library/Mmakefile:
	Add `rm -f tags' to the rule for `mmake realclean'.

tools/bootcheck:
	Add `--use-subdirs' option (defaults to setting of the
	MMAKE_USE_SUBDIRS environment variable).
	Change the code which compares the stage2 & stage3 C files
	to use the appropriate location for them based on the
	setting of this option.
1998-03-20 02:58:33 +00:00
Simon Taylor
20015fca68 Fix a cut-and-paste bug - mercury_profile.dep is in
Estimated hours taken: 0.1

Mmakefile:
	Fix a cut-and-paste bug - mercury_profile.dep is in
	the profiler directory not the compiler directory.
1998-03-18 04:28:34 +00:00
Fergus Henderson
f91d7ceb24 Fix a bug in the rule for `mmake tar':
Estimated hours taken: 0.1

Mmakefile:
	Fix a bug in the rule for `mmake tar':
	to make all the interface files in the library directory,
	it needs to do `mmake all-ints', not `mmake ints opts'.
	(Also there is no need to explicitly make the `ints' in the
	compiler or profiler directory.  The necessary int files will
	be built automatically when building the .c files.)
1998-03-07 13:16:34 +00:00
Tyson Dowd
2d2f9f358b Fix the boehm_gc problem with libc6 on Linux systems.
Estimated hours taken: 2

Fix the boehm_gc problem with libc6 on Linux systems.
This is a Mercury only fix because the boehm_gc doesn't use autoconf.
(It's not the world's most elegant fix, but it does fix the problem).

Mmakefile:
	Remove boehm_gc/mercury_boehm_gc_conf.h when cleaning up.

README.Linux:
	Update the documentation about this fix.

configure.in:
	Check whether we should #include <asm/sigcontext.h> in
	the GC.

boehm_gc/os_dep.c:
	Only include <asm/sigcontext.h> if it will work.

boehm_gc/mercury_boehm_gc_conf.h.in:
	New configuration header file.
1998-02-11 03:57:56 +00:00
Fergus Henderson
7052e8f8e3 Fix some installation problems on MS Windows.
Estimated hours taken: 1

Fix some installation problems on MS Windows.

Mmakefile:
	Fix a bug: the definitions of the variables
	PREINSTALL_HACK_FOR_WINDOWS and POSTINSTALL_HACK_FOR_WINDOWS
	preceded their use.  The fix was just to move the definitions
	closer to near the start of the file.

README.MS-Windows:
	Update the documentation to reflect gnu-win32 b18.
	Update the patch at the end to reflect the above change to Mmakefile.
1998-02-06 16:04:07 +00:00
Fergus Henderson
45b051eef5 Move most of the stuff in the patch file at the end of
Estimated hours taken: 1

Mmakefile:
README.MS-Windows:
	Move most of the stuff in the patch file at the end of
	README.MS-Windows into Mmakefile, because the patch file
	was a maintenence problem (people would change Mmakefile
	and not update the patch).
1997-11-21 12:02:41 +00:00
Tyson Dowd
7ce7d489a2 Cleaned up runtime directory.
Estimated hours taken: 2

Cleaned up runtime directory.

runtime/*.c:
	- Renamed all .c files as mercury_*.c
	  Some have been renamed to make their purpose clearer.
	  	call.mod -> mercury_ho_call.c

runtime/*.h:
	- Moved contents of .h files to mercury_*.h
	- *.h now contain #include mercury_*.h. They be removed later.
	- Updated references to conf.h -> mercury_conf.h

runtime/conf.h.in:
	- Renamed conf.h.in as mercury_conf.h.in.
	  Didn't leave a forwarding header for this one, as conf.h was
	  never part of the repository anyway.

runtime/Mmakefile:
	- Convert lists to one-per-line lists.
	- Add mercury_accurate_gc.h to HDRS.
	- Remove all .mod files
	- Make sure runtime.init uses the ORIG_CS not MOD_CS.
	- Fix the rules for "clean_o" and "clean_mod_c", which used
	  wildcards like "*.o" to remove files.  The one that removed
	  all .c files corresponding with *.mod, instead of using MOD_CS
	  was particularly vicious.
	- Cope with the file renamings.

configure.in:
	- Cope with the file renamings.
1997-11-20 02:04:40 +00:00
Fergus Henderson
da637eeb27 Delete all references to `lp_solve'. It is not needed anymore,
Estimated hours taken: 0.25

.README.in:
Mmakefile:
bindist/Mmakefile:
bindist/bindist.Makefile.in:
tools/bootcheck:
	Delete all references to `lp_solve'. It is not needed anymore,
	now that we have written our own solver.
1997-10-21 14:57:05 +00:00
Fergus Henderson
8c70c60703 If building or installing `lp_solve' fails, ignore the error.
Estimated hours taken: 0.25

Mmakefile:
	If building or installing `lp_solve' fails, ignore the error.
	This avoids portability problems with lp_solve's reliance
	on yacc and lex causing too much hassle...
1997-10-15 15:55:10 +00:00
Fergus Henderson
6addf3914c Change the rule for `mmake tar' so that the
Estimated hours taken: 0.25

Mmakefile:
	Change the rule for `mmake tar' so that the
	mercury-<version>-extras.tar.gz file will unpack into a subdirectory
	mercury-<version>/extras rather than into the directory
	mercury-<version>-extras.
1997-10-11 15:26:54 +00:00
Fergus Henderson
3b421523e0 Fix a couple of bugs in the Mmakefile stuff for the lp_solve directory.
Estimated hours taken: 0.25

Fix a couple of bugs in the Mmakefile stuff for the lp_solve directory.

Mmakefile:
	Add `lp_solve' target.

lp_solve/Mmakefile:
	Add dependency so that `install_lp_solve' will build `lp_solve'
	before trying to install it.
1997-10-11 10:57:06 +00:00
Fergus Henderson
f6ef3ad51f Changes needed to include `lp_solve' in the Mercury distribution.
Estimated hours taken: 2

Changes needed to include `lp_solve' in the Mercury distribution.
Note that these changes include it in the main distribution; that is temporary.
For copyright reasons, it ought to be moved to the `extras' distribution,

lp_solve/lpkit.h:
	Delete definition of `NULL' that conflicted with system header files.

lp_solve/COPYING:
	New file, explaining the copying policy.

lp_solve/Mmakefile:
	New file, contains rules for building and installing lp_solve.

Mmakefile:
bindist/Mmakefile:
bindist/bindist.Makefile.in:
	Add rules for installing lp_solve and for including it in the
	source and binary distributions.

.README.in:
	Mention lp_solve.
1997-10-09 14:04:31 +00:00
Fergus Henderson
11a58b232c Fix a bug in the rule for install_grades that broke the
Estimated hours taken: 3

Mmakefile:
        Fix a bug in the rule for install_grades that broke the
        libraries installed for grade `asm_fast.gc.tr' on
        mercury.cs.mu.oz.au.  The problem was that it was not
        removing the C files in the library directory, which had
        been generated for a different grade, before making the new grade.
1997-10-07 11:05:09 +00:00
Tyson Dowd
2e697fdd3c Split the distribution into
Estimated hours taken: 0.5

Split the distribution into
	mercury-$VERSION.tar.gz		(main distribution)
	mercury-$VERSION-extras.tar.gz 	(extras directory)

Mmakefile:
	Change rule for `tar' target to build
	mercury-$(VERSION)-extras.tar.gz as well, and not put
	extras in the main distribution.

tools/test_mercury:
	Deal with extras tar files when creating stable releases, and
	putting them on the ftp site.
1997-09-18 06:04:12 +00:00
Fergus Henderson
3c386fb2e8 In the rule for `mmake tar', make sure that README and INSTALL
Estimated hours taken: 0.1

Mmakefile:
	In the rule for `mmake tar', make sure that README and INSTALL
	are up-to-date.
1997-07-28 15:09:34 +00:00
Fergus Henderson
9777cf86b5 Localize the definition of the version number into a single file.
Estimated hours taken: 2

Localize the definition of the version number into a single file.
Automate the building of releases, including daily "rotd"
(release-of-the-day) releases.

VERSION:
	New file, defines the version number.
	Also document the general scheme for assigning version numbers.

Mmake.common.in:
	Add `include VERSION'.

Mmakefile:
bindist/Mmakefile:
configure.in:
	Use the version number in VERSION rather than hard-coding it
	in multiple places.

Mmakefile:
README:
.README.in:
INSTALL:
.INSTALL.in:
	Change things so that README and INSTALL are automatically
	generated from .README.in and .INSTALL.in respectively, using
	the version number defined in VERSION.

BUGS:
	Remove an unnecessary reference to the version number.

RELEASE_NOTES:
	Change this file so that the version number is only mentioned
	in one place.  Bump the version number here to 0.7 in preparation
	for the next release.

library/Mmakefile:
library/library.m:
library/library.m.in:
	Change things so that library.m is automatically generated from
	library.m.in using the version number in VERSION.
	Also change it so that library__version says which architecture
	it was configured for.

tools/test_mercury:
	Override the version specified in the VERSION file in the CVS
	repository with either `rotd-YYYY-MM-DD' or (when making a release)
	with a specified $RELEASE_VERSION.
	When running on murliboobo, if the version built passes all its
	tests, copy it to the /pub/mercury/beta-releases directory on
	ftp://turiel.cs.mu.oz.au.

compiler/notes/release_checklist.m:
	Change the release checklist to say that you only need to
	update the version number in VERSION rather than in 6 different
	places.  Also change the procedure for building the final
	tar file to reflect the above changes to the `test_mercury' script.
1997-07-28 08:51:53 +00:00
Fergus Henderson
e1f4f14638 Update the copyright messages so that (a) they contain the correct years
Estimated hours taken: 1.5

Update the copyright messages so that (a) they contain the correct years
and (b) they say "Copyright (C) ... _The_ University of Melbourne".
1997-07-27 14:58:47 +00:00
Fergus Henderson
8122fe73ef Fix a warning about the rule for making `library/library.init'
Estimated hours taken: 0.5

Fix a warning about the rule for making `library/library.init'
clashing with the default rule for creating a `.init' file
in the automatically-generated `library/library.dep' file.
The initialization for the library is different to the
standard automatically-generated initialization, because
the library contains C code that needs explicit initialization.
(because it has BEGIN_MODULE ... END_MODULE macros in it); this
C code hence has `INIT blah' comments in it naming functions that
need to be inserted in the `.init' file so that they will be called
at initialization time.

Mmakefile:
library/Mmakefile:
compiler/Mmakefile:
profiler/Mmakefile:
tools/bootcheck:
tools/linear:
tools/binary:
	s/library.init/libmercury.init/g
1997-07-21 06:26:10 +00:00
Fergus Henderson
007c1a94d1 Change the rule for `mmake tar' so that it includes the test
Estimated hours taken: 1

mercury/Mmakefile:
	Change the rule for `mmake tar' so that it includes the test
	directory but does not include the `trial', `bytecode',
	or `lp_solve' directories.
1997-06-10 02:19:06 +00:00
Fergus Henderson
ddb73722b9 Rename all the Mmake' files as Mmakefile'. This is necessary to
avoid confusion between `Mmake' and `mmake' on case-insensitive file
systems.
1997-02-13 21:38:45 +00:00