Commit graph

56 commits

Author SHA1 Message Date
Douglas Katzman 98d114f26a Simplify install.sh
Don't look at asdf-cache to decide whether each contrib was built.
Just copy the entirety of contrib/ in one "cp" command.
2022-10-03 12:48:36 -04:00
Douglas Katzman a2394a8a89 Remove SBCL_BUILDING_CONTRIB
It was first mentioned in
https://gitlab.common-lisp.net/asdf/asdf/-/commit/d2063dd16db6b01d
and later removed in
https://gitlab.common-lisp.net/asdf/asdf/-/commit/60165185516e699d

SBCL tracked those changes in some fashion.
2022-10-03 12:09:10 -04:00
Stas Boukarev 9de75316a3 Don't make-shared-library.sh as it doesn't work on linux-x86. 2022-03-16 22:52:12 +03:00
Kartik Singh e354cdbd4b Add libsbcl.so to installation 2022-03-16 11:48:35 -07:00
Richard M Kreuter 7ac4f3d9e0 Remove use of sbcl_pwd in contrib building.
Building the contribs doesn't need an absolute pathname for the source
tree; a relative pathname will do.

(Further, calling the environment variable SBCL_PWD is peculiarly
misleading in this context, since it's not the PWD of most processes
involved in make-target-contrib.sh; instead, it's a constant name for
the top-level source directory. In the hope of maximal clarity,
renamed the environment variable to SBCL_TOP, and SBCL-TOP in Lisp.)
2021-03-20 16:03:50 -04:00
Stas Boukarev 3d0648ee31 Make windows installations movable as well. 2020-03-12 16:28:15 +03:00
Stas Boukarev 20681159bf install/make-config: direct to INSTALL when things go wrong. 2020-01-04 05:07:08 +03:00
Stas Boukarev 3e0b7a147f Fix install.sh 2019-10-29 01:56:58 +03:00
Stas Boukarev 082744572b install.sh: ignore test-passed.test-report
Just check for the fasl. Not installing a contrib because of some
failure isn't helpful.
2019-10-29 01:51:11 +03:00
Philipp Marek c72ff57a3f Fix variable defaulting in install.sh. 2019-01-30 16:56:07 +00:00
Vladimir Sedach d93815635c install.sh script should set umask to go+rx 2018-04-04 00:12:03 +03:00
Douglas Katzman a4820e27ab Overwrite existing targets when installing ancillary files 2017-03-09 17:27:19 -05:00
Francois-Rene Rideau 402a8fab62 New feature sb-linkable-runtime
Add the new feature sb-linkable-runtime, that depends on sb-dynamic-core,
the sbcl build will create a file sbcl.o or libsbcl.a that you can link
with additional other object files and libraries to deliver your applications
as a single executable (after combining with a core file) that contains
whatever statically linked C libraries you need as extensions.
CFFI-toolchain and Bazel will be know how to use this features.

Support this feature on Linux, macOS and Windows, on x86 and x86-64.

Dump the parameters to compile C code and link it into a file sbcl.mk.
This new file will be included even if sb-linkable-runtime isn't present,
so CFFI and other software will not have to guess with what compiler and
what options to build dynamically linkable extensions.

Note that without a sb-linkable-runtime, SBCL can still dlopen the C code, but
then you need at least two files to deliver an application with non-Lisp code,
and that doesn't work if the code is provided as a *.a or *.o file
(not a *.so) compiled without -fPIC.

Fix https://bugs.launchpad.net/sbcl/+bug/1500628 better than the previous
attempt, which was reverted in commit a61d893a7f.
2017-01-22 21:53:58 +00:00
Stas Boukarev 976267b32e install.sh: don't create site-systems.
There's no asdf-install anymore.
2015-11-03 06:00:56 +03:00
Stas Boukarev a61d893a7f Revert "build: leave a *.o file that has all of the startup code."
It breaks the build on multiple configurations.

This reverts commit f61d047c2d.
2015-10-18 18:52:09 +03:00
Martin Cracauer f61d047c2d build: leave a *.o file that has all of the startup code.
https://bugs.launchpad.net/sbcl/+bug/1500628
The purpose of this is that you can build a program with C code and
other object files at link time.  Without this change you have to
dlopen the C code from a running SBCL program.  That doesn't work if
you need to link statically, only have a *.a or *.o file (not a *.so)
and is more fragile.

Patch by Fare/Tunes.
2015-10-15 17:50:14 -04:00
Stas Boukarev 4563476884 install.sh: Test for doc existence before copying.
Patch by Burton Samograd.

