Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Miscellaneous changes to improve flexibility of installation.

1) --enable-symlinks configure option (on by default)
2) --enable-multiple-versions configure option (off by default)
3) --enable-absolute-shared-libs configure option (on by default)
4) support for DESTDIR at "make install"
5) support for --bindir=BINDIR, --libdir=LIBDIR, ...
6) Gambit runtime option -:~~bin=BINDIR to override installation directory
7) ~~bin expands to BINDIR (or ~~/bin if none was specified)
8) make uninstall removes all the files that were installed (but not all the directories)
9) configure --help is much more accurate (the exception is that some of the directory specification options are not used, such as --pdfdir=...)
10) gsi -:s automatically loads ~~lib/syntax-case
  • Loading branch information...
commit 321d6cda27224fc217948cde0a7b1800b230952a 1 parent a648b60
@feeley authored
Showing with 2,205 additions and 851 deletions.
  1. +90 −39 INSTALL.txt
  2. +109 −59 bin/makefile.in
  3. +241 −60 configure
  4. +215 −50 configure.ac
  5. +1 −1  doc/checkdoc.scm
  6. +132 −102 doc/gambit-c.txi
  7. +87 −16 doc/makefile.in
  8. +1 −1  doc/square.scm
  9. +2 −2 examples/Xlib-simple/Xlib.scm
  10. +23 −11 examples/Xlib-simple/makefile.in
  11. +2 −2 examples/distr-comp/dc.scm
  12. +3 −3 examples/distr-comp/distr-comp.scm
  13. +23 −11 examples/distr-comp/makefile.in
  14. +21 −9 examples/makefile.in
  15. +23 −11 examples/misc/makefile.in
  16. +23 −11 examples/pi/makefile.in
  17. +2 −2 examples/pi/pi.scm
  18. +24 −12 examples/pthread/makefile.in
  19. +23 −11 examples/ring/makefile.in
  20. +2 −2 examples/ring/ring.scm
  21. +23 −11 examples/tcltk/makefile.in
  22. +3 −3 examples/tcltk/tcltk.scm
  23. +23 −11 examples/web-repl/makefile.in
  24. +2 −2 examples/web-repl/web-repl.scm
  25. +3 −3 examples/web-server/base64.scm
  26. +4 −4 examples/web-server/html.scm
  27. +2 −2 examples/web-server/http.scm
  28. +23 −11 examples/web-server/makefile.in
  29. +9 −9 examples/web-server/web-server.scm
  30. +3 −3 gsc/_gsc.scm
  31. +27 −12 gsc/_gsclib.scm
  32. +3 −3 gsc/fixnum.scm
  33. +96 −35 gsc/makefile.in
  34. +3 −3 gsi/_gsi.scm
  35. +2 −10 gsi/main.scm
  36. +96 −35 gsi/makefile.in
  37. +2 −1  include/gambit.h.in
  38. +55 −12 include/makefile.in
  39. +2 −2 include/stamp.h
  40. +27 −1 lib/_eval.scm
  41. +10 −10 lib/_gambit#.scm
  42. +6 −10 lib/_kernel.scm
  43. +30 −15 lib/_nonstd.scm
  44. +1 −1  lib/_repl.scm
  45. +3 −3 lib/digest.scm
  46. +2 −2 lib/gambit#.scm
  47. +21 −9 lib/guide/images/makefile.in
  48. +21 −9 lib/guide/makefile.in
  49. +104 −52 lib/main.c
  50. +85 −35 lib/makefile.in
  51. +171 −1 lib/os_files.c
  52. +6 −2 lib/os_files.h
  53. 0  {misc → lib}/psyntax69c.pp
  54. 0  {misc → lib}/psyntax69c.ss
  55. 0  {misc → lib}/psyntax73.pp
  56. 0  {misc → lib}/psyntax73.ss
  57. +2 −2 lib/r4rs#.scm
  58. +3 −3 lib/r5rs#.scm
  59. +3 −2 lib/setup.c
  60. 0  {misc → lib}/syntax-case-build
  61. 0  {misc → lib}/syntax-case-expand-file
  62. 0  {misc → lib}/syntax-case-postlude.scm
  63. +6 −6 {misc → lib}/syntax-case-prelude.scm
  64. +9 −9 {misc → lib}/syntax-case.scm
  65. +44 −14 makefile.in
  66. +57 −16 misc/makefile.in
  67. +2 −2 prebuilt/README
  68. +1 −1  prebuilt/macosx/build
  69. +2 −1  prebuilt/macosx/build-phase2.in
  70. +20 −8 prebuilt/macosx/makefile.in
  71. +17 −5 prebuilt/macosx/remote-shell
  72. +20 −8 prebuilt/makefile.in
  73. +1 −1  prebuilt/windows/build
  74. +2 −1  prebuilt/windows/build-phase2.in
  75. +20 −8 prebuilt/windows/makefile.in
  76. +17 −5 prebuilt/windows/remote-shell
  77. +30 −0 relpath
  78. +34 −22 tests/makefile.in
View
129 INSTALL.txt
@@ -1,7 +1,7 @@
Installation instructions for Gambit-C
======================================
- [Time-stamp: <2007-08-21 10:58:51 feeley>]
+ [Time-stamp: <2008-12-23 09:06:13 feeley>]
This directory contains a release of the Gambit-C Scheme programming
@@ -19,15 +19,15 @@ On most Unix platforms the system can be easily built, tested and
installed using the following commands:
% ./configure
- % make
- % make check
- % make install
% make bootstrap
+ % make check
+ % sudo make install
The configure script, which was generated by the "autoconf" tool,
-accepts command line options that control various features. It is
-***highly*** recommended to use the --enable-single-host option to
-improve the execution speed and compactness of the executables:
+accepts many command line options that control various features.
+
+It is ***highly*** recommended to use the --enable-single-host option
+to improve the execution speed and compactness of the executables:
% ./configure --enable-single-host
@@ -39,12 +39,16 @@ the system as the source code can take advantage of some GCC
extensions. Notably the use of GCC's computed gotos reduces the
execution time by roughly 35%.
-When using the GCC compiler it is recommended to use the
+When using some versions of the GCC compiler it is possible to use the
--enable-gcc-opts option to further improve the execution speed and
compactness of the executables:
% ./configure --enable-single-host --enable-gcc-opts
+Note that this option might degrade the execution speed, so it is best
+to build the system both ways and see which works best for your
+version of GCC.
+
These options are not used by default because compilation is much
longer and requires more RAM. In fact some platforms may not have
enough resources to build the system this way. With
@@ -68,6 +72,11 @@ by the compiler evolve and vary in computational complexity. Since
the C files are so large, the compile time is very sensitive to the
computational complexity of the optimization algorithms.
+Finally, in order to support installing multiple versions of Gambit,
+it is recommended to use these options:
+
+ % ./configure --enable-single-host --enable-multiple-versions
+
2) Other options of the "configure" script
==========================================
@@ -78,29 +87,59 @@ obtained with:
% ./configure --help
Most options are the same as for other autoconf generated configure
-scripts. For example, you can select the installation directory with
-the option --prefix:
+scripts. For example, you can select the central installation
+directory with the option --prefix:
- % ./configure --prefix=/u/feeley/my-gambit
+ % ./configure --prefix=/Users/feeley/my-gambit
% make install
- % ~/my-gambit/current/bin/gsi
- Gambit v4.0.0
+ % ~/my-gambit/bin/gsi
+ Gambit v4.4.0
...
If the --prefix option is not used, the default is to install all
-files in /usr/local/Gambit-C and its subdirectories.
+files in /usr/local/Gambit-C and its subdirectories, namely "bin",
+"lib", "include", etc. The files that would normally go in these
+subdirectories can be redirected to other directories using one of
+the following configure options:
+
+ --bindir=DIR executables (gsi, gsc, ...)
+ --libdir=DIR libraries (libgambc.a, syntax-case.scm, ...)
+ --includedir=DIR C header files (gambit.h, ...)
+ --docdir=DIR documentation (gambit-c.pdf, gambit-c.html, ...)
+ --infodir=DIR info documentation (gambit-c.info, ...)
+ --datadir=DIR read-only architecture-independent data (gambit.el)
+
+Note that the install target of the makefiles supports the DESTDIR
+environment variable which allows staging an install to a specific
+directory. The command:
+
+ % make install DESTDIR=/Users/feeley/stage
+
+will install all the files in /Users/feeley/stage as though it was the
+root of the filesystem. Note that the use of DESTDIR is incompatible
+with the combination of --enable-shared and
+--enable-absolute-shared-libs options.
The configure options which are specific to the Gambit-C system are:
--enable-single-host compile each Scheme module as a single C function
- --enable-inline-jumps Generate inline code for jumps
--enable-gcc-opts use expensive GCC optimizations
- --enable-char-size=N define Scheme character size in bytes (N = 1, 2 or 4)
--enable-cplusplus compile using C++ compiler
- --enable-guide include the Gambit Universal IDE
--enable-shared build the Scheme runtime system as a shared library
--enable-debug build system so that it can be debugged
--enable-profile build system so that it can be profiled
+ --enable-feedback1 build system to accumulate trial run data
+ --enable-feedback2 build system using trial run feedback
+ --enable-inline-jumps generate inline code for jumps
+ --enable-char-size=N Scheme character size in bytes (N = 1, 2 or 4)
+ --enable-ansi-c link only with ANSI C libraries
+ --enable-symlinks use symbolic links for installed files not in the
+ central installation directory
+ --enable-multiple-versions
+ multiple installed versions are supported
+ --enable-absolute-shared-libs
+ shared libraries should be linked to using an
+ absolute path
The option --enable-cplusplus should be used when applications
developped with the Gambit-C compiler are to be linked with code or
@@ -109,27 +148,36 @@ source code with a C++ compiler instead of a C compiler (this is
possible because the code generated by the Gambit-C compiler conforms
both to C and C++).
-[NOTE: Due to some last-minute makefile problems, GUIDE is not supported
-in this release.]
-The option --enable-guide will include the Gambit Universal IDE in the
-Gambit-C runtime system. The option --enable-cplusplus must be used
-when the option --enable-guide is used. The Gambit Universal IDE
-requires the Qt GUI library version 3.3. To include GUIDE it is
-necessary to first build the system without including GUIDE (to have a
-working Gambit-C compiler) and then rebuild the system with GUIDE
-enabled. For instance:
-
- % ./configure --enable-cplusplus
- % make bootstrap
- % make clean
- % ./configure --enable-cplusplus --enable-guide
- % make
-
The option --enable-shared will build a shared library for the
Gambit-C runtime system. This is not supported on all platforms.
-The option --enable-debug and --enable-profile are useful for
-debugging the system.
+The option --enable-debug and --enable-profile, --enable-feedback1, and
+--enable-feedback2 are useful for debugging the system.
+
+The option --enable-symlinks is useful when the --bindir, --libdir,
+... options are used. The files will actually be stored in the
+central installation directory and symbolic links to those files will
+be stored in the directories specified to --bindir, --libdir, ...
+
+The option --enable-multiple-versions allows multiple versions of
+Gambit to be installed. When it is enabled the path of the central
+installation directory (specified with --prefix) is automatically
+extended with a subdirectory which is the version number, and a
+"current" symbolic link points to the version subdirectory. All
+symbolic links created as a result of the --enable-symlinks option
+will refer to the files indirectly through the "current" symbolic
+link. Switching to a different version of Gambit can be done by
+simply redirecting the "current" symbolic link to another version
+subdirectory.
+
+When --enable-shared is used, the option --enable-absolute-shared-libs
+will install executables (for gsi and gsc) which contain references to
+the absolute paths of the libraries. This is necessary when multiple
+versions of Gambit are installed so that each executable refers to the
+appropriate Gambit shared library. This is the default behavior.
+Note that this option is incompatible with the use of DESTDIR because
+the executables can only be linked after the Gambit shared libraries
+are installed in their final destination.
By default the configure script will use the GCC compiler to build the
system, if it is available. To override this choice or to use special
@@ -207,10 +255,14 @@ Here is a description of the most useful "make" targets:
% make dist Creates a compressed tar file of
the system.
+ % make dist-devel Creates a compressed tar file of
+ the system including all the source code
+ management files.
+
% make doc Builds the documentation.
- % make hg-setup For initial setup of source code
- management using Mercurial. This should
+ % make rc-setup For initial setup of source code
+ management using git. This should
only be performed by the Gambit maintainers.
% make prebuilt Builds installers for Mac OS X and Windows.
@@ -218,8 +270,7 @@ Here is a description of the most useful "make" targets:
specific and is intended for the Gambit
maintainers.
- % make release Builds source tarball and installers and
- uploads them to the Gambit web site.
+ % make release Builds source tarball and installers.
Note: this make target is very platform
specific and is intended for the Gambit
maintainers.
View
168 bin/makefile.in
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES:
@@ -58,6 +70,13 @@ GENDISTFILES =
DISTFILES = $(RCFILES) $(GENDISTFILES)
+INSTFILES_BIN_PROG = gsc-cc-o.bat
+INSTFILES_BIN_LINK_GSI = six@exe@ gsi-script@bat@ six-script@bat@ \
+scheme-srfi-0@bat@ scheme-r5rs@bat@ scheme-r4rs@bat@ scheme-ieee-1178-1990@bat@
+INSTFILES_BIN_LINK_GSC = gsc-script@bat@
+INSTFILES_BIN_LINK = $(INSTFILES_BIN_LINK_GSI) $(INSTFILES_BIN_LINK_GSC)
+INSTFILES_BIN = $(INSTFILES_BIN_PROG) $(INSTFILES_BIN_LINK)
+
all: all-pre all-recursive all-post
all-pre:
@@ -70,7 +89,9 @@ gsc-cc-o.bat: makefile
echo "#! /bin/sh" > gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
echo "# Script parameters are passed in the following environment variables:" >> gsc-cc-o.bat; \
- echo "# GSC_CC_O_GAMBCDIR" >> gsc-cc-o.bat; \
+ echo "# GSC_CC_O_GAMBCDIR_BIN" >> gsc-cc-o.bat; \
+ echo "# GSC_CC_O_GAMBCDIR_INCLUDE" >> gsc-cc-o.bat; \
+ echo "# GSC_CC_O_GAMBCDIR_LIB" >> gsc-cc-o.bat; \
echo "# GSC_CC_O_OBJ_FILENAME" >> gsc-cc-o.bat; \
echo "# GSC_CC_O_C_FILENAME_DIR" >> gsc-cc-o.bat; \
echo "# GSC_CC_O_C_FILENAME_BASE" >> gsc-cc-o.bat; \
@@ -78,7 +99,9 @@ gsc-cc-o.bat: makefile
echo "# GSC_CC_O_LD_OPTIONS_PRELUDE" >> gsc-cc-o.bat; \
echo "# GSC_CC_O_LD_OPTIONS" >> gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
- echo "# echo GSC_CC_O_GAMBCDIR = \"\$${GSC_CC_O_GAMBCDIR}\"" >> gsc-cc-o.bat; \
+ echo "# echo GSC_CC_O_GAMBCDIR_BIN = \"\$${GSC_CC_O_GAMBCDIR_BIN}\"" >> gsc-cc-o.bat; \
+ echo "# echo GSC_CC_O_GAMBCDIR_INCLUDE = \"\$${GSC_CC_O_GAMBCDIR_INCLUDE}\"" >> gsc-cc-o.bat; \
+ echo "# echo GSC_CC_O_GAMBCDIR_LIB = \"\$${GSC_CC_O_GAMBCDIR_LIB}\"" >> gsc-cc-o.bat; \
echo "# echo GSC_CC_O_OBJ_FILENAME = \"\$${GSC_CC_O_OBJ_FILENAME}\"" >> gsc-cc-o.bat; \
echo "# echo GSC_CC_O_C_FILENAME_DIR = \"\$${GSC_CC_O_C_FILENAME_DIR}\"" >> gsc-cc-o.bat; \
echo "# echo GSC_CC_O_C_FILENAME_BASE = \"\$${GSC_CC_O_C_FILENAME_BASE}\"" >> gsc-cc-o.bat; \
@@ -94,7 +117,9 @@ gsc-cc-o.bat: makefile
echo "@echo off" > gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
echo "rem Script parameters are passed in the following environment variables:" >> gsc-cc-o.bat; \
- echo "rem GSC_CC_O_GAMBCDIR" >> gsc-cc-o.bat; \
+ echo "rem GSC_CC_O_GAMBCDIR_BIN" >> gsc-cc-o.bat; \
+ echo "rem GSC_CC_O_GAMBCDIR_INCLUDE" >> gsc-cc-o.bat; \
+ echo "rem GSC_CC_O_GAMBCDIR_LIB" >> gsc-cc-o.bat; \
echo "rem GSC_CC_O_OBJ_FILENAME" >> gsc-cc-o.bat; \
echo "rem GSC_CC_O_C_FILENAME_DIR" >> gsc-cc-o.bat; \
echo "rem GSC_CC_O_C_FILENAME_BASE" >> gsc-cc-o.bat; \
@@ -102,7 +127,9 @@ gsc-cc-o.bat: makefile
echo "rem GSC_CC_O_LD_OPTIONS_PRELUDE" >> gsc-cc-o.bat; \
echo "rem GSC_CC_O_LD_OPTIONS" >> gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
- echo "rem echo GSC_CC_O_GAMBCDIR = %GSC_CC_O_GAMBCDIR%" >> gsc-cc-o.bat; \
+ echo "rem echo GSC_CC_O_GAMBCDIR_BIN = %GSC_CC_O_GAMBCDIR_BIN%" >> gsc-cc-o.bat; \
+ echo "rem echo GSC_CC_O_GAMBCDIR_INCLUDE = %GSC_CC_O_GAMBCDIR_INCLUDE%" >> gsc-cc-o.bat; \
+ echo "rem echo GSC_CC_O_GAMBCDIR_LIB = %GSC_CC_O_GAMBCDIR_LIB%" >> gsc-cc-o.bat; \
echo "rem echo GSC_CC_O_OBJ_FILENAME = %GSC_CC_O_OBJ_FILENAME%" >> gsc-cc-o.bat; \
echo "rem echo GSC_CC_O_C_FILENAME_DIR = %GSC_CC_O_C_FILENAME_DIR%" >> gsc-cc-o.bat; \
echo "rem echo GSC_CC_O_C_FILENAME_BASE = %GSC_CC_O_C_FILENAME_BASE%" >> gsc-cc-o.bat; \
@@ -121,12 +148,12 @@ gsc-cc-o.bat: makefile
echo "" >> gsc-cc-o.bat; \
echo ":use_gcc.exe" >> gsc-cc-o.bat; \
echo "cd \"%GSC_CC_O_C_FILENAME_DIR%\"" >> gsc-cc-o.bat; \
- echo "gcc.exe -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fno-common -mieee-fp -shared -I\"%GSC_CC_O_GAMBCDIR%include\" -D___DYNAMIC -D___SINGLE_HOST -o \"%GSC_CC_O_OBJ_FILENAME%\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \"%GSC_CC_O_C_FILENAME_BASE%\" %GSC_CC_O_LD_OPTIONS%" >> gsc-cc-o.bat; \
+ echo "gcc.exe -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fno-common -mieee-fp -shared -I\"%GSC_CC_O_GAMBCDIR_INCLUDE%\" -D___DYNAMIC -D___SINGLE_HOST -o \"%GSC_CC_O_OBJ_FILENAME%\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \"%GSC_CC_O_C_FILENAME_BASE%\" %GSC_CC_O_LD_OPTIONS%" >> gsc-cc-o.bat; \
echo "goto end" >> gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
echo ":use_cl.exe" >> gsc-cc-o.bat; \
echo "cd \"%GSC_CC_O_C_FILENAME_DIR%\"" >> gsc-cc-o.bat; \
- echo "cl.exe -nologo -Oityb1 -MT -D_CRT_SECURE_NO_DEPRECATE -LD -I\"%GSC_CC_O_GAMBCDIR%include\" -D___DYNAMIC -D___SINGLE_HOST -Fe\"%GSC_CC_O_OBJ_FILENAME%\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \"%GSC_CC_O_C_FILENAME_BASE%\" %GSC_CC_O_LD_OPTIONS%" >> gsc-cc-o.bat; \
+ echo "cl.exe -nologo -Oityb1 -MT -D_CRT_SECURE_NO_DEPRECATE -LD -I\"%GSC_CC_O_GAMBCDIR_INCLUDE%\" -D___DYNAMIC -D___SINGLE_HOST -Fe\"%GSC_CC_O_OBJ_FILENAME%\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \"%GSC_CC_O_C_FILENAME_BASE%\" %GSC_CC_O_LD_OPTIONS%" >> gsc-cc-o.bat; \
echo "goto end" >> gsc-cc-o.bat; \
echo "" >> gsc-cc-o.bat; \
echo ":use_build_time_c_compiler" >> gsc-cc-o.bat; \
@@ -206,62 +233,85 @@ scheme-ieee-1178-1990@bat@: makefile
install-pre:
install-post: all
- $(srcdirpfx)$(rootfromhere)/mkidirs $(bindir)
- rm -f $(bindir)/gsc-cc-o.bat \
- $(bindir)/six@exe@ $(bindir)/six@exe@.lnk \
- $(bindir)/gsi-script@bat@ $(bindir)/gsi-script@bat@.lnk \
- $(bindir)/gsc-script@bat@ $(bindir)/gsc-script@bat@.lnk \
- $(bindir)/six-script@bat@ $(bindir)/six-script@bat@.lnk \
- $(bindir)/scheme-srfi-0@bat@ $(bindir)/scheme-srfi-0@bat@.lnk \
- $(bindir)/scheme-r5rs@bat@ $(bindir)/scheme-r5rs@bat@.lnk \
- $(bindir)/scheme-r4rs@bat@ $(bindir)/scheme-r4rs@bat@.lnk \
- $(bindir)/scheme-ieee-1178-1990@bat@ $(bindir)/scheme-ieee-1178-1990@bat@.lnk
- $(INSTALL_PROGRAM) gsc-cc-o.bat $(bindir)/gsc-cc-o.bat
- if test "@bat@" = ""; then \
- (cd $(bindir) && $(LN_S) gsi@exe@ six@exe@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ gsi-script@bat@); \
- (cd $(bindir) && $(LN_S) gsc@exe@ gsc-script@bat@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ six-script@bat@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ scheme-srfi-0@bat@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ scheme-r5rs@bat@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ scheme-r4rs@bat@); \
- (cd $(bindir) && $(LN_S) gsi@exe@ scheme-ieee-1178-1990@bat@); \
- else \
- $(INSTALL_PROGRAM) six@exe@ $(bindir)/six@exe@; \
- $(INSTALL_PROGRAM) gsi-script@bat@ $(bindir)/gsi-script@bat@; \
- $(INSTALL_PROGRAM) gsc-script@bat@ $(bindir)/gsc-script@bat@; \
- $(INSTALL_PROGRAM) six-script@bat@ $(bindir)/six-script@bat@; \
- $(INSTALL_PROGRAM) scheme-srfi-0@bat@ $(bindir)/scheme-srfi-0@bat@; \
- $(INSTALL_PROGRAM) scheme-r5rs@bat@ $(bindir)/scheme-r5rs@bat@; \
- $(INSTALL_PROGRAM) scheme-r4rs@bat@ $(bindir)/scheme-r4rs@bat@; \
- $(INSTALL_PROGRAM) scheme-ieee-1178-1990@bat@ $(bindir)/scheme-ieee-1178-1990@bat@; \
+ c_bindir=$(DESTDIR)$(prefix)/bin; \
+ i_bindir=$(DESTDIR)$(bindir); \
+ t_bindir=$$i_bindir; \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$i_bindir; \
+ if test "@ENABLE_SYMLINKS@" = "yes"; then \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$c_bindir; \
+ t_bindir=$$c_bindir; \
+ fi; \
+ for file in $(INSTFILES_BIN_LINK); do \
+ rm -f $$t_bindir/$$file $$t_bindir/$$file.lnk; \
+ done; \
+ for file in $(INSTFILES_BIN_PROG); do \
+ $(INSTALL_PROGRAM) $$file $$t_bindir/$$file; \
+ done; \
+ for file in $(INSTFILES_BIN_LINK_GSI); do \
+ (cd $$t_bindir && $(LN_S) gsi@exe@ $$file); \
+ done; \
+ for file in $(INSTFILES_BIN_LINK_GSC); do \
+ (cd $$t_bindir && $(LN_S) gsc@exe@ $$file); \
+ done; \
+ if test "$$t_bindir" != "$$i_bindir"; then \
+ r_bindir=`$(rootfromhere)/relpath "$$t_bindir" "$$i_bindir" @ENABLE_MULTIPLE_VERSIONS@`; \
+ for file in $(INSTFILES_BIN_LINK); do \
+ rm -f $$i_bindir/$$file $$i_bindir/$$file.lnk; \
+ done; \
+ for file in $(INSTFILES_BIN); do \
+ (cd $$i_bindir && $(LN_S) $$r_bindir$$file $$file); \
+ done; \
fi
uninstall-pre:
uninstall-post:
- rm -f $(bindir)/gsc-cc-o.bat \
- $(bindir)/six@exe@ $(bindir)/six@exe@.lnk \
- $(bindir)/gsi-script@bat@ $(bindir)/gsi-script@bat@.lnk \
- $(bindir)/gsc-script@bat@ $(bindir)/gsc-script@bat@.lnk \
- $(bindir)/six-script@bat@ $(bindir)/six-script@bat@.lnk \
- $(bindir)/scheme-srfi-0@bat@ $(bindir)/scheme-srfi-0@bat@.lnk \
- $(bindir)/scheme-r5rs@bat@ $(bindir)/scheme-r5rs@bat@.lnk \
- $(bindir)/scheme-r4rs@bat@ $(bindir)/scheme-r4rs@bat@.lnk \
- $(bindir)/scheme-ieee-1178-1990@bat@ $(bindir)/scheme-ieee-1178-1990@bat@.lnk
+ c_bindir=$(DESTDIR)$(prefix)/bin; \
+ i_bindir=$(DESTDIR)$(bindir); \
+ t_bindir=$$i_bindir; \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$i_bindir; \
+ if test "@ENABLE_SYMLINKS@" = "yes"; then \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$c_bindir; \
+ t_bindir=$$c_bindir; \
+ fi; \
+ for file in $(INSTFILES_BIN_LINK); do \
+ rm -f $$t_bindir/$$file $$t_bindir/$$file.lnk; \
+ done; \
+ for file in $(INSTFILES_BIN_PROG); do \
+ rm -f $$t_bindir/$$file; \
+ done; \
+ if test "$$t_bindir" != "$$i_bindir"; then \
+ for file in $(INSTFILES_BIN_LINK); do \
+ rm -f $$i_bindir/$$file $$i_bindir/$$file.lnk; \
+ done; \
+ for file in $(INSTFILES_BIN_PROG); do \
+ rm -f $$i_bindir/$$file; \
+ done; \
+ fi; \
+ rmdir $$t_bindir 2> /dev/null; \
+ if test "$$t_bindir" != "$$i_bindir"; then \
+ rmdir $$i_bindir 2> /dev/null; \
+ fi
mostlyclean-pre:
mostlyclean-post:
rm -f gsc-cc-o.bat \
six@exe@ six@exe@.lnk \
- gsi-script@bat@ gsi-script@bat@.lnk \
- gsc-script@bat@ gsc-script@bat@.lnk \
- six-script@bat@ six-script@bat@.lnk \
- scheme-srfi-0@bat@ scheme-srfi-0@bat@.lnk \
- scheme-r5rs@bat@ scheme-r5rs@bat@.lnk \
- scheme-r4rs@bat@ scheme-r4rs@bat@.lnk \
- scheme-ieee-1178-1990@bat@ scheme-ieee-1178-1990@bat@.lnk
+ gsi-script@bat@ \
+ gsi-script@bat@.lnk \
+ gsc-script@bat@ \
+ gsc-script@bat@.lnk \
+ six-script@bat@ \
+ six-script@bat@.lnk \
+ scheme-srfi-0@bat@ \
+ scheme-srfi-0@bat@.lnk \
+ scheme-r5rs@bat@ \
+ scheme-r5rs@bat@.lnk \
+ scheme-r4rs@bat@ \
+ scheme-r4rs@bat@.lnk \
+ scheme-ieee-1178-1990@bat@ \
+ scheme-ieee-1178-1990@bat@.lnk
clean-pre: mostlyclean-pre
View
301 configure
@@ -678,7 +678,6 @@ build_alias
host_alias
target_alias
PACKAGE_SHORTNAME
-PACKAGE_SUBDIR
build
build_cpu
build_vendor
@@ -773,13 +772,19 @@ obj
bat
SETDLPATH
GSC_CC_O
+LIBRARY_DEFS
+LIB_PREFIX
+LIB_EXTENSION
GAMBCLIB
GAMBCGSCLIB
GAMBCGSILIB
MAKE_LIBRARY
MAKE_LIBRARY_FOR_INSTALL
+MAKE_LIBRARY_FOR_INSTALL_LIBS
LINK
LINK_FOR_INSTALL
+LINK_FOR_INSTALL_GSI_LIBS
+LINK_FOR_INSTALL_GSC_LIBS
INSTALL
INSTALL_DATA
INSTALL_LIB
@@ -789,6 +794,12 @@ GIT
HG
FIXLIB
X_FLAGS
+ENABLE_SYMLINKS
+ENABLE_MULTIPLE_VERSIONS
+ENABLE_SHARED
+ENABLE_ABSOLUTE_SHARED_LIBS
+ENABLE_VERSIONNED_LIBS
+emacsdir
SET_MAKE
LIBOBJS
LTLIBOBJS'
@@ -807,6 +818,9 @@ enable_gcc_opts
enable_char_size
enable_shared
enable_ansi_c
+enable_symlinks
+enable_multiple_versions
+enable_absolute_shared_libs
with_x
'
ac_precious_vars='build_alias
@@ -1465,12 +1479,20 @@ Optional Features:
NO)
--enable-single-host compile each Scheme module as a single C function
(default is NO)
- --enable-inline-jumps Generate inline code for jumps (default is NO)
- --enable-gcc-opts Use expensive GCC optimizations (default is NO)
+ --enable-inline-jumps generate inline code for jumps (default is NO)
+ --enable-gcc-opts use expensive GCC optimizations (default is NO)
--enable-char-size=N Scheme character size in bytes (default is 4)
--enable-shared build the Scheme runtime system as a shared library
(default is NO)
--enable-ansi-c link only with ANSI C libraries (default is NO)
+ --enable-symlinks use symbolic links for installed files not in the
+ central installation directory (default is YES)
+ --enable-multiple-versions
+ multiple installed versions are supported (default
+ is NO)
+ --enable-absolute-shared-libs
+ shared libraries should be linked to using an
+ absolute path (default is YES)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1944,9 +1966,6 @@ ac_config_headers="$ac_config_headers include/config.h"
PACKAGE_SHORTNAME="gambc"
-PACKAGE_SUBDIR="/$PACKAGE_VERSION"
-#PACKAGE_SUBDIR=""
-
@@ -2134,6 +2153,7 @@ FLAGS_DYN=""
FLAGS_LIB=""
FLAGS_EXE=""
GSC_CC_O_DEFS="-D___DYNAMIC"
+LIBRARY_DEFS=""
###############################################################################
#
@@ -5353,6 +5373,69 @@ fi
###############################################################################
#
+# Check if symbolic links should be used for files not in the
+# central installation directory.
+
+# Check whether --enable-symlinks was given.
+if test "${enable_symlinks+set}" = set; then
+ enableval=$enable_symlinks; ENABLE_SYMLINKS=$enableval
+else
+ ENABLE_SYMLINKS=no
+fi
+
+
+###############################################################################
+#
+# Check if multiple installed versions are supported.
+
+# Check whether --enable-multiple-versions was given.
+if test "${enable_multiple_versions+set}" = set; then
+ enableval=$enable_multiple_versions; ENABLE_MULTIPLE_VERSIONS=$enableval
+else
+ ENABLE_MULTIPLE_VERSIONS=no
+fi
+
+
+###############################################################################
+#
+# Check if libraries should contain a version number suffix.
+
+ENABLE_VERSIONNED_LIBS=no
+
+# This option does not currently work. Some work is needed to make it
+# work properly. Here is the documentation that should go in INSTALL.txt:
+
+#The option --enable-versionned-libs will add a version number suffix
+#to the libraries. For example the Gambit v4.3.2 runtime library which
+#is normally libgambc.a will be named libgambc-v4_3_2.a and it must be
+#linked to with the C compiler option -lgambc-v4_3_2 . If you give
+#this option a value, as in --enable-versionned-libs=<suffix> then
+#<suffix> will be appended to the name of the libraries.
+
+#AC_ARG_ENABLE(versionned-libs,
+# AC_HELP_STRING([--enable-versionned-libs],
+# [libraries should contain a version number suffix (default is NO)]),
+# ENABLE_VERSIONNED_LIBS=$enableval,
+# ENABLE_VERSIONNED_LIBS=no)
+
+###############################################################################
+#
+# Check if shared libraries should be linked to using an absolute path.
+
+# Check whether --enable-absolute-shared-libs was given.
+if test "${enable_absolute_shared_libs+set}" = set; then
+ enableval=$enable_absolute_shared_libs; ENABLE_ABSOLUTE_SHARED_LIBS=$enableval
+else
+ ENABLE_ABSOLUTE_SHARED_LIBS=yes
+fi
+
+
+if test "$ENABLE_SHARED" != "yes"; then
+ ENABLE_ABSOLUTE_SHARED_LIBS=no
+fi
+
+###############################################################################
+#
# Check for C compiler.
@@ -6483,7 +6566,7 @@ fi
done
-if test "$ANSI_C" = no; then
+if test "$ANSI_C" != yes; then
for ac_header in unistd.h
@@ -24405,40 +24488,35 @@ if test "$ENABLE_SHARED" = yes; then
mingw* | cygwin*)
- GAMBCLIB="libgambc.dll"
- GAMBCGSCLIB="libgambcgsc.dll"
- GAMBCGSILIB="libgambcgsi.dll"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".dll"
SETDLPATH="PATH=\"\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${PATH}\""
;;
- darwin*) GAMBCLIB="libgambc.dylib"
- GAMBCGSCLIB="libgambcgsc.dylib"
- GAMBCGSILIB="libgambcgsi.dylib"
+ darwin*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".dylib"
SETDLPATH="DYLD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${DYLD_LIBRARY_PATH}"
;;
- hpux*) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ hpux*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="SHLIB_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${SHLIB_PATH}"
;;
- aix*) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ aix*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="LIBPATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LIBPATH}"
;;
- *) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ *) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="LD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LD_LIBRARY_PATH}"
;;
esac
MAKE_LIBRARY='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_LIBS) $(LIBS)'
MAKE_LIBRARY_FOR_INSTALL='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_FOR_INSTALL_LIBS) $(LIBS)'
- FIXLIB='#'
+ FIXLIB=':'
LINK='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_LIBS) $(LIBS) -o $(EXECUTABLE)'
LINK_FOR_INSTALL='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_FOR_INSTALL_LIBS) $(LIBS) -o $(EXECUTABLE)'
@@ -24450,9 +24528,8 @@ else
########## Microsoft Visual C++ compiler
- GAMBCLIB="libgambc.lib"
- GAMBCGSCLIB="libgambcgsc.lib"
- GAMBCGSILIB="libgambcgsi.lib"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".lib"
MAKE_LIBRARY='lib -out:$(LIBRARY) $(LIBRARY_OBJECTS)'
MAKE_LIBRARY_FOR_INSTALL=':'
FIXLIB=':'
@@ -24466,9 +24543,8 @@ else
########## Other C compiler
- GAMBCLIB="libgambc.a"
- GAMBCGSCLIB="libgambcgsc.a"
- GAMBCGSILIB="libgambcgsi.a"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".a"
MAKE_LIBRARY='ar rc $(LIBRARY) $(LIBRARY_OBJECTS) && $(RANLIB) $(LIBRARY)'
MAKE_LIBRARY_FOR_INSTALL=':'
FIXLIB='$(RANLIB)'
@@ -24483,21 +24559,57 @@ if test "$C_COMP_VISUALC" = yes; then
########## Microsoft Visual C++ compiler
- GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR%include\\\" $GSC_CC_O_DEFS -Fe\\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
+ GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -Fe\\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
else
case "$target_os" in
- mingw*) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR%include\\\" $GSC_CC_O_DEFS -o \\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
+ mingw*) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -o \\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
;;
- *) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"\\\$\${GSC_CC_O_GAMBCDIR}include\\\" $GSC_CC_O_DEFS -o \\\"\\\$\${GSC_CC_O_OBJ_FILENAME}\\\" \\\$\${GSC_CC_O_CC_OPTIONS} \\\$\${GSC_CC_O_LD_OPTIONS_PRELUDE} \\\"\\\$\${GSC_CC_O_C_FILENAME_BASE}\\\" \\\$\${GSC_CC_O_LD_OPTIONS}"
+ *) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"\\\$\${GSC_CC_O_GAMBCDIR_INCLUDE}\\\" $GSC_CC_O_DEFS -o \\\"\\\$\${GSC_CC_O_OBJ_FILENAME}\\\" \\\$\${GSC_CC_O_CC_OPTIONS} \\\$\${GSC_CC_O_LD_OPTIONS_PRELUDE} \\\"\\\$\${GSC_CC_O_C_FILENAME_BASE}\\\" \\\$\${GSC_CC_O_LD_OPTIONS}"
;;
esac
fi
+if test "$ENABLE_VERSIONNED_LIBS" = "no"; then
+
+ LIB_SUFFIX=""
+
+else
+
+ if test "$ENABLE_VERSIONNED_LIBS" = "yes"; then
+
+ LIB_SUFFIX=`echo -$PACKAGE_VERSION | sed -e 's/\./_/g'`
+
+ else
+
+ LIB_SUFFIX="$ENABLE_VERSIONNED_LIBS"
+
+ fi
+
+fi
+
+GAMBCLIB="gambc$LIB_SUFFIX"
+GAMBCGSCLIB="gambcgsc$LIB_SUFFIX"
+GAMBCGSILIB="gambcgsi$LIB_SUFFIX"
+
+if test "$ENABLE_ABSOLUTE_SHARED_LIBS" = "yes"; then
+
+ MAKE_LIBRARY_FOR_INSTALL_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+ LINK_FOR_INSTALL_GSI_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSILIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+ LINK_FOR_INSTALL_GSC_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSCLIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+
+else
+
+ MAKE_LIBRARY_FOR_INSTALL_LIBS='-L$(rootfromhere)/lib -l$(GAMBCLIB)'
+ LINK_FOR_INSTALL_GSI_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSILIB) -l$(GAMBCLIB)'
+ LINK_FOR_INSTALL_GSC_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSCLIB) -l$(GAMBCLIB)'
+
+fi
+
###############################################################################
#
# Determine what prefix and suffix are added to function names by the
@@ -24556,6 +24668,78 @@ _ACEOF
esac
###############################################################################
+#
+# Determine where the installation directories are located.
+
+if test "$prefix" = "NONE"; then
+ prefix="/usr/local/$PACKAGE_NAME"
+fi
+
+if test "$ENABLE_MULTIPLE_VERSIONS" = yes; then
+ prefix="$prefix/$PACKAGE_VERSION"
+fi
+
+if test "$bindir" = "\${exec_prefix}/bin"; then
+ bindir="\${prefix}/bin"
+fi
+
+if test "$includedir" = "\${prefix}/include"; then
+ includedir="\${prefix}/include"
+fi
+
+if test "$libdir" = "\${exec_prefix}/lib"; then
+ libdir="\${prefix}/lib"
+fi
+
+if test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"; then
+ docdir="\${prefix}/doc"
+fi
+
+if test "$infodir" = "\${datarootdir}/info"; then
+ infodir="\${prefix}/info"
+fi
+
+if test "$datadir" = "\${datarootdir}"; then
+ datadir="\${prefix}/share"
+fi
+
+LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR=\"\\\"\${prefix}\\\"\""
+
+if test "$ENABLE_SYMLINKS" != yes; then
+
+ if test "$bindir" != "\${prefix}/bin"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_BIN=\"\\\"\${bindir}\\\"\""
+ fi
+
+ if test "$includedir" != "\${prefix}/include"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INCLUDE=\"\\\"\${includedir}\\\"\""
+ fi
+
+ if test "$libdir" != "\${prefix}/lib"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_LIB=\"\\\"\${libdir}\\\"\""
+ fi
+
+ if test "$docdir" != "\${prefix}/doc"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_DOC=\"\\\"\${docdir}\\\"\""
+ fi
+
+ if test "$infodir" != "\${prefix}/info"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INFO=\"\\\"\${infodir}\\\"\""
+ fi
+
+ if test "$datadir" != "\${prefix}/share"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_SHARE=\"\\\"\${datadir}\\\"\""
+ fi
+
+fi
+
+emacsdir="\${datadir}/emacs/site-lisp"
+
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_CPU=\"\\\"$target_cpu\\\"\""
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_VENDOR=\"\\\"$target_vendor\\\"\""
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_OS=\"\\\"$target_os\\\"\""
+
+###############################################################################
if test "$srcdir" = "."; then
srcdirpfx=""
@@ -24599,6 +24783,15 @@ INSTALL_PROGRAM='$(rootfromhere)/install-sh -c -m 755'
+
+
+
+
+
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
@@ -25915,31 +26108,19 @@ $as_echo "$as_me:
" >&6;}
fi
-if test "$C_COMP_GNUC" = yes; then
- if test "$ENABLE_GCC_OPTS" != yes; then
- { $as_echo "$as_me:$LINENO:
-**************************************************************************
-*** The GCC compiler is being used but the option \"--enable-gcc-opts\" ***
-*** was not specified to the configure script. The Gambit-C system ***
-*** will compile correctly but the code generated by the GCC compiler ***
-*** will be suboptimal and the executables will run slightly slower ***
-*** than if \"--enable-gcc-opts\" is specified. On the other hand the ***
-*** build process will be faster and require less memory. If you have ***
-*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for ***
-*** the longer build try the configure option \"--enable-gcc-opts\". ***
-**************************************************************************
-" >&5
-$as_echo "$as_me:
-**************************************************************************
-*** The GCC compiler is being used but the option \"--enable-gcc-opts\" ***
-*** was not specified to the configure script. The Gambit-C system ***
-*** will compile correctly but the code generated by the GCC compiler ***
-*** will be suboptimal and the executables will run slightly slower ***
-*** than if \"--enable-gcc-opts\" is specified. On the other hand the ***
-*** build process will be faster and require less memory. If you have ***
-*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for ***
-*** the longer build try the configure option \"--enable-gcc-opts\". ***
-**************************************************************************
-" >&6;}
- fi
-fi
+#if test "$C_COMP_GNUC" = yes; then
+# if test "$ENABLE_GCC_OPTS" != yes; then
+# AC_MSG_NOTICE([
+#**************************************************************************
+#*** The GCC compiler is being used but the option "--enable-gcc-opts" ***
+#*** was not specified to the configure script. The Gambit-C system ***
+#*** will compile correctly but the code generated by the GCC compiler ***
+#*** will be suboptimal and the executables will run slightly slower ***
+#*** than if "--enable-gcc-opts" is specified. On the other hand the ***
+#*** build process will be faster and require less memory. If you have ***
+#*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for ***
+#*** the longer build try the configure option "--enable-gcc-opts". ***
+#**************************************************************************
+#])
+# fi
+#fi
View
265 configure.ac
@@ -9,8 +9,6 @@ AC_INIT(Gambit-C,v4.3.2,gambit@iro.umontreal.ca,gambc-v4_3_2)
AC_CONFIG_HEADERS(include/config.h)
PACKAGE_SHORTNAME="gambc"
-PACKAGE_SUBDIR="/$PACKAGE_VERSION"
-#PACKAGE_SUBDIR=""
AC_SUBST(PACKAGE_SHORTNAME)
AC_SUBST(PACKAGE_NAME)
@@ -18,7 +16,6 @@ AC_SUBST(PACKAGE_VERSION)
AC_SUBST(PACKAGE_STRING)
AC_SUBST(PACKAGE_BUGREPORT)
AC_SUBST(PACKAGE_TARNAME)
-AC_SUBST(PACKAGE_SUBDIR)
AC_COPYRIGHT([[Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.]])
@@ -43,6 +40,7 @@ FLAGS_DYN=""
FLAGS_LIB=""
FLAGS_EXE=""
GSC_CC_O_DEFS="-D___DYNAMIC"
+LIBRARY_DEFS=""
###############################################################################
#
@@ -241,7 +239,7 @@ fi
AC_ARG_ENABLE(inline-jumps,
AC_HELP_STRING([--enable-inline-jumps],
- [Generate inline code for jumps (default is NO)]),
+ [generate inline code for jumps (default is NO)]),
ENABLE_INLINE_JUMPS=$enableval,
ENABLE_INLINE_JUMPS=no)
@@ -258,7 +256,7 @@ fi
AC_ARG_ENABLE(gcc-opts,
AC_HELP_STRING([--enable-gcc-opts],
- [Use expensive GCC optimizations (default is NO)]),
+ [use expensive GCC optimizations (default is NO)]),
ENABLE_GCC_OPTS=$enableval,
ENABLE_GCC_OPTS=no)
@@ -328,6 +326,63 @@ AC_ARG_ENABLE(ansi-c,
###############################################################################
#
+# Check if symbolic links should be used for files not in the
+# central installation directory.
+
+AC_ARG_ENABLE(symlinks,
+ AC_HELP_STRING([--enable-symlinks],
+ [use symbolic links for installed files not in the central installation directory (default is YES)]),
+ ENABLE_SYMLINKS=$enableval,
+ ENABLE_SYMLINKS=no)
+
+###############################################################################
+#
+# Check if multiple installed versions are supported.
+
+AC_ARG_ENABLE(multiple-versions,
+ AC_HELP_STRING([--enable-multiple-versions],
+ [multiple installed versions are supported (default is NO)]),
+ ENABLE_MULTIPLE_VERSIONS=$enableval,
+ ENABLE_MULTIPLE_VERSIONS=no)
+
+###############################################################################
+#
+# Check if libraries should contain a version number suffix.
+
+ENABLE_VERSIONNED_LIBS=no
+
+# This option does not currently work. Some work is needed to make it
+# work properly. Here is the documentation that should go in INSTALL.txt:
+
+#The option --enable-versionned-libs will add a version number suffix
+#to the libraries. For example the Gambit v4.3.2 runtime library which
+#is normally libgambc.a will be named libgambc-v4_3_2.a and it must be
+#linked to with the C compiler option -lgambc-v4_3_2 . If you give
+#this option a value, as in --enable-versionned-libs=<suffix> then
+#<suffix> will be appended to the name of the libraries.
+
+#AC_ARG_ENABLE(versionned-libs,
+# AC_HELP_STRING([--enable-versionned-libs],
+# [libraries should contain a version number suffix (default is NO)]),
+# ENABLE_VERSIONNED_LIBS=$enableval,
+# ENABLE_VERSIONNED_LIBS=no)
+
+###############################################################################
+#
+# Check if shared libraries should be linked to using an absolute path.
+
+AC_ARG_ENABLE(absolute-shared-libs,
+ AC_HELP_STRING([--enable-absolute-shared-libs],
+ [shared libraries should be linked to using an absolute path (default is YES)]),
+ ENABLE_ABSOLUTE_SHARED_LIBS=$enableval,
+ ENABLE_ABSOLUTE_SHARED_LIBS=yes)
+
+if test "$ENABLE_SHARED" != "yes"; then
+ ENABLE_ABSOLUTE_SHARED_LIBS=no
+fi
+
+###############################################################################
+#
# Check for C compiler.
AC_DEFUN(AC_CHECK_C_COMPILER_DEF,
@@ -410,7 +465,7 @@ AC_CHECK_HEADERS(stdlib.h)
AC_CHECK_HEADERS(string.h)
AC_CHECK_HEADERS(time.h)
-if test "$ANSI_C" = no; then
+if test "$ANSI_C" != yes; then
AC_CHECK_HEADERS(unistd.h)
AC_CHECK_HEADERS(pwd.h)
@@ -1174,40 +1229,35 @@ if test "$ENABLE_SHARED" = yes; then
mingw* | cygwin*)
- GAMBCLIB="libgambc.dll"
- GAMBCGSCLIB="libgambcgsc.dll"
- GAMBCGSILIB="libgambcgsi.dll"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".dll"
SETDLPATH="PATH=\"\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${PATH}\""
;;
- darwin*) GAMBCLIB="libgambc.dylib"
- GAMBCGSCLIB="libgambcgsc.dylib"
- GAMBCGSILIB="libgambcgsi.dylib"
+ darwin*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".dylib"
SETDLPATH="DYLD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${DYLD_LIBRARY_PATH}"
;;
- hpux*) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ hpux*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="SHLIB_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${SHLIB_PATH}"
;;
- aix*) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ aix*) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="LIBPATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LIBPATH}"
;;
- *) GAMBCLIB="libgambc.so"
- GAMBCGSCLIB="libgambcgsc.so"
- GAMBCGSILIB="libgambcgsi.so"
+ *) LIB_PREFIX="lib"
+ LIB_EXTENSION=".so"
SETDLPATH="LD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LD_LIBRARY_PATH}"
;;
esac
MAKE_LIBRARY='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_LIBS) $(LIBS)'
MAKE_LIBRARY_FOR_INSTALL='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_FOR_INSTALL_LIBS) $(LIBS)'
- FIXLIB='#'
+ FIXLIB=':'
LINK='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_LIBS) $(LIBS) -o $(EXECUTABLE)'
LINK_FOR_INSTALL='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_FOR_INSTALL_LIBS) $(LIBS) -o $(EXECUTABLE)'
@@ -1219,9 +1269,8 @@ else
########## Microsoft Visual C++ compiler
- GAMBCLIB="libgambc.lib"
- GAMBCGSCLIB="libgambcgsc.lib"
- GAMBCGSILIB="libgambcgsi.lib"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".lib"
MAKE_LIBRARY='lib -out:$(LIBRARY) $(LIBRARY_OBJECTS)'
MAKE_LIBRARY_FOR_INSTALL=':'
FIXLIB=':'
@@ -1235,9 +1284,8 @@ else
########## Other C compiler
- GAMBCLIB="libgambc.a"
- GAMBCGSCLIB="libgambcgsc.a"
- GAMBCGSILIB="libgambcgsi.a"
+ LIB_PREFIX="lib"
+ LIB_EXTENSION=".a"
MAKE_LIBRARY='ar rc $(LIBRARY) $(LIBRARY_OBJECTS) && $(RANLIB) $(LIBRARY)'
MAKE_LIBRARY_FOR_INSTALL=':'
FIXLIB='$(RANLIB)'
@@ -1252,21 +1300,57 @@ if test "$C_COMP_VISUALC" = yes; then
########## Microsoft Visual C++ compiler
- GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR%include\\\" $GSC_CC_O_DEFS -Fe\\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
+ GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -Fe\\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
else
case "$target_os" in
- mingw*) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR%include\\\" $GSC_CC_O_DEFS -o \\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
+ mingw*) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -o \\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
;;
- *) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"\\\$\${GSC_CC_O_GAMBCDIR}include\\\" $GSC_CC_O_DEFS -o \\\"\\\$\${GSC_CC_O_OBJ_FILENAME}\\\" \\\$\${GSC_CC_O_CC_OPTIONS} \\\$\${GSC_CC_O_LD_OPTIONS_PRELUDE} \\\"\\\$\${GSC_CC_O_C_FILENAME_BASE}\\\" \\\$\${GSC_CC_O_LD_OPTIONS}"
+ *) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"\\\$\${GSC_CC_O_GAMBCDIR_INCLUDE}\\\" $GSC_CC_O_DEFS -o \\\"\\\$\${GSC_CC_O_OBJ_FILENAME}\\\" \\\$\${GSC_CC_O_CC_OPTIONS} \\\$\${GSC_CC_O_LD_OPTIONS_PRELUDE} \\\"\\\$\${GSC_CC_O_C_FILENAME_BASE}\\\" \\\$\${GSC_CC_O_LD_OPTIONS}"
;;
esac
fi
+if test "$ENABLE_VERSIONNED_LIBS" = "no"; then
+
+ LIB_SUFFIX=""
+
+else
+
+ if test "$ENABLE_VERSIONNED_LIBS" = "yes"; then
+
+ LIB_SUFFIX=`echo -$PACKAGE_VERSION | sed -e 's/\./_/g'`
+
+ else
+
+ LIB_SUFFIX="$ENABLE_VERSIONNED_LIBS"
+
+ fi
+
+fi
+
+GAMBCLIB="gambc$LIB_SUFFIX"
+GAMBCGSCLIB="gambcgsc$LIB_SUFFIX"
+GAMBCGSILIB="gambcgsi$LIB_SUFFIX"
+
+if test "$ENABLE_ABSOLUTE_SHARED_LIBS" = "yes"; then
+
+ MAKE_LIBRARY_FOR_INSTALL_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+ LINK_FOR_INSTALL_GSI_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSILIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+ LINK_FOR_INSTALL_GSC_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSCLIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
+
+else
+
+ MAKE_LIBRARY_FOR_INSTALL_LIBS='-L$(rootfromhere)/lib -l$(GAMBCLIB)'
+ LINK_FOR_INSTALL_GSI_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSILIB) -l$(GAMBCLIB)'
+ LINK_FOR_INSTALL_GSC_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSCLIB) -l$(GAMBCLIB)'
+
+fi
+
###############################################################################
#
# Determine what prefix and suffix are added to function names by the
@@ -1325,6 +1409,78 @@ _ACEOF
esac
###############################################################################
+#
+# Determine where the installation directories are located.
+
+if test "$prefix" = "NONE"; then
+ prefix="/usr/local/$PACKAGE_NAME"
+fi
+
+if test "$ENABLE_MULTIPLE_VERSIONS" = yes; then
+ prefix="$prefix/$PACKAGE_VERSION"
+fi
+
+if test "$bindir" = "\${exec_prefix}/bin"; then
+ bindir="\${prefix}/bin"
+fi
+
+if test "$includedir" = "\${prefix}/include"; then
+ includedir="\${prefix}/include"
+fi
+
+if test "$libdir" = "\${exec_prefix}/lib"; then
+ libdir="\${prefix}/lib"
+fi
+
+if test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"; then
+ docdir="\${prefix}/doc"
+fi
+
+if test "$infodir" = "\${datarootdir}/info"; then
+ infodir="\${prefix}/info"
+fi
+
+if test "$datadir" = "\${datarootdir}"; then
+ datadir="\${prefix}/share"
+fi
+
+LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR=\"\\\"\${prefix}\\\"\""
+
+if test "$ENABLE_SYMLINKS" != yes; then
+
+ if test "$bindir" != "\${prefix}/bin"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_BIN=\"\\\"\${bindir}\\\"\""
+ fi
+
+ if test "$includedir" != "\${prefix}/include"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INCLUDE=\"\\\"\${includedir}\\\"\""
+ fi
+
+ if test "$libdir" != "\${prefix}/lib"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_LIB=\"\\\"\${libdir}\\\"\""
+ fi
+
+ if test "$docdir" != "\${prefix}/doc"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_DOC=\"\\\"\${docdir}\\\"\""
+ fi
+
+ if test "$infodir" != "\${prefix}/info"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INFO=\"\\\"\${infodir}\\\"\""
+ fi
+
+ if test "$datadir" != "\${prefix}/share"; then
+ LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_SHARE=\"\\\"\${datadir}\\\"\""
+ fi
+
+fi
+
+emacsdir="\${datadir}/emacs/site-lisp"
+
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_CPU=\"\\\"$target_cpu\\\"\""
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_VENDOR=\"\\\"$target_vendor\\\"\""
+LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_OS=\"\\\"$target_os\\\"\""
+
+###############################################################################
if test "$srcdir" = "."; then
srcdirpfx=""
@@ -1343,13 +1499,19 @@ AC_SUBST(obj)
AC_SUBST(bat)
AC_SUBST(SETDLPATH)
AC_SUBST(GSC_CC_O)
+AC_SUBST(LIBRARY_DEFS)
+AC_SUBST(LIB_PREFIX)
+AC_SUBST(LIB_EXTENSION)
AC_SUBST(GAMBCLIB)
AC_SUBST(GAMBCGSCLIB)
AC_SUBST(GAMBCGSILIB)
AC_SUBST(MAKE_LIBRARY)
AC_SUBST(MAKE_LIBRARY_FOR_INSTALL)
+AC_SUBST(MAKE_LIBRARY_FOR_INSTALL_LIBS)
AC_SUBST(LINK)
AC_SUBST(LINK_FOR_INSTALL)
+AC_SUBST(LINK_FOR_INSTALL_GSI_LIBS)
+AC_SUBST(LINK_FOR_INSTALL_GSC_LIBS)
AC_SUBST(INSTALL)
AC_SUBST(INSTALL_DATA)
AC_SUBST(INSTALL_LIB)
@@ -1364,9 +1526,12 @@ AC_SUBST(FIXLIB)
AC_SUBST(X_FLAGS)
AC_SUBST(X_LIBS)
-AC_SUBST(target_cpu)
-AC_SUBST(target_vendor)
-AC_SUBST(target_os)
+AC_SUBST(ENABLE_SYMLINKS)
+AC_SUBST(ENABLE_MULTIPLE_VERSIONS)
+AC_SUBST(ENABLE_SHARED)
+AC_SUBST(ENABLE_ABSOLUTE_SHARED_LIBS)
+AC_SUBST(ENABLE_VERSIONNED_LIBS)
+AC_SUBST(emacsdir)
AC_PROG_MAKE_SET
@@ -1387,19 +1552,19 @@ if test "$ENABLE_SINGLE_HOST" != yes; then
])
fi
-if test "$C_COMP_GNUC" = yes; then
- if test "$ENABLE_GCC_OPTS" != yes; then
- AC_MSG_NOTICE([
-**************************************************************************
-*** The GCC compiler is being used but the option "--enable-gcc-opts" ***
-*** was not specified to the configure script. The Gambit-C system ***
-*** will compile correctly but the code generated by the GCC compiler ***
-*** will be suboptimal and the executables will run slightly slower ***
-*** than if "--enable-gcc-opts" is specified. On the other hand the ***
-*** build process will be faster and require less memory. If you have ***
-*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for ***
-*** the longer build try the configure option "--enable-gcc-opts". ***
-**************************************************************************
-])
- fi
-fi
+#if test "$C_COMP_GNUC" = yes; then
+# if test "$ENABLE_GCC_OPTS" != yes; then
+# AC_MSG_NOTICE([
+#**************************************************************************
+#*** The GCC compiler is being used but the option "--enable-gcc-opts" ***
+#*** was not specified to the configure script. The Gambit-C system ***
+#*** will compile correctly but the code generated by the GCC compiler ***
+#*** will be suboptimal and the executables will run slightly slower ***
+#*** than if "--enable-gcc-opts" is specified. On the other hand the ***
+#*** build process will be faster and require less memory. If you have ***
+#*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for ***
+#*** the longer build try the configure option "--enable-gcc-opts". ***
+#**************************************************************************
+#])
+# fi
+#fi
View
2  doc/checkdoc.scm
@@ -1,4 +1,4 @@
-#! /usr/local/bin/Gambit-C/bin/gsi-script
+#!/usr/bin/env gsi-script
(let ()
View
234 doc/gambit-c.txi
@@ -161,60 +161,81 @@ repository.
@node Accessing the system files, , The Gambit-C system, The Gambit-C system
@section Accessing the system files
-The @dfn{Gambit installation directory} is where all system files are
-installed. This directory is @code{@r{@i{prefix}}/@r{@i{version}}},
-where @code{@r{@i{version}}} is the system version string
-(e.g. @code{@value{VERSION}} for Gambit @value{VERSION}) and
-@code{@r{@i{prefix}}} is @code{/usr/local/Gambit-C} under UNIX,
+Files related to Gambit, such as executables, libraries and header files,
+are stored in multiple @dfn{Gambit installation directories}.
+Gambit may be installed on a system according to two different
+installation models.
+
+In the first model there is a single directory where all the Gambit
+installation directories are stored. This @dfn{central installation
+directory} is typically @code{/usr/local/Gambit-C} under UNIX,
@code{/Library/Gambit-C} under Mac OS X and @code{C:/Program
-Files/Gambit-C} under Microsoft Windows. The prefix can be overridden
-when the system is built with the command @samp{configure
---prefix=/my/own/Gambit-C}. Moreover, under UNIX and Mac OS X,
-@code{@r{@i{prefix}}/current} is a symbolic link which points to the
-installation directory.
+Files/Gambit-C} under Microsoft Windows. This may have been
+overridden when the system was built with the command @samp{configure
+--prefix=/my/Gambit-C}. If the system was built with the command
+@samp{configure --enable-multiple-versions} then the central
+installation directory is @code{@r{@i{prefix}}/@r{@i{version}}}, where
+@code{@r{@i{version}}} is the system version string
+(e.g. @code{@value{VERSION}} for Gambit @value{VERSION}). Moreover,
+@code{@r{@i{prefix}}/current} will be a symbolic link which points to
+the central installation directory. In this model, the Gambit
+installation directory named @var{X} is simply the subdirectory
+@var{X} of the central installation directory.
+
+In the second model some or all of the Gambit installation directories
+are stored in installation specific directories. The location of
+these directories is assigned when the system is built using the
+command @samp{configure --bindir=/my/bin --includedir=/my/include
+--libdir=/my/lib}.
+
+The advantage of the first model is that it is easy to have multiple
+versions of Gambit coexist and to remove all the files of a given
+version. However, the second model may be necessary to conform to the
+package installation conventions of some operating systems.
Executable programs such as the interpreter @code{gsi} and compiler
-@code{gsc} can be found in the @code{bin} subdirectory of the
-installation directory. Adding this directory to the @code{PATH}
-environment variable allows these programs to be started by simply
-entering their name. This is done automatically by the Mac OS X and
-Microsoft Windows installers.
+@code{gsc} can be found in the @code{bin} installation directory.
+Adding this directory to the @code{PATH} environment variable allows
+these programs to be started by simply entering their name. This is
+done automatically by the Mac OS X and Microsoft Windows installers.
-The runtime library is located in the @code{lib} subdirectory. When
-the system's runtime library is built as a shared-library (with the
-command @samp{configure --enable-shared}) all programs built with
-Gambit-C, including the interpreter and compiler, need to find this
-library when they are executed and consequently this directory must be
-in the path searched by the system for shared-libraries. This path is
-normally specified through an environment variable which is
-@code{LD_LIBRARY_PATH} on most versions of UNIX, @code{LIBPATH} on
-AIX, @code{SHLIB_PATH} on HPUX, @code{DYLD_LIBRARY_PATH} on Mac OS X,
-and @code{PATH} on Microsoft Windows. If the shell is @code{sh}, the
-setting of the path can be made for a single execution by prefixing
-the program name with the environment variable assignment, as in:
+The runtime library is located in the @code{lib} installation
+directory. When the system's runtime library is built as a
+shared-library (with the command @samp{configure --enable-shared}) all
+programs built with Gambit-C, including the interpreter and compiler,
+need to find this library when they are executed and consequently this
+directory must be in the path searched by the system for
+shared-libraries. This path is normally specified through an
+environment variable which is @code{LD_LIBRARY_PATH} on most versions
+of UNIX, @code{LIBPATH} on AIX, @code{SHLIB_PATH} on HPUX,
+@code{DYLD_LIBRARY_PATH} on Mac OS X, and @code{PATH} on Microsoft
+Windows. If the shell is @code{sh}, the setting of the path can be
+made for a single execution by prefixing the program name with the
+environment variable assignment, as in:
@smallexample
-@b{}$ @b{LD_LIBRARY_PATH=/usr/local/Gambit-C/current/lib gsi}
+@b{}$ @b{LD_LIBRARY_PATH=/usr/local/Gambit-C/lib gsi}
@end smallexample
A similar problem exists with the Gambit header file @code{gambit.h},
-located in the @code{include} subdirectory. This header file is
-needed for compiling Scheme programs with the Gambit-C compiler. When
-the C compiler is being called explicitly it may be necessary to
-use a @code{-I@var{<dir>}} command line option to indicate where to
-find header files and a @code{-L@var{<dir>}} command line option to
-indicate where to find libraries. Access to both of these files can
-be simplified by creating a link to them in the appropriate system
-directories (special privileges may however be required):
+located in the @code{include} installation directory. This header
+file is needed for compiling Scheme programs with the Gambit-C
+compiler. When the C compiler is being called explicitly it may be
+necessary to use a @code{-I@var{<dir>}} command line option to
+indicate where to find header files and a @code{-L@var{<dir>}} command
+line option to indicate where to find libraries. Access to both of
+these files can be simplified by creating a link to them in the
+appropriate system directories (special privileges may however be
+required):
@smallexample
-@b{}$ @b{ln -s /usr/local/Gambit-C/current/lib/libgambc.a /usr/lib} @r{@i{# name may vary}}
-$ @b{ln -s /usr/local/Gambit-C/current/include/gambit.h /usr/include}
+@b{}$ @b{ln -s /usr/local/Gambit-C/lib/libgambc.a /usr/lib} @r{@i{# name may vary}}
+$ @b{ln -s /usr/local/Gambit-C/include/gambit.h /usr/include}
@end smallexample
-This is not done by the installation process. Alternatively these files
-can also be copied or linked in the directory where the C compiler is
-invoked (this requires no special privileges).
+This may have been done by the installation process. Alternatively
+these files can be copied or linked in the directory where the C
+compiler is invoked (this requires no special privileges).
@menu
* GSI:: The Gambit Scheme interpreter
@@ -382,7 +403,7 @@ hello
@section Customization
There are two ways to customize the interpreter. When the interpreter
-starts off it tries to execute a @samp{(load "~~/gambcext")} (for an
+starts off it tries to execute a @samp{(load "~~lib/gambcext")} (for an
explanation of how file names are interpreted see @ref{Host environment}).
An error is not signaled when the file does not exist. Interpreter
extensions and patches that are meant to apply to all users and all
@@ -584,7 +605,7 @@ setting the execute permission bits (with a @samp{chmod +x
output the files in the current directory:
@smallexample
-@b{}#!/usr/local/Gambit-C/current/bin/gsi-script
+@b{}#!/usr/local/Gambit-C/bin/gsi-script
(for-each pretty-print (directory-files))
@end smallexample
@@ -593,7 +614,7 @@ which takes a single integer argument and prints on standard output the
numbers from 1 to that integer:
@smallexample
-@b{}#!/usr/local/Gambit-C/current/bin/six-script
+@b{}#!/usr/local/Gambit-C/bin/six-script
void main (obj n_str)
@{
@@ -662,7 +683,7 @@ For example:
@smallexample
$ @b{cat square.scm}
-#!/usr/local/Gambit-C/current/bin/gsi-script
+#!/usr/local/Gambit-C/bin/gsi-script
(define (main arg)
(pretty-print (expt (string->number arg) 2)))
$ @b{gsi square 30 @r{@i{# will load square.scm}}}
@@ -980,7 +1001,7 @@ command line and the @samp{-flat} option is absent). The @samp{-l}
option specifies the link file (without the @samp{.c} extension) of
the base library to use for the incremental link. By default the link
file of the Gambit runtime library is used
-(i.e. @samp{~~/lib/_gambc.c}).
+(i.e. @samp{~~lib/_gambc.c}).
@opindex -
The @samp{-} option starts a REPL interaction.
@@ -1102,8 +1123,8 @@ At this point there will be 4 C files: @samp{m1.c}, @samp{m2.c},
files must be compiled with a C compiler and linked with the Gambit-C
runtime library. The C compiler options needed will depend on the C
compiler and the operating system (in particular it may be necessary
-to add the options @samp{-I/usr/local/Gambit-C/current/include
--L/usr/local/Gambit-C/current/lib} to access the @samp{gambit.h} header file
+to add the options @samp{-I/usr/local/Gambit-C/include
+-L/usr/local/Gambit-C/lib} to access the @samp{gambit.h} header file
and the Gambit-C runtime library).
Here is an example under Mac OS X:
@@ -1325,14 +1346,14 @@ It has been observed that lower levels of optimization (e.g. @samp{-O1})
often give faster compilation and also generate faster code. It is
a good idea to experiment.
-@opindex -I/usr/local/Gambit-C/current/include
-@opindex -L/usr/local/Gambit-C/current/lib
+@opindex -I/usr/local/Gambit-C/include
+@opindex -L/usr/local/Gambit-C/lib
Normally C compilers will not automatically search
-@samp{/usr/local/Gambit-C/current/include} for header files so the flag
-@samp{-I/usr/local/Gambit-C/current/include} should be passed to the C
+@samp{/usr/local/Gambit-C/include} for header files so the flag
+@samp{-I/usr/local/Gambit-C/include} should be passed to the C
compiler. Similarly, C compilers/linkers will not automatically
-search @samp{/usr/local/Gambit-C/current/lib} for libraries so the flag
-@samp{-L/usr/local/Gambit-C/current/lib} should be passed to the C
+search @samp{/usr/local/Gambit-C/lib} for libraries so the flag
+@samp{-L/usr/local/Gambit-C/lib} should be passed to the C
compiler/linker. Alternatives are given in @ref{Accessing the system
files}.
@@ -1435,7 +1456,7 @@ created in that directory. Otherwise the name of the link file is
The base link file is specified by the @var{base} parameter, which
must be a string. By default the base link file is the Gambit runtime
-library link file @samp{~~/lib/_gambc.c}. However, when @var{base} is
+library link file @samp{~~lib/_gambc.c}. However, when @var{base} is
supplied the base link file is named @samp{@var{base}.c}.
The following example shows how to build the executable program
@@ -1557,10 +1578,12 @@ Select standard Scheme mode.
Select Gambit Scheme mode.
@item d@r{[}@var{OPT}...@r{]}
Set debugging options.
-@item .@r{[}@var{INTF}@r{]}@r{[}:@var{PORT}@r{]}
+@item @@@r{[}@var{INTF}@r{]}@r{[}:@var{PORT}@r{]}
Override the configuration of the main RPC server.
@item =@var{DIRECTORY}
-Override the Gambit installation directory.
+Override the central installation directory.
+@item ~~@var{DIR}=@var{DIRECTORY}
+Override the @var{DIR} installation directory.
@item +@var{ARGUMENT}
Add @var{ARGUMENT} to the command line before other arguments.
@item f@r{[}@var{OPT}...@r{]}
@@ -1682,15 +1705,19 @@ the primordial thread). When @code{gsi} and @code{gsc} are running
the main REPL, the debugging options are changed to cause errors in
the primordial thread and user interrupts to start a nested REPL.
-@opindex -:.
-The @samp{.@r{[}@var{INTF}@r{]}@r{[}:@var{PORT}@r{]}} option
+@opindex -:@
+The @samp{@@@r{[}@var{INTF}@r{]}@r{[}:@var{PORT}@r{]}} option
overrides the configuration of the main RPC server. The default
@var{INTF} is 127.0.0.1 and the default @var{PORT} is 44556.
THIS OPTION IS NOT YET IMPLEMENTED!
@opindex -:=
-The @samp{=} option overrides the setting of the Gambit installation
-directory.
+The @samp{=@var{DIRECTORY}} option overrides the setting of the
+central installation directory.
+
+@opindex -:~~
+The @samp{~~@var{DIR}=@var{DIRECTORY}} option overrides the setting of
+the @var{DIR} installation directory.
@opindex -:+
The @samp{+} option adds the text that follows to the command line
@@ -2709,7 +2736,7 @@ Here is what a typical @samp{.emacs} file will look like:
@smallexample
@b{}(setq load-path ; add directory containing gambit.el
- (cons "/usr/local/Gambit-C/current/share/emacs/site-lisp"
+ (cons "/usr/local/Gambit-C/share/emacs/site-lisp"
load-path))
(setq scheme-program-name "/tmp/gsi -:d-") ; if gsi not in executable path
(setq gambit-highlight-color "gray") ; if you don't like the default
@@ -3200,21 +3227,23 @@ For example:
@findex define-syntax
@findex syntax-rules
@findex syntax-case
+@opindex -:s
Define @i{name} as a macro special form whose expansion is specified
-by @i{expander}. This form is available only after evaluating
-@code{(load "~~/syntax-case")}, which can be done at the REPL or in
-the initialization file. This file contains Hieb and Dybvig's
-portable @code{syntax-case} implementation that has been ported to
+by @i{expander}. This form is available only when the runtime option
+@samp{-:s} is used. This option causes the loading of the
+@code{~~lib/syntax-case} support library, which is the Hieb and Dybvig
+portable @code{syntax-case} implementation which has been ported to
the Gambit interpreter and compiler. Note that this implementation of
-@code{syntax-case} does not correctly track source code location
-information, so the error messages will be much less precise.
+@code{syntax-case} does not support special forms that are specific to
+Gambit.
For example:
@smallexample
-> @b{(load "~~/syntax-case")}
-"/usr/local/Gambit-C/4.0b22/syntax-case.scm"
+$ @b{gsi -:s}
+Gambit @value{VERSION}
+
> @b{(define-syntax unless
(syntax-rules ()
((unless test body ...)
@@ -3224,7 +3253,7 @@ For example:
> @b{(pp (lambda () (let ((test 111)) (unless (= 1 2) (list test test)))))}
(lambda () ((lambda (%%test14) (if (= 1 2) #f (list %%test14 %%test14))) 111))
> @b{(unless #f (pp xxx))}
-*** ERROR IN (console)@@8.16 -- Unbound variable: xxx
+*** ERROR IN (console)@@7.16 -- Unbound variable: xxx
@end smallexample
@end deffn
@@ -8540,12 +8569,13 @@ operating systems supported by Gambit (e.g. MSDOS).
@cindex absolute path
@cindex relative path
@cindex home directory
-@cindex Gambit installation directory
+@cindex central installation directory
+@cindex installation directories
Gambit uses a naming convention for files that is compatible with
the one used by the host environment but extended to allow
referring to the @dfn{home directory} of the current user or some
-specific user and the @dfn{Gambit installation directory}.
+specific user and the @dfn{installation directories}.
A @dfn{path} is a string that denotes a file, for example
@code{"src/readme.txt"}. Each component of a path is separated by a
@@ -8557,30 +8587,30 @@ path which does not contain a path separator is relative to the
specifier such as @samp{C:} may prefix a file name under MSDOS and
Microsoft Windows.
-The rest of this section uses @samp{/} to represent the path
-separator.
-
-@cindex ~~/
-A path which starts with the characters @samp{~~/} denotes a file in
-the Gambit installation directory. This directory is normally
-@samp{/usr/local/Gambit-C/@i{version}} under UNIX and Mac OS X and
-@samp{C:/Gambit-C/@i{version}} under MSDOS and Microsoft Windows. To
-override this binding under UNIX, Mac OS X, MSDOS and Microsoft
-Windows, use the @samp{-:=@var{<dir>}} runtime option or define the
-@samp{GAMBCOPT} environment variable.
-
-@cindex ~/
-A path which starts with the characters @samp{~/} denotes a file in
-the user's home directory. The user's home directory is contained in
-the @samp{HOME} environment variable under UNIX, Mac OS X, MSDOS and
-Microsoft Windows. Under MSDOS and Microsoft Windows, if the
-@samp{HOME} environment variable is not defined, the environment
-variables @samp{HOMEDRIVE} and @samp{HOMEPATH} are concatenated if
-they are defined. If this fails to yield a home directory, the Gambit
-installation directory is used instead.
-
-@cindex ~username/
-A path which starts with the characters @samp{~@var{username}/}
+@cindex ~~
+A path which starts with the characters @samp{~~} denotes a file in an
+installation directory. If nothing follows the @samp{~~} then the
+directory denoted is the central installation directory. Otherwise
+what follows the @samp{~~} is the name of the installation directory,
+for example @samp{~~lib} denotes the @samp{lib} installation
+directory. Note that the location of the installation directories may
+be overridden by using the @samp{-:=@var{DIRECTORY}} and
+@samp{-:~~@var{DIR}=@var{DIRECTORY}} runtime options or by defining
+the @samp{GAMBCOPT} environment variable.
+
+@cindex ~
+A path which starts with the character @samp{~} not followed by
+@samp{~} denotes a file in the user's home directory. The user's home
+directory is contained in the @samp{HOME} environment variable under
+UNIX, Mac OS X, MSDOS and Microsoft Windows. Under MSDOS and
+Microsoft Windows, if the @samp{HOME} environment variable is not
+defined, the environment variables @samp{HOMEDRIVE} and
+@samp{HOMEPATH} are concatenated if they are defined. If this fails
+to yield a home directory, the central installation directory is used
+instead.
+
+@cindex ~username
+A path which starts with the characters @samp{~@var{username}}
denotes a file in the home directory of the given user. Under UNIX
and Mac OS X this is found using the password file. There is no
equivalent under MSDOS and Microsoft Windows.
@@ -8610,9 +8640,9 @@ For example under UNIX:
> @b{(current-directory)}
"/Users/feeley/gambit/"
> @b{(path-expand "foo" "~~")}
-"/usr/local/Gambit-C/4.0b22/foo"
+"/usr/local/Gambit-C/foo"
> @b{(parameterize ((current-directory "~~")) (path-expand "foo"))}
-"/usr/local/Gambit-C/4.0b22/foo"
+"/usr/local/Gambit-C/foo"
@end smallexample
@end deffn
@@ -8636,8 +8666,8 @@ For example under UNIX:
"/Users/feeley/gambit/doc/foo"
> @b{(path-expand "~/foo")}
"/Users/feeley/foo"
-> @b{(path-expand "~~/foo")}
-"/usr/local/Gambit-C/4.0b22/foo"
+> @b{(path-expand "~~lib/foo")}
+"/usr/local/Gambit-C/lib/foo"
> @b{(path-expand "../foo")}
"/Users/feeley/gambit/doc/../foo"
> @b{(path-expand "foo" "")}
@@ -8978,7 +9008,7 @@ For example under UNIX:
$ @b{gsi -:d -e "(pretty-print (command-line))"}
("gsi" "-e" "(pretty-print (command-line))")
$ @b{cat foo}
-#!/usr/local/Gambit-C/current/bin/gsi-script
+#!/usr/local/Gambit-C/bin/gsi-script
(pretty-print (command-line))
$ @b{./foo 1 2 "3 4"}
("/u/feeley/./foo" "1" "2" "3 4")
View
103 doc/makefile.in
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
@@ -69,6 +81,9 @@ gambit-c.info gambit-c.info-1 gambit-c.info-2 gambit-c.info-3
DISTFILES = $(RCFILES) $(GENDISTFILES)
+INSTFILES_DOC = gambit-c.pdf gambit-c.html gambit-c.txt
+INSTFILES_INFO = gambit-c.info*
+
all: all-pre all-recursive all-post
all-pre:
@@ -129,18 +144,74 @@ checkdoc:
install-pre:
install-post: all doc
- $(srcdirpfx)$(rootfromhere)/mkidirs $(docdir) $(infodir)
- $(INSTALL_DATA) gambit-c.pdf $(docdir)/gambit-c.pdf
- $(INSTALL_DATA) gambit-c.txt $(docdir)/gambit-c.txt
- $(INSTALL_DATA) gambit-c.html $(docdir)/gambit-c.html
- cd $(srcdir) && for file in gambit-c.info*; do \
- $(INSTALL_DATA) $$file $(infodir)/$$file; \
- done
+ c_docdir=$(DESTDIR)$(prefix)/doc; \
+ i_docdir=$(DESTDIR)$(docdir); \
+ t_docdir=$$i_docdir; \
+ c_infodir=$(DESTDIR)$(prefix)/info; \
+ i_infodir=$(DESTDIR)$(infodir); \
+ t_infodir=$$i_infodir; \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$i_docdir $$i_infodir; \
+ if test "@ENABLE_SYMLINKS@" = "yes"; then \
+ $(srcdirpfx)$(rootfromhere)/mkidirs $$c_docdir $$c_infodir; \
+ t_docdir=$$c_docdir; \
+ t_infodir=$$c_infodir; \
+ fi; \
+ for file in $(INSTFILES_DOC); do \
+ $(INSTALL_DATA) $(srcdirpfx)$$file $$t_docdir/$$file; \
+ done; \
+ for file in $(INSTFILES_INFO); do \
+ $(INSTALL_DATA) $(srcdirpfx)$$file $$t_infodir/$$file; \
+ done; \
+ if test "$$t_docdir" != "$$i_docdir"; then \
+ r_docdir=`$(rootfromhere)/relpath "$$t_docdir" "$$i_docdir" @ENABLE_MULTIPLE_VERSIONS@`; \
+ for file in $(INSTFILES_DOC); do \
+ (cd $$i_docdir && $(LN_S) $$r_docdir$$file $$file); \
+ done; \
+ fi; \
+ if test "$$t_infodir" != "$$i_infodir"; then \
+ r_infodir=`$(rootfromhere)/relpath "$$t_infodir" "$$i_infodir" @ENABLE_MULTIPLE_VERSIONS@`; \
+ for file in $(INSTFILES_INFO); do \
+ (cd $$i_infodir && $(LN_S) $$r_infodir$$file $$file); \
+ done; \
+ fi
uninstall-pre:
uninstall-post:
- rm -f $(infodir)/gambit-c.info*
+ c_docdir=$(DESTDIR)$(prefix)/doc; \
+ i_docdir=$(DESTDIR)$(docdir); \
+ t_docdir=$$i_docdir; \
+ c_infodir=$(DESTDIR)$(prefix)/info; \
+ i_infodir=$(DESTDIR)$(infodir); \
+ t_infodir=$$i_infodir; \
+ if test "@ENABLE_SYMLINKS@" = "yes"; then \
+ t_docdir=$$c_docdir; \
+ t_infodir=$$c_infodir; \
+ fi; \
+ for file in $(INSTFILES_DOC); do \
+ rm -f $$t_docdir/$$file; \
+ done; \
+ for file in $(INSTFILES_INFO); do \
+ rm -f $$t_infodir/$$file; \
+ done; \
+ if test "$$t_docdir" != "$$i_docdir"; then \
+ for file in $(INSTFILES_DOC); do \
+ rm -f $$i_docdir/$$file; \
+ done; \
+ fi; \
+ if test "$$t_infodir" != "$$i_infodir"; then \
+ for file in $(INSTFILES_INFO); do \
+ rm -f $$i_infodir/$$file; \
+ done; \
+ fi; \
+ rmdir $$t_docdir 2> /dev/null; \
+ if test "$$t_docdir" != "$$i_docdir"; then \
+ rmdir $$i_docdir 2> /dev/null; \
+ fi; \
+ rmdir $$t_infodir 2> /dev/null; \
+ if test "$$t_infodir" != "$$i_infodir"; then \
+ rmdir $$i_infodir 2> /dev/null; \
+ fi
mostlyclean-pre:
View
2  doc/square.scm
@@ -1,3 +1,3 @@
-#!/usr/local/Gambit-C/bin/gsi-script
+#!/usr/bin/env gsi-script
(define (main arg)
(pretty-print (expt (string->number arg) 2)))
View
4 examples/Xlib-simple/Xlib.scm
@@ -1,6 +1,6 @@
;==============================================================================
-; File: "Xlib.scm", Time-stamp: <2008-11-24 16:18:52 feeley>
+; File: "Xlib.scm", Time-stamp: <2008-12-15 11:51:51 feeley>
; Copyright (c) 2006-2008 by Marc Feeley, All Rights Reserved.
@@ -13,7 +13,7 @@
(##namespace ("Xlib#"))
-(##include "~~/lib/gambit#.scm")
+(##include "~~lib/gambit#.scm")
(##include "Xlib#.scm")
View
34 examples/Xlib-simple/makefile.in
@@ -1,4 +1,4 @@
-# makefile for Xlib-simple example, Time-stamp: <2007-07-25 19:50:26 feeley>
+# makefile for Xlib-simple example, Time-stamp: <2008-12-17 18:06:41 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES: .scm .c @obj@ .o1
@@ -68,10 +80,10 @@ examples: bounce.o1 run
.scm.o1:
rm -f $*.o*
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) -cc-options "@X_CFLAGS@" -ld-options "@X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ -lX11" $(srcdirpfx)$*.scm
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -cc-options "@X_CFLAGS@" -ld-options "@X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ -lX11" $(srcdirpfx)$*.scm
run: Xlib.o1
- @SETDLPATH@ $(rootfromhere)/gsi/gsi Xlib -e '(load "bounce") (main)'
+ @SETDLPATH@ $(rootfromhere)/gsi/gsi -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include Xlib -e '(load "bounce") (main)'
install-pre:
View
4 examples/distr-comp/dc.scm
@@ -1,6 +1,6 @@
;==============================================================================
-; File: "dc.scm", Time-stamp: <2008-11-23 02:39:39 feeley>
+; File: "dc.scm", Time-stamp: <2008-12-15 11:52:03 feeley>
; Copyright (c) 2005-2008 by Marc Feeley, All Rights Reserved.
@@ -8,7 +8,7 @@
(##namespace ("dc#"))
-(##include "~~/lib/gambit#.scm")
+(##include "~~lib/gambit#.scm")
(##include "dc#.scm")
View
6 examples/distr-comp/distr-comp.scm
@@ -1,6 +1,6 @@
-#! /usr/local/Gambit-C/bin/gsi-script
+#!/usr/bin/env gsi-script
-; File: "distr-comp.scm", Time-stamp: <2007-04-04 14:26:23 feeley>
+; File: "distr-comp.scm", Time-stamp: <2008-12-17 13:41:12 feeley>
; Copyright (c) 2005-2007 by Marc Feeley, All Rights Reserved.
@@ -8,7 +8,7 @@
;==============================================================================
-(##include "~~/lib/gambit#.scm")
+(##include "~~lib/gambit#.scm")
(##include "dc#.scm")
(declare
View
34 examples/distr-comp/makefile.in
@@ -1,4 +1,4 @@
-# makefile for distr-comp example, Time-stamp: <2007-07-25 19:50:12 feeley>
+# makefile for distr-comp example, Time-stamp: <2008-12-17 18:06:23 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES: .scm .c @obj@ .o1
@@ -68,10 +80,10 @@ examples: distr-comp.o1 dc.o1 run
.scm.o1:
rm -f $*.o*
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) $(srcdirpfx)$*.scm
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include $(srcdirpfx)$*.scm
run:
- @SETDLPATH@ $(rootfromhere)/gsi/gsi -e '(load "dc") (load "distr-comp") (main)'
+ @SETDLPATH@ $(rootfromhere)/gsi/gsi -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -e '(load "dc") (load "distr-comp") (main)'
install-pre:
View
30 examples/makefile.in
@@ -1,4 +1,4 @@
-# makefile for Gambit-C examples, Time-stamp: <2008-10-06 10:45:22 feeley>
+# makefile for Gambit-C examples, Time-stamp: <2008-12-11 11:09:39 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES:
View
34 examples/misc/makefile.in
@@ -1,4 +1,4 @@
-# makefile for misc example, Time-stamp: <2007-07-25 19:50:51 feeley>
+# makefile for misc example, Time-stamp: <2008-12-17 18:06:56 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES: .scm .c @obj@ .o1
@@ -68,10 +80,10 @@ examples: signals
.scm.o1:
rm -f $*.o*
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) $(srcdirpfx)$*.scm
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include $(srcdirpfx)$*.scm
signals: signals.o1
- @SETDLPATH@ $(rootfromhere)/gsi/gsi signals
+ @SETDLPATH@ $(rootfromhere)/gsi/gsi -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include signals
install-pre:
View
34 examples/pi/makefile.in
@@ -1,4 +1,4 @@
-# makefile for pi example, Time-stamp: <2007-07-25 19:51:09 feeley>
+# makefile for pi example, Time-stamp: <2008-12-17 18:07:19 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES: .scm .c @obj@ .o1
@@ -68,10 +80,10 @@ examples: pi.o1 run
.scm.o1:
rm -f $*.o*
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) $(srcdirpfx)$*.scm
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include $(srcdirpfx)$*.scm
run:
- @SETDLPATH@ $(rootfromhere)/gsi/gsi -e '(load "pi") (main "1000")'
+ @SETDLPATH@ $(rootfromhere)/gsi/gsi -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -e '(load "pi") (main "1000")'
install-pre:
View
4 examples/pi/pi.scm
@@ -1,6 +1,6 @@
-#! /usr/local/Gambit-C/bin/gsi-script
+#!/usr/bin/env gsi-script
-; File: "pi.scm", Time-stamp: <2006-01-03 00:01:13 feeley>
+; File: "pi.scm", Time-stamp: <2008-12-17 13:41:08 feeley>
; Bignum benchmark that computes pi.
;
View
36 examples/pthread/makefile.in
@@ -1,4 +1,4 @@
-# makefile for pthread example, Time-stamp: <2008-02-08 23:03:12 feeley>
+# makefile for pthread example, Time-stamp: <2008-12-22 16:20:59 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.
@@ -12,7 +12,6 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_SUBDIR = @PACKAGE_SUBDIR@
@SET_MAKE@
@@ -29,8 +28,12 @@ FLAGS_EXE = @FLAGS_EXE@
DEFS = @DEFS@
LIBS = @LIBS@
+LIBRARY_DEFS = @LIBRARY_DEFS@
+LIB_PREFIX = @LIB_PREFIX@
+LIB_EXTENSION = @LIB_EXTENSION@
GAMBCLIB = @GAMBCLIB@
-GAMBCCOMPLIB = @GAMBCCOMPLIB@
+GAMBCGSCLIB = @GAMBCGSCLIB@
+GAMBCGSILIB = @GAMBCGSILIB@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_LIB = @INSTALL_LIB@
@@ -43,12 +46,21 @@ HG = @HG@
prefix = @prefix@
exec_prefix = @exec_prefix@
-includedir = $(prefix)$(PACKAGE_SUBDIR)/include
-libdir = $(prefix)$(PACKAGE_SUBDIR)/lib
-bindir = $(prefix)$(PACKAGE_SUBDIR)/bin
-docdir = $(prefix)$(PACKAGE_SUBDIR)/doc
-infodir = $(prefix)$(PACKAGE_SUBDIR)/info
-emacsdir = $(prefix)$(PACKAGE_SUBDIR)/share/emacs/site-lisp
+includedir = @includedir@
+libdir = @libdir@
+bindir = @bindir@
+docdir = @docdir@
+infodir = @infodir@
+emacsdir = @emacsdir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+htmldir = @htmldir@
+dvidir = @dvidir@
+pdfdir = @pdfdir@
+psdir = @psdir@
+localedir = @localedir@
+mandir = @mandir@
.SUFFIXES: .scm .c @obj@
@@ -73,16 +85,16 @@ run: pthread@exe@
$(C_COMPILER) $(INCLUDES) $(FLAGS_OBJ) -D___LIBRARY -c $(srcdirpfx)$*.c
.scm.c:
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) -f -c -check $(srcdirpfx)$*.scm
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -c -check $(srcdirpfx)$*.scm
mylib_.c: mylib.c
- @SETDLPATH@ $(rootfromhere)/gsc/gsc -:=$(srcdirpfx)$(rootfromhere) -f -link -o mylib_.c mylib.c
+ @SETDLPATH@ $(rootfromhere)/gsc/gsc -:~~bin=$(srcdirpfx)$(rootfromhere)/bin,~~lib=$(srcdirpfx)$(rootfromhere)/lib,~~include=$(srcdirpfx)$(rootfromhere)/include -f -link -o mylib_.c mylib.c
pthread@obj@: pthread.c mylib.h $(srcdirpfx)$(rootfromhere)/include/gambit.h
pthread@exe@: mylib@obj@ mylib_@obj@ pthread@obj@
$(MAKE) link EXECUTABLE="pthread@exe@" \
- LINK_LIBS="$(rootfromhere)/lib/$(GAMBCLIB)" \
+ LINK_LIBS="$(rootfromhere)/lib/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)" \
EXECUTABLE_OBJECTS="mylib@obj@ mylib_@obj@ pthread@obj@" \
EXECUTABLE_OBJECTS_PLUS="+mylib@obj@ +mylib_@obj@ +pthread@obj@" \
EXECUTABLE_OBJECTS_COMMA="mylib@obj@,mylib_@obj@,pthread@obj@"
View
34 examples/ring/makefile.in
@@ -1,4 +1,4 @@
-# makefile for ring example, Time-stamp: <2007-07-25 19:51:53 feeley>
+# makefile for ring example, Time-stamp: <2008-12-17 18:08:03 feeley>
# Copyright (c) 1994-2008 by Marc Feeley, All Rights Reserved.