Commit Graph

20 Commits

Author SHA1 Message Date
Julien Fischer
5f6981c7de Delete ancient workaround for g++ 2.7.
samples/c_interface/cplusplus_calls_mercury/Mmakefile:
samples/c_interface/mercury_calls_cplusplus/Mmakefile:
samples/c_interface/simpler_cplusplus_calls_mercury/Mmakefile:
     As above.
2023-03-11 14:21:10 +11:00
Julien Fischer
0cd62edc7c Clean-ups and fixes for the C interface examples.
samples/c_interface/*:
    Replace left over references to the old c_header_code pragma.

    Replace some uses of '__' as a module qualifier.

    Replace tabs with spaces.

    Add some missing words.
2023-02-25 12:53:26 +11:00
Julien Fischer
90ceef4065 Add missing interface declarations.
samples/c_interface/simpler_c_calls_mercury/c_main.m:
samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.m:
    As above.
2022-03-25 12:24:00 +11:00
Matthias Güdemann
1b1ae35efb fix C macro name in C++ FFI example
This fixes the macro usage for `MR_list_is_empty(list)' in file
`samples/c_interface/simpler_cplusplus_calls_mercury/main.cc`.
2015-03-04 11:05:24 +01: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
553fb3f7d9 Use pragma foreign_export' in preference to pragma export' throughout
Estimated hours taken: 1
Branches: main

Use `pragma foreign_export' in preference to `pragma export' throughout
the Mercury distribution.

Convert more of the extras distribution to four-space indentation and
other minor cleanups.

browser/*.m:
library/*.m:
samples/*:
extras/*:
	As above.
2006-08-31 11:09:54 +00:00
Julien Fischer
daf357952d Update these files to conform to the current version of the
Estimated hours taken: 0
Branches: main

samples/c_interface/simpler_c_calls_mercury/mercury_lib.m:
samples/c_interface/simpler_cplusplus_calls_mercury/mercury_lib.m:
	Update these files to conform to the current version of the
	standard library.
2006-06-26 06:04:27 +00:00
Julien Fischer
fa555e1b36 Use '.' as the module qualifier instead of '__'.
Estimatd hours taken: 0.5
Branches: main

samples/*.m:
	Use '.' as the module qualifier instead of '__'.

	Use the new foreign language interface.

	Fix minor formatting issues.

	Use state variables for passing the I/O state.
2006-03-21 00:51:03 +00:00
Fergus Henderson
b13d2b7573 Get the simpler "C++ calls Mercury" sample working again.
Estimated hours taken: 0.1
Branches: main

Get the simpler "C++ calls Mercury" sample working again.

samples/c_interface/simpler_cplusplus_calls_mercury/main.cc:
	s/mercury_lib.h/mercury_lib.mh/

samples/c_interface/simpler_cplusplus_calls_mercury/Mmakefile:
	Link in -lstdc++, since recent versions of GNU C++ require this.
	Delete most of the mentions of mercury_lib.h, since they
	are now handled automatically by Mmake.
	s/mercury_lib.h/mercury_lib.mh/
2004-02-16 21:58:22 +00:00
Fergus Henderson
088a269a3d Add missing `MR_' prefixes.
Estimated hours taken: 0.25
Branches: main

samples/c_interface/c_calls_mercury/c_main.c:
samples/c_interface/cplusplus_calls_mercury/cpp_main.cc:
samples/c_interface/simpler_c_calls_mercury/main.c:
samples/c_interface/simpler_cplusplus_calls_mercury/main.cc:
	Add missing `MR_' prefixes.
2002-02-06 09:01:38 +00:00
Simon Taylor
66bf99c9d6 Simplify the simpler_c_calls_mercury and
Estimated hours taken: 0.25
Branches: main

Simplify the simpler_c_calls_mercury and
simpler_cplusplus_calls_mercury samples to
avoid explicit construction of the `ml' command line.

samples/c_interface/simpler_c_calls_mercury/c_main.c:
	Renamed as main.c.

samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.cc:
	Renamed as main.cc.

samples/c_interface/simpler_c_calls_mercury/c_main.m:
samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.m:
	Empty main modules, used to set the name executable
	produced by mmake.

samples/c_interface/simpler_cplusplus_calls_mercury/Mmakefile:
samples/c_interface/simpler_c_calls_mercury/Mmakefile:
	Handle file renamings.

	Remove explicit rules to build executables.

	Remove unnecessary header file dependencies.
2001-12-21 06:37:46 +00:00
Simon Taylor
da2e0433c6 Use C2INITARGS or MLFLAGS instead of C2INITFLAGS.
Estimated hours taken: 0.25
Branches: main

bytecode/Mmakefile:
compiler/Mmakefile:
extras/aditi/Mmakefile:
extras/curses/sample/Mmakefile:
extras/graphics/samples/calc/Mmakefile:
extras/graphics/samples/maze/Mmakefile:
extras/graphics/samples/pent/Mmakefile:
extras/morphine/non-regression-tests/Mmakefile:
samples/c_interface/simpler_c_calls_mercury/Mmakefile:
samples/c_interface/simpler_cplusplus_calls_mercury/Mmakefile:
tests/benchmarks/Mmakefile:
tests/debugger/Mmakefile:
tests/debugger/declarative/Mmakefile:
tests/hard_coded/Mmakefile:
	Use C2INITARGS or MLFLAGS instead of C2INITFLAGS.
2001-12-19 15:08:30 +00:00
Simon Taylor
319df48866 Remove the RM_C mmake variable, which controlled whether the intermediate
Estimated hours taken: 0.5
Branches: main

Remove the RM_C mmake variable, which controlled whether the intermediate
`.c' files were removed (now they never are).

The implementation was buggy (it didn't work with parallel makes), and
made it difficult to avoid always recompiling the `.c' file with smart
recompilation.

Mmake.common.in:
configure.in:
README.AIX:
bindist/bindist.build_vars.in:
bindist/bindist.configure.in:
scripts/Mmake.vars.in:
scripts/Mmake.rules:
compiler/modules.m:
tools/bootcheck:
tools/binary_step:
*/Mmakefile:
	Remove references to RM_C, DEFAULT_RM_C and LIBRARY_RM_C.

compiler/modules.m:
	The `.o' and `.pic_o' file now depends only on the `.c' file,
	not on everthing the `.c' file depends on. The extra dependencies
	were only needed because the intermediate `.c' file could
	be removed by RM_C. This change is needed to avoid recompiling
	unchanged `.c' files with smart recompilation.
2001-05-18 14:23:59 +00:00
Fergus Henderson
3f41481523 Fix some failing test cases in samples/c_interface.
Estimated hours taken: 2.5

Fix some failing test cases in samples/c_interface.
This fixes SourceForge bug report #131053.

samples/c_interface/cplusplus_calls_mercury/Mmakefile:
samples/c_interface/mercury_calls_cplusplus/Mmakefile:
samples/c_interface/simpler_cplusplus_calls_mercury/Mmakefile:
	Fix several bugs:
	- use $(MGNUC) rather than hard-coding mgnuc
	- pass $(ALL_GRADEFLAGS) $(ALL_MGNUCFLAGS) to mgnuc
	- pass $(ALL_GRADEFLAGS) $(ALL_MLFLAGS) to ml
	- s/*_REGS_H/MR_MACHDEPS_*_REGS_H/, to match
	  the renaming that was done a fair while back
	  in the runtime/machdeps/*.h.

samples/tests/c_interface/c_calls_mercury/Mmakefile:
	Add an explicit dependency to ensure that runtests makes
	the dependencies for the extra Mercury library used in
	this test case.
2001-02-05 09:35:56 +00:00
Tyson Dowd
71a07917dc Update the samples to use MR_ types and MR_ macros for
Estimated hours taken: 0.5

samples/c_interface/c_calls_mercury/c_main.c:
samples/c_interface/cplusplus_calls_mercury/cpp_main.cc:
samples/c_interface/simpler_c_calls_mercury/c_main.c:
samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.cc:
	Update the samples to use MR_ types and MR_ macros for
	creating lists.
2000-08-08 06:02:55 +00:00
Fergus Henderson
98b0afa001 Use clean_local' instead of clean' and `realclean_local' instead
Estimated hours taken: 0.75

Mmakefile:
*/Mmakefile:
*/*/Mmakefile:
*/*/*/Mmakefile:
	Use `clean_local' instead of `clean' and `realclean_local' instead
	of `realclean' where appropriate.  This is necessary now that
	`realclean' does not depend on `clean'.
1999-09-16 04:46:31 +00:00
Fergus Henderson
7d780ffe2a #include "mercury_init.h" instead of "init.h".
Estimated hours taken: 0.25

samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.cc:
	#include "mercury_init.h" instead of "init.h".
1998-09-02 06:49:19 +00:00
Fergus Henderson
2c4bd735b4 Add comment "This source file is hereby placed in the public domain".
Estimated hours taken: 0.25

samples/*:
	Add comment "This source file is hereby placed in the public domain".
1997-09-10 11:01:12 +00:00
Fergus Henderson
7d46fde7f3 Update to use the new mercury_init() and mercury_terminate()
samples/c_interface/simpler_c_calls_mercury/README:
samples/c_interface/simpler_c_calls_mercury/c_main.c:
samples/c_interface/simpler_c_calls_mercury/mercury_lib.m:
samples/c_interface/simpler_cplusplus_calls_mercury/README:
samples/c_interface/simpler_cplusplus_calls_mercury/cpp_main.cc:
samples/c_interface/simpler_cplusplus_calls_mercury/mercury_lib.m:
	Update to use the new mercury_init() and mercury_terminate()
	functions.
1997-09-06 13:04:32 +00:00
Fergus Henderson
cb3e03212c Add new directory with new files README, c_main.c, Mmakefile,
samples/c_interface/simpler_c_calls_mercury:
	Add new directory with new files README, c_main.c, Mmakefile,
	and mercury_lib.m.  These files demonstrate how to interface
	to C using a C main() top-level rather than with a Mercury
	main/2 top-level.

samples/c_interface/simpler_cplusplus_calls_mercury:
	Same as above, but using C++ rather than C.
1997-07-25 03:55:51 +00:00