Fixes lp#1415765
2015-02-15 16:53:19 +03:00
Christophe Rhodes 24e3d887e4 Fix install/binary-distribution scripts for new contrib arrangements
Everything has moved, which led the binary-distribution script not to
include test-passed files, and the install script to look for them in
the wrong place anyway.
2013-10-31 14:45:17 +00:00
Francois-Rene Rideau 25c1769e30 Deliver each contrib as a single FASL. Don't implicitly require ASDF or source code at runtime.
Also, move contrib output to obj/sbcl-home/, asdf cache to obj/asdf-cache/
Update sb-grovel and other contribs and their tests for asdf3.

Fixes lp#1132254.
2013-10-17 03:10:58 +02:00
Jim Wise e0bc7429e5 Reorder description of info file installs to work around limited SunOS echo
Scratches a long-standing itch, but not really necessary (result is purely
aesthetic).
2011-06-10 14:35:20 -04:00
Nikodemus Siivola 9e4ba79747 1.0.41.45: make.sh command-line parsing
Based on patches by Daniel Herring:

 * Simple --option and --option=arg command-line parser in make.sh.

 * Supported options:

   ** --xc-host=<command> to specify XC host option instead of a
      positional argument. (Incompatible change!)

   ** --prefix=<path> to specify a non-standard install location for
      both build and install.sh.

      Addresses https://bugs.launchpad.net/sbcl/+bug/550889

   ** --help

 Semi-related minor cleanup:

 * Use --no-userinit and --no-sysinit instead of version.lisp-expr as
   the default inits for self-building: they have been around long
   enough now that it should not stop anyone from building, and makes
   for a somewhat less magical looking "//Build options: ..." line in
   the build log.
2010-08-15 13:59:00 +00:00
Rudi Schlatte f134cff89a 1.0.33.12: Less ugly html manuals
... add some light css styling
... also create single-file manual for easier grepping
... unilaterally deciding on light blue as our new corporate colour
2009-12-15 16:09:02 +00:00
Nikodemus Siivola fd79e33e6b 1.0.29.1: fix FILL
* Imaginary parts were messed up on 64 bit platforms when
   filling arrays of (COMPLEX SINGLE-FLOAT). Thanks to Paul Khuong.

 * Also delay the transform of FILL till constraint propagation has
   run, to get the constant argument form MAKE-ARRAY in properly.

 * ...and eradicate remaining references to the SUPPORT file.
2009-06-04 18:01:31 +00:00
Rudi Schlatte 61c48c18e4 1.0.11.8: also fix install-info on Debian
Also reported by Eugene Ossintsev
2007-11-05 04:30:37 +00:00
Rudi Schlatte df71de136d 1.0.11.7: Don't try to register info-* files using install-info
Reported by Eugene Ossintsev
2007-11-05 04:14:41 +00:00
Juho Snellman 540824f5d0 0.9.16.46:
Fix regressions:

        * Installation was broken with non-bash /bin/sh (thanks to
          Niimi Satoshi for the patch)
        * DEFAULT-EXTERNAL-FORMAT would now try to print a warning for
          an invalid external format before streams had been initialized,
          causing an infinite error loop (reported by Hannu Koivisto).
          Temporary fix is just not printing the warning, a better fix
          will wait until after the freeze.
        * Also stop autodetecting the external format from the locale
          on non-unicode builds. Having a default external format that's
          incompatible with CHARACTER doesn't seem very sensible, especially
          now that the external formats are also used for SB-ALIEN:C-STRING
          instead of just streams.
2006-09-24 15:47:27 +00:00
Juho Snellman 2e8a905fd4 0.9.16.18:
Fix installation into directories with spaces (reported by Edi
	Weitz on sbcl-help).
2006-09-07 00:56:59 +00:00
Nikodemus Siivola 6298c273b7 0.9.13.43: install sbcl.info-1 (and any other *.info-* files)
* makeinfo splits large info-files into separate parts, so
     we'd better deal with them.
2006-06-12 16:32:46 +00:00
Nikodemus Siivola 1acfa21e07 0.9.13.16: preliminary Windows installer builder
* Added "free software & no warranty" summary to top of COPYING.

 * tools-for-build/rtf.lisp turns COPYING into License.rtf needed
   for the installer.

 * tools-for-build/wxs.lisp generates the XML from which
   the installer is built.

 * refactor good-for-lisp pathname logic from make-target-contrib.sh
   to sbcl-pwd.sh.

 * make-windows-installer.sh builds sbcl.msi into output/,
   assuming WiX (2.0) is installed in $PROGRAMFILES/WiX or
   $WIX_PATH.

   The installer installs sbcl.exe, sbcl.core, and contribs
   into $PROGRAMFILES/Steel Bank Common Lisp/<sbcl-version>/
   by default, though the location is configurable.

   .lisp and .fasl files are associated with the installed
   SBCL, action being to start SBCL and load the file.

   The installation directory is added to PATH.

   SBCL_HOME is set to the installation directory.

   A shortcut is added to the start-menu. The shortcut refers
   to the core explicitly, and will continue to work even if
   a newer SBCL is installed.
2006-06-01 09:14:25 +00:00
Rudi Schlatte 07d6dd9867 0.9.12.27
Really make install.sh work on win32.  "oops"
2006-05-17 12:06:06 +00:00
Rudi Schlatte adba820908 0.9.12.23
install.sh on win32
  - installs under c:/Program Files/sbcl, or wherever your Windows
    installation believes programs should go
  - need to set SBCL_HOME accordingly (e.g. to "c:/Program
    Files/sbcl/lib/sbcl") to run it
2006-05-14 18:44:01 +00:00
Nikodemus Siivola 3eb0a28fe6 0.9.11.31: misc win32 improvements
* Check for correct "expand" in canonicalize-whitespace, and skip
     canonicalization if it doesn't seem right. (Windows "expand" is
     something quite different.)
  * RUN-PROGRAM now always returns a process structure, which reports
     the exit-code of the process when :WAIT was true. :WAIT nil
     process-structures still keep their :RUNNING status indefinitely
     on Windows, though.
  * FIND-EXECUTABLE-IN-SEARCH-PATH actually searches the path, and adds
     "exe" as :TYPE if :TYPE is missing on Windows.
  * ASDF:RUN-SHELL-COMMAND searches for Bourne-shell on Windows, as there
     is no default location.
  * SB-GROVEL directly runs gcc and the groveler instead of indirecting 
     via shell, and the groveler directly writes to the lisp-file instead
     of via stdout and shell redirection.
  * Hack SB-POSIX till it builds and passes all applicable tests on Windows. 
     Mostly this involved plenty of #-win32, but a few tests needed to
     be adjusted for the delication Microsoft constitution.
  * Implement COPY-STREAM in ASDF-INSTALL so that it doesn't have to
     depend on SB-EXECUTABLE.
  * Take the .exe suffix into account when installing over an old SBCL
     on MSYS.
  * Adjust UNPARSE-NATIVE-WIN32-NAMESTRING slightly: Windows OS functions
     like stat don't like to have directory names ending with a slash.

This is good enough to run unpatched Slime with *COMMUNICATION-STYLE*
NIL, and build & pass tests with all contribs except SB-SIMPLE-STREAMS.
2006-04-13 22:52:55 +00:00
Christophe Rhodes e9a993b24f 0.9.9.11:
Change the way we find our asdf-based contribs, using a custom
	*system-definition-search-function* rather than symlinks.
	... $SBCL_HOME/systems directory can go away;
	... various changes in build and install scripts.
2006-02-01 10:27:54 +00:00
Christophe Rhodes 04d819bb1a 0.9.8.27:
Merge patch from James Bielman fixing self-build under Win32.
	... a little bit of an accident ensued; I ran
		canonicalize-whitespace on .sh files, which seemed to
		work (except on wc.sh) until it scribbled all over
		make.sh, confusing the shell interpreter utterly.
	... the resulting files have built the system, nevertheless.
2006-01-09 13:00:17 +00:00
Thiemo Seufer babd45f778 0.9.4.72:
Robustify the build system scripts.
2005-09-16 13:26:39 +00:00
Christophe Rhodes 731d5dd65a 0.9.1.2:
Merge a couple of cleanup fixes that I've had tagged for months
	if not years.
2005-05-28 09:00:34 +00:00
Nikodemus Siivola 905a0fc4c2 0.9.0.17: minor tweaks
* install.sh checks that src/runtime/sbcl and output/sbcl.core exist,
    and abort if not.
 * distable step-instrumentation if COMPILATION-SPEED >= DEBUG.
2005-05-04 07:31:37 +00:00
Nikodemus Siivola e33e995046 0.8.15.20: Fix HTML installation
* On some systems we were installing the HTML docs
               in ever deeper directories on every install. Make
               it not so, and try to stick to commandline flags
               actually specified in SUV3. Reported by Stefan Scholl.
2004-10-21 13:00:16 +00:00
Nikodemus Siivola 85dc70440d 0.8.13.76: Doc'a'tweak
* Update the asdf.texinfo from upstream so that
               install-info will work.
            * Nicer html installation hierarchy.
2004-08-18 12:58:41 +00:00
Nikodemus Siivola e583bce51c 0.8.13.75: MORE MANUALS
* Pull asdf.texinfo from upstream; build and install
               it along with the rest of the documentation.
2004-08-18 12:42:43 +00:00
Nikodemus Siivola c05927ab82 0.8.10.61:
INSTALL MORE DOCUMENTATION
         ... Clean up INSTALL
         ... Add "SEE ALSO" section to sbcl.1, and fold the DOCUMENTATION
                section there. Also mention Slime in addition to ilisp,
                and drop the mention of shell mode and package confusion.
         ... Make install.sh install the manual, BUGS, SUPPORT, CREDITS,
                COPYING and NEWS as well, and make it tell where it put
                everything. Don't install sbcl-asdf-install.1.
2004-05-29 15:35:47 +00:00
Christophe Rhodes cd13034f94 0.8.7.52:
Miscellaneous fixes
	... fix bad behaviour on install.sh on missing directories (reported
		Zach Beane sbcl-devel 2004-01-16)
	... fix PUSHNEW docstring (patch VJA sbcl-devel 2003-12-30)
	... call PACK-BEFORE-GC-HOOK by hand in make-target-2.sh, to get
		core sizes down a bit (2Mb on x86, 6Mb on PPC).  We're still
		awaiting a proper fix, though.
2004-02-12 10:32:30 +00:00
Kevin Rosenberg d039e5131a 0.8.6.4:
* install.sh: install doc/sbcl-asdf-install.1
	* doc/DOCDOC: add note about catalog file
	* doc/sbcl-html.dsl: remove obsolete file
2003-11-26 20:22:00 +00:00
Daniel Barlow 94ebb3fb0c 0.8.5.5
BUILD_ROOT
2003-10-26 04:04:28 +00:00
Daniel Barlow dcd17d1d37 0.8.5.1
$PREFIX/share/man/man1, not $PREFIX/man/man1
2003-10-25 20:56:01 +00:00
Daniel Barlow 44dbdff97f 0.8.4.10
"brown paper bag" bug fix: initialise the thread->state slot
	when it's created, to fix the most obvious threading problem

	Search order for sbcl.core and sbclrc simplified.

	Manual page edits: updates for contrib/, threading, platforms,
	new sbcl.core search order, etc

	Make "debugger invoked" message print thread id
	asdf-install contrib: new UNINSTALL function deletes a
	package's files.

	New installation variable $(BUILD_ROOT) for use by package
	installers that want to install into a fake root directory
2003-10-07 21:41:26 +00:00
Daniel Barlow 08e218c9bd 0.8.2.23
A full and final answer[*] to all the people who keep asking
	for slightly tangential software to be added to contrib: to
	wit, a contrib module to automate the downloading and
	installing of packages that are _not_ part of contrib.

	* (require 'asdf-install)
	* (asdf-install:install 'xlunit)

	or
	$ sbcl-asdf-install xlunit

	See contrib/asdf-install/README for more details and scary
	security-related muttering.

	Also added a :INITIAL-FUNCTION to SB-EXECUTABLE:MAKE-EXECUTABLE
	so that files don't have to be written such that the
	application starts as soon as they're loaded

	[*] Ha!
2003-08-10 19:25:02 +00:00
Christophe Rhodes 22c1de0a40 0.8.2.7:
Improvements to build technology inspired by Nikodemus Siivola
	(sbcl-devel 2003-07-20):
	... centralize GNU Make finding functionality, and use it
		everywhere;
	... remove bashism from slam.sh.
2003-07-28 08:10:32 +00:00
Daniel Barlow ca9a15c9d4 0.7.12.57
Add :force t to asdf-dependent contrib modules

	Change install.sh to rename old binary/core files instead of
	copying them - does not kill running SBCL programs in such a
	gruseome way

	Create $SBCL_HOME/site-systems in install.sh

	... OK, that's IT, I am DONE for 0.7.13
2003-02-24 04:33:00 +00:00
Christophe Rhodes 2066cf6171 0.7.12.54:
Eleventh hour accommodation to Solaris sh(1)
	... export FOO=bar -> FOO=bar; export FOO
	... more test -e -> test -f
	... b=${1:?foo bar} -> b=${1:?"foo bar"}
	... yay for portable shell programmes.
2003-02-23 16:07:33 +00:00