Commit Graph

32 Commits

Author SHA1 Message Date
Zoltan Somogyi
3e47a55862 Warn about bugs in Xcode 11.
README.MacOS:
    Mention the bug in Xcode 11 prior to Xcode 11.4, and provide pointers
    to both the problem and its solution.

configure.ac:
    When run on MacOS, print a warning and point to README.MacOS.
2020-05-07 21:48:11 +10:00
Julien Fischer
ed7a834325 Adjust the release notes.
RELEASE_NOTES:
    Adjust the list of systems we have tested on.

README.MacOS:
    Be clear that this document covers all version of macOS.
2020-01-21 20:10:04 +11:00
Julien Fischer
4bbc1e48eb Make mdb interactive queries work on OS X.
browser/interactive_query.m:
    Use '.dylib' as the extension for the shared library we generate for
    interactive queries when on OS X.  (While '.so' would work in principle,
    its use is unusual on OS X and the Mercury compiler will always use
    '.dylib' anyway.)

    Replace some sequences of I/O operations with single calls to io.format
    so that message components are not spread over multiple lines.

    Add an XXX comment about object file extensions.

    Update comments that refer to 'libquery' rather than 'libmdb_query'.

README.MacOS:
    Delete interactive queries from the list of unsupported features.

tests/debugger/interactive.exp:
    Update this expected output.  The changes are due to earlier
    changes to the formatting and presentation of error messages.
2015-08-21 22:15:30 +10:00
Peter Wang
a65336fad2 Remove documentation for --cross-compiling option.
README.Linux:
README.MacOS:
README.MinGW-cross:
compiler/options.m:
	Remove or comment out references to the `--cross-compiling'
	option which has no effect now.
2015-03-27 12:06:31 +11:00
Julien Fischer
7f8f4486e8 Enable the asm_fast* (and reg*) grades on x86_64 OS X machines.
configure.ac:
	Do not set the LLDS base grade to 'none' if we are on 64-bit OS X and
	we are using GCC 4.3 onwards.  (Older versions of GCC are either
	broken or do not work on this platform anyway.)

README.MacOS:
	Mention that the asm_fast* and reg* grades do work on x86_64
	systems.
NEWS:
	Announce that the asm_fast* and reg* grades are now supported
	on x86_64 OS X machines.
2014-09-04 17:20:40 +10:00
Julien Fischer
19b9ba9eb0 Update README.MacOS.
Update README.MacOS to cover version 10.9  (Xcode 5).

README.MacOS:
	Add a contents section to the top of this file.

	Merge the sections covering Mac OS X 10.5 - 10.8 into one section that
	also covers 10.9.

	The source distribution will no longer be built in the none.gc grade.

	Add separate sections discussing Xcode 4 and Xcode 5 specific issues.

        Mention that Homebrew and Fink are also a source of GCC packages for
   	Mac OS X (in addition to MacPorts).

	Mac OS 10.3 was only supported on PowerPC machines, not as we seem
	to suggest here also Intel machines.
2014-02-03 16:33:08 +11:00
Julien Fischer
9c8b7e4868 Improve handling of the deployment target setting on Mac OS X.
Due to matching against hardcoded versions of Darwin in the configure script
the deployment target for recent versions (10.7 and later) of Mac OS X was being
incorrectly set to 10.3.  This diff makes several changes to the handling of the
deployment target setting on Mac OS X:

- The default deployment target is now set to the same version as the host
  system.  (This is more consistent with the default XCode behaviour.)

- Matching against hardcoded versions of Darwin in the configure script
  for this purpose has been removed.

- There is a new option for the configure script,
  `--with-macosx-deployment-target', that allows the user to control
  what the deployment target for use with Mercury is.

configure.ac:
	Don't determine the deployment target by matching against hardcoded
	versions of Darwin -- we had failed to update this for several
	versions.

	By default set the deployment target to be the same version as
	the host system.

	Add a new option for overriding the default setting of the
	deployment target.

	s/doesn't/does not/ in a spot in order to prevent syntax
	highlighting in vim from going stupid.

README.MacOS:
	Add a paragraph describing how the deployment target is set
	for Mercury and pointing the user towards Apple's documentation
	if they require further information.

NEWS:
	Announce the change to the default value of the deployment
	target setting.
2014-01-22 12:43:41 +11:00
Julien Fischer
adccf1f520 More documentation updates.
.README.in:
	The contents of java/runtime come under the LGPL as well.

	Minor rewording.

README.MS-Windows:
	We don't need to list every version of Windows we no longer
	actively support.  (If the version is not on the list of those
	we *do* support, then we don't support it.)

README.MacOS:
	We will never support compiling Mercury with llvm-gcc on
	Mac OS X 10.5 and 10.6.
2013-04-29 16:33:19 +10:00
Julien Fischer
7a88a7a98a Update for Mac OS 10.8.
Branches: main, 12.08

README.MacOS:
    Update for Mac OS 10.8.
2012-11-05 06:20:22 +00:00
Julien Fischer
3314774806 Update some documentation
Branche: main, 11.07

Update some documentation

README.Erlang:
	Mention the minimum required version of Erlang/OTP.

README.MacOS:
	Mention that with XCode 4 gcc is actually a symlink for llvm-gcc.
2011-12-20 06:40:02 +00:00
Julien Fischer
71fda0b7f8 Documentation updates.
Branches: main, 11.07

Documentation updates.

NEWS:
	Announce that we are compatible with Java 1.7.

README.MacOS:
	llvm-gcc is no longer supported in LLVM.
2011-12-02 05:04:21 +00:00
Julien Fischer
428c38cd74 Explain the situation regarding XCode 4 and llvm-gcc.
Branches: main, 11.07

README.MacOS:
	Explain the situation regarding XCode 4 and llvm-gcc.
2011-11-23 06:19:49 +00:00
Julien Fischer
7201012038 Fix an XXX related to clang and shared libraries on Mac OS X.
Branches: main, 11.07

Fix an XXX related to clang and shared libraries on Mac OS X.

configure.in:
	Use clang not gcc on Mac OS X for building shared libraries when using
	clang as a C compiler.

	Delete support for using flat namespaces with dylibs.  This was
	only necessary for creating dylibs that would work on Mac OS X 10.2
	and before; now it's no longer worth maintaining the code in the
	configure script that allowed it.

README.MacOS:
	Conform to the above change.
2011-08-25 17:48:32 +00:00
Julien Fischer
96c68d4157 Support using clang as a C compiler with Mercury -- currently only
Branches: main, 11.07

Support using clang as a C compiler with Mercury -- currently only
tested on Mac OS X.

Clean up the handling of C compilers in the configure script.

configure.in:
	Improve this script's ability to distinguish between different
	types of C compiler.  In particular, ensure that a clear
	distinction is maintained between clang and gcc.

	Fix an old XXX: don't rely on pattern matching on the value
	of $CC to determine the C compiler type.  This is particularly
	error prone now since one compiler is named "clang" and another
	"cl".

	Set optimization and warning flags for clang.
	(XXX this is currently very conservative; we need to go through
	them and work out what good defaults might be.)

	Don't link against libgcc if we are using clang.
	(XXX I don't think this is really necessary for gcc either in
	the great majority of cases.)

	Mark spots that still need updating with "XXX CLANG"; I will
	look into these separately.

aclocal.m4:
	Add a new macro that determines the C compiler type based
	on what builtin macros are defined -- unlike AC_PROG_CC
	this macro correctly distinguishes between gcc and clang.

	Add two new macros that determine version information for
	clang and for Visual C.

scripts/mgnuc.in:
scripts/ml.in:
	Handle clang

README.MacOS:
	Mention that clang can be used with Mercury on Mac OS X.
2011-08-25 14:16:53 +00:00
Julien Fischer
aa0a6ae5ac Reword the section on which grades are available on Mac OS
Branches: main, 11.01

README.MacOS:
	Reword the section on which grades are available on Mac OS
	10.5 and 10.6.

	Mention that hlc.gc will be used as the default grade for
	building applications.
2011-03-17 05:58:05 +00:00
Julien Fischer
653b30da6d Mention that the csharp grade works on Mac OS X with Mono.
Branches: main, 11.01

README.MacOS:
	Mention that the csharp grade works on Mac OS X with Mono.
2011-01-07 06:15:43 +00:00
Ian MacLarty
9d016776b8 Suggest removing fink from the PATH if, after installing Mercury, the
README.MacOS:
	Suggest removing fink from the PATH if, after installing Mercury, the
	user gets errors about missing .mih files.
	I had this problem and removing fink from my PATH fixed it (though I
	don't know why).
2010-09-06 07:09:46 +00:00
Julien Fischer
0d365e3556 The advice conerning 64-bit Mercury here only applies to
Branches: main, 10.04

README.MacOS:
	The advice conerning 64-bit Mercury here only applies to
	x86-64 machines.
2010-07-13 05:48:19 +00:00
Julien Fischer
ef02c69336 Add a note about a problem that can arise when bootstrapping a 64-bit
Branches: main, 10.04

README.MacOS:
	Add a note about a problem that can arise when bootstrapping a 64-bit
	Mercury compiler using a 32-bit one and vice versa.
2010-06-09 04:38:28 +00:00
Julien Fischer
9af4c16339 Update README.MacOS.
Branches: 10.04, main

Update README.MacOS.

README.MacOS:
	Split the documentation for the OS X port into three sections,
	one for 10.5 and 10.6, one for 10.3 and 10.4, and a final one
	for anything older than that.

	Describe how to build a 32-bit Mercury installation on 10.6.
	(And a 64-bit one on 10.5)

	Mention that the Java and Erlang grades work on 10.{5,6}.

	Mention that llvm-gcc and clang currently don't work with Mercury.
	(IIRC, one can't compile the Boehm GC and the other trips up with
	something involving static data -- similar problems seem to occur
	on Linux with those compilers as well.)

	According to the GCC bug database, bug #10901 also affects gcc on i686.
	(This bug was the reason asm_fast did not work powerpc-*-darwin*.)
	Update our description of this problem.

	Mention that the --linkage static option doesn't work on Mac OS X,
	in addition to mentioning that MLFLAGS=-static doesn't work.

	Mention that versions of Safari greater than 1.5 are fine with
	the deep profiler, rather than Safari 2 specifically.
2010-05-20 05:09:27 +00:00
Ian MacLarty
2e859b4208 Get Mercury compiling on Mac OS X 10.6 (Darwin 10).
Mmake.common.in:
    Add ENABLE_BOEHM_XOPEN_SOURCE.

README.MacOS:
    Document that Mercury works on Mac OS X 10.5 and 10.6.
    Also document that it hasn't been tested on 10.3 for
    some time.

configure.in:
    Pass -m32 to gcc on Darwin 9 and 10, because our current version of boehm
    doesn't work on 64 bit Darwin.

    Define _XOPEN_SOURCE on Darwin 10 when compiling boehm to
    avoid errors about the functions in ucontext.h being deprecated.

    Don't pass -s to the linker on Darwin 9 and 10.

boehm_gc/Makefile:
    Include BOEHM_CFLAGS (generated by the Mercury configure script)
    in SPECIALCFLAGS which is used when compiling mach_dep.c so that
    _XOPEN_SOURCE is defined in mach_dep.c.

trace/mercury_event_scanner.l:
    Remove declaration of mercury_event_get_leng, because flex generates a
    different return value type depending on the platform (on Mac OS X 10.6 it
    returns yy_size_t while on Linux it returns int).
2009-10-10 10:44:13 +00:00
Ben Schmidt
f00a335697 Added documentation of a workaround for problems linking large
Estimated hours taken: 2 + many (20ish) looking at GCC, Darwin, PPC, etc.
Branches: main

README.MacOS:
	Added documentation of a workaround for problems linking large
	executables on PPC Darwin; read it for more info.
2007-01-11 02:18:29 +00:00
Julien Fischer
4f2517f7e0 Fix up some details concerning how to use Mercury with
Estimated hours taken: 0.1
Branches: main, release

README.MacOS:
	Fix up some details concerning how to use Mercury with
	the Apple builds of gcc.
2006-11-07 05:00:36 +00:00
Julien Fischer
234b4ee040 Delete the line about `--split-c-files' being unimplemented as
Estimated hours taken: 0
Branches: main

README.MacOS:
	Delete the line about `--split-c-files' being unimplemented as
	it is no longer supported.
2006-01-31 13:31:01 +00:00
Julien Fischer
74d1b77809 Update this file as we now have a lot more experience using Mercury
Estimated hours taken: 1
Branches: main, release

README.MacOS:
	Update this file as we now have a lot more experience using Mercury
	on this platform.

	Mention which versions of gcc are known to be comptabile with Mercury
	(and also some that aren't).

	Mention the problem with Apple's linker and linking large executables,
	like the compiler in debug grades.

	Explain why statically linking against system libraries won't work.

	Add section on the Mac OS X specific parts necessary for setting up
	the deep profiler.  Also mention that Safari 1.5 is particularly stable
	with the deep profiler.
2005-08-29 06:58:51 +00:00
Ian MacLarty
ea43cd038d Changes to get shared libraries to work on Mac OS X (Darwin).
Estimated hours taken: 20
Branches: main

Changes to get shared libraries to work on Mac OS X (Darwin).

This is phase 2 of 2.  Phase 1 added the compiler options described below.
Phase 2 uses these compiler options in the configuration scripts.

Darwin shared libraries have the extension `dylib' instead of `so'.  Also
objects that link to a shared library on Darwin don't need to be told the
runtime path in which they should look for the libraries, instead the
shared libraries themselves remember where they will be eventually installed
(called the install-name) and any object which links in the shared library will
get the install-name from the shared library at link time.  When a shared
library is built it has to be told where it will be installed which is what
the libtool -install_name option is used for on Darwin.

This diff only enables shared libraries on Darwin, not "bundles" which are
shared objects that can be loaded dynamically at runtime using something like
dlopen.  Therefore the interactive query tool in the debugger still doesn't
work on Mac OS X.

Added three new compiler options :

--shlib-linker-use-install-name :
	A boolean flag to tell the compiler to use the -install_name option
	when building shared libraries.  When this flag is set the following
	options have no effect: --linker-rpath-flag, --linker-rpath-separator,
	--shlib-linker-rpath-flag, --shlib-linker-rpath-separator.

--shlib-linker-install-name-flag :
	The flag name to use ("-install_name" for Darwin).

--shlib-linker-install-name-path :
	The path where the shared library will eventually end up, excluding the
	file name.  The file name is appended to the end before the option
	is passed on to the linker.

Mmake.common.in
	Added variables used for install-name on/off switch and flag name.

NEWS
	Mentioned shared libs working now on Mac OS X.

README.MacOS
	Removed bit about shared libs not working in Mac OS X.

configure.in
	Make shared libs the default when on Darwin and the compiler is gcc.

boehm_gc/Makefile
boehm_gc/Makefile.direct
	Added rule to make libgc.dylib and set the install-name correctly.

boehm_gc/Mmakefile
	Set variable used in boehm_gc/Makefile to get the final install path
	of the gc shared lib.

browser/Mercury.options
	Added mer_mdbcomp library for target libmer_browser.dylib.

browser/Mmakefile
	Added --shlib-linker-install-name-path option to MC options.

doc/user_guide.texi
	Documented the --shlib-linker-install-name-path option.  The other
	options will be automatically set by the configure script and
	should never need to be set by the user, so they're not documented in
	the user guide.

runtime/Mmakefile
	Added rule to make the Darwin shared library.

scripts/Mercury.config.bootstrap.in
	Added default values for --shlib-linker-use-install-name and
	--shlib-linker-install-name-flag.

scripts/Mercury.config.in
	Added default values for --shlib-linker-use-install-name and
	--shlib-linker-install-name-flag.

trace/Mmakefile
	Added rule to make the Darwin shared library.
2004-10-19 06:01:38 +00:00
Julien Fischer
8d77ab7688 Mercury also compiles with gcc 3.3, 3.4.1 and 3.4.2 on
README.MacOS:
	Mercury also compiles with gcc 3.3, 3.4.1 and 3.4.2 on
	MacOS 10.3.3.  Update this file accordingly.
2004-10-04 06:45:13 +00:00
Fergus Henderson
ae1ee1ed28 Some minor rewordings. Move important information to the start.
Estimated hours taken: 0.1
Branches: main

README.MacOS:
	Some minor rewordings.  Move important information to the start.
2004-05-30 23:24:09 +00:00
Ian MacLarty
1aefbdaa47 Notes on compiling Mercury on MacOS 10.3
Estimated hours taken: 0:10

Notes on compiling Mercury on MacOS 10.3

README.MacOS:
	New version of tar seems to work fine.
	Mercury compiles using gcc 3.4.
2004-05-19 06:36:02 +00:00
Fergus Henderson
157f7e3f82 Mention which features are not supported.
Estimated hours taken: 0.1
Branches: main

README.MacOS:
	Mention which features are not supported.
2002-10-25 07:31:11 +00:00
Fergus Henderson
cd8159d6ef Some more changes for MacOS.
Estimated hours taken: 1
Branches: main

Some more changes for MacOS.

aclocal.m4:
	Define a macro MERCURY_CHECK_CC_NEEDS_CPP_PRECOMP,
	to check whether we need to append `-traditional-cpp' to $CC.

configure.in:
bindist/bindist.configure.in:
	Use the new macro.

README.MacOS:
	Update the documentation: users don't need to configure using
	`--with-cc="cc --traditional-cpp"' any more.
2002-10-03 03:25:06 +00:00
Fergus Henderson
25e196cb26 New file. Documents the powerpc-apple-darwin port.
Estimated hours taken: 0.5
Branches: main

README.MacOS:
	New file.  Documents the powerpc-apple-darwin port.
2002-09-11 14:29:00 +00:00