Mercurial > hg > octave-lojdl
changeset 2629:20704e7e5e79
[project @ 1997-01-27 06:11:52 by jwe]
author | jwe |
---|---|
date | Mon, 27 Jan 1997 06:11:59 +0000 |
parents | 92fff89649c5 |
children | fdee6fe3e73b |
files | ChangeLog Makefile.in configure.in doc/faq/FAQ.texi doc/interpreter/install.texi octMakefile.in |
diffstat | 6 files changed, 168 insertions(+), 93 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Mon Jan 27 00:10:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Makefile.in: Delete `internal' targets. + (static-binary-dist, dynamic-binary-dist): Special cases. + + * octMakefile.in (static-binary-dist, dynamic-binary-dist): + New targets. + (binary-dist, bin-dist): Delete. + Sun Jan 26 19:39:51 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * emacs/Makefile.in: New file.
--- a/Makefile.in +++ b/Makefile.in @@ -35,10 +35,7 @@ TARGETS = octave-bug mkoctfile libcruft liboctave kpathsea info dlfcn \ src scripts doc check octave.info INSTALL.OCTAVE BUGS \ - install uninstall tags TAGS clean-tar dist-z links-for-dist \ - dist-tar clean-dist-tar dist links-for-bin-dist bin-dist-tar \ - clean-bin-dist-tar binary-dist bin-dist conf-dist \ - snapshot-z snapshot snapshot-version + install uninstall tags TAGS dist conf-dist snapshot snapshot-version NO_DEP_TARGETS = clean mostlyclean distclean maintainer-clean @@ -50,4 +47,24 @@ $(NO_DEP_TARGETS): FORCE $(MAKE) -f octMakefile omit_deps=true $@ +binary-dist: FORCE + @echo "***" + @echo "*** you must specify either static or dynamic:" + @echo "***" + @echo "*** make dynamic-binary-dist" + @echo "***" + @echo "*** dynamically linked version typically including support" + @echo "*** for shared libraried and dynamically linked functions" + @echo "***" + @echo "*** make static-binary-dist" + @echo "***" + @echo "*** statically linked version" + @echo "***" + +static-binary-dist: + $(MAKE) -f octMakefile DIST_TYPE=static binary-dist + +dynamic-binary-dist: + $(MAKE) -f octMakefile DIST_TYPE=dynamic binary-dist + FORCE:
--- a/configure.in +++ b/configure.in @@ -21,7 +21,7 @@ ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. -AC_REVISION($Revision: 1.248 $) +AC_REVISION($Revision: 1.249 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) @@ -1119,8 +1119,9 @@ AC_OUTPUT(Makefile octMakefile Makeconf test/Makefile dlfcn/Makefile doc/Makefile doc/faq/Makefile doc/interpreter/Makefile doc/liboctave/Makefile doc/refcard/Makefile emacs/Makefile - examples/Makefile liboctave/Makefile src/Makefile libcruft/Makefile - libcruft/Makerules libcruft/blas/Makefile libcruft/balgen/Makefile + emacs/Makefile examples/Makefile liboctave/Makefile + src/Makefile libcruft/Makefile libcruft/Makerules + libcruft/blas/Makefile libcruft/balgen/Makefile libcruft/dassl/Makefile libcruft/eispack/Makefile libcruft/fftpack/Makefile libcruft/fsqp/Makefile libcruft/lapack/Makefile libcruft/linpack/Makefile
--- a/doc/faq/FAQ.texi +++ b/doc/faq/FAQ.texi @@ -3,16 +3,6 @@ @setfilename FAQ.info @settitle Frequently asked questions about Octave (with answers) -@c Smaller amounts of whitespace for the 8.5 by 11 inch format. -@tex -\global\chapheadingskip = 15pt plus 4pt minus 2pt -\global\secheadingskip = 12pt plus 3pt minus 2pt -\global\subsecheadingskip = 9pt plus 2pt minus 2pt -\global\parskip 5pt plus 1pt - -@finalout -@end tex - @setchapternewpage off @titlepage
--- a/doc/interpreter/install.texi +++ b/doc/interpreter/install.texi @@ -396,7 +396,7 @@ To install Octave from a binary distribution, execute the command @example -sh ./doinstall.sh +sh ./install-octave @end example @noindent @@ -409,24 +409,29 @@ @item bin Octave and other binaries that people will want to run directly. +@item lib +Shared libraries that Octave needs in order to run. These files are +not included if you are installing a statically linked version of +Octave. + @item man/man1 Unix-style man pages describing Octave. @item info Info files describing Octave. -@item lib/octave/@var{version}/m +@item share/octave/@var{version}/m Function files distributed with Octave. This includes the Octave version, so that multiple versions of Octave may be installed at the same time. -@item lib/octave/@var{version}/exec/@var{host_type} +@item libexec/octave/@var{version}/exec/@var{host_type} Executables to be run by Octave rather than the user. -@item lib/octave/@var{version}/oct/@var{host_type} +@item libexec/octave/@var{version}/oct/@var{host_type} Object files that will be dynamically loaded. -@item lib/octave/@var{version}/imagelib +@item share/octave/@var{version}/imagelib Image files that are distributed with Octave. @end table @@ -435,16 +440,30 @@ interpreter, and @var{host_type} is the type of computer on which Octave is installed (for example, @samp{i486-unknown-gnu}). -If these directories don't exist, the script @file{doinstall.sh} will -create them for you. +If these directories don't exist, the script @file{install-octave} will +create them for you. The installation script also creates the following +subdirectories of @file{/usr/local} that are intended for locally +installed functions: + +@table @file +@item share/octave/site/m +Locally installed M-files. + +@item libexec/octave/site/exec/@var{host_type} +Locally installed binaries intendec to be run by Octave rather than by +the user. + +@item libexec/octave/site/octave/@var{host_type} +Local object files that will be dynamically linked. +@end table If it is not possible for you to install Octave in @file{/usr/local}, or if you would prefer to install it in a different directory, you can specify the name of the top level directory as an argument to the -doinstall.sh script. For example: +@file{install-octave} script. For example: @example -sh ./doinstall.sh /some/other/directory +sh ./install-octave /some/other/directory @end example @noindent @@ -459,16 +478,48 @@ @itemize @bullet @item -You must build Octave in the same directory as the source. This is -required since the @samp{binary-dist} targets in the makefiles will not -work if you compile outside the source tree. +Unpack the source distribution. + +@item +Configure Octave using the command + +@example +./configure --disable-dl --disable-shl --disable-shared +@end example + +If your system supports shared libraries and dynamic linking, you should +also build a binary that supports those features, but it is important to +create a statically linked executable that will run no matter what +versions of the libraries are installed on the target system. + +@item +Build the binaries using the command + +@example +make LDFLAGS=-static +@end example @item -Use @samp{CFLAGS=-O CXXFLAGS=-O LDFLAGS=} as arguments for Make because -most people who get the binary distributions are probably not going to -be interested in debugging Octave. +Type @samp{make static-binary-dist}. This will create a compressed tar +file ready for distribution. The file will have a name like +@file{octave-@var{version}-@var{host_type}-static.tar.gz}. @item -Type @samp{make binary-dist}. This will build everything and then pack -it up for distribution. +If your system supports dynamic linking and shared libraries, build +another version of Octave that supports these features. Use the +commands + +@example +@group +configure --enable-shared +make +make dynamic-binary-dist +@end group +@end example + +@noindent +This will create a compressed tar file ready for distribution. The file +will have a name like +@file{octave-@var{version}-@var{host_type}-dynamic.tar.gz}. + @end itemize
--- a/octMakefile.in +++ b/octMakefile.in @@ -45,7 +45,7 @@ XBINDISTFILES = BUGS COPYING INSTALL INSTALL.OCTAVE NEWS NEWS.[0-9] \ PROJECTS README README.Linux README.NLP README.Windows \ - SENDING-PATCHES THANKS octave-sh insatll-octave mkinstalldirs \ + SENDING-PATCHES THANKS octave-sh install-octave mkinstalldirs \ ChangeLog ChangeLog.[0-9] BINDISTFILES = $(addprefix $(srcdir)/, $(XBINDISTFILES)) \ @@ -55,9 +55,6 @@ BINDISTSUBDIRS = libcruft liboctave src kpathsea readline info \ scripts doc emacs examples -# Complete directories trees to distribute with binary distributions. -BINDISTDIRS = emacs - # Subdirectories in which to run clean targets. CLEANSUBDIRS = $(DISTSUBDIRS) glob kpathsea @@ -136,22 +133,20 @@ dist-info-files: INSTALL.OCTAVE BUGS .PHONY: dist-info-files -links-for-dist: dist-info-files +dist: dist-info-files echo octave-$(version) > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(DISTFILES) `cat .fname` for dir in $(DISTDIRS); do ln -s ../$$dir `cat .fname`; done - for dir in $(DISTSUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) dist; cd ..; done -.PHONY: links-for-dist - -dist-tar: links-for-dist + for dir in $(DISTSUBDIRS); do \ + mkdir `cat .fname`/$$dir ; \ + cd $$dir ; \ + $(MAKE) dist ; \ + cd .. ; \ + done tar chf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` -.PHONY: dist-tar - -dist: dist-tar - echo octave-$(version) > .fname tar xf `cat .fname`.tar find `cat .fname` \( \( -name RCS -a -type d \) \ -o \( -name OLD -a -type d \) -o -name "=*" \ @@ -163,11 +158,59 @@ rm -rf `cat .fname`/test/octave.test/qpsol chmod -R a+rwX `cat .fname` tar cf `cat .fname`.tar `cat .fname` - rm -rf `cat .fname` .fname + rm -rf `cat .fname` + gzip --best `cat .fname`.tar + rm -f .fname .PHONY: dist +# Rules for making a snapshot. + +snapshot-version: + @echo "creating src/version.h" + @gawk '/#define OCTAVE_VERSION[ \t]*/ { \ + datestring = strftime("%y%m%d", systime()); \ + printf("#define OCTAVE_VERSION \"ss-%s\"\n", datestring); \ + next; \ + } { print $$0 }' src/version.h > src/version.h.new + @$(top_srcdir)/move-if-change src/version.h.new src/version.h +.PHONY: snapshot-version + +snapshot: snapshot-version + $(MAKE) dist +.PHONY: snapshot + +# Rules for making a dist of just the stuff needed to run configure. + +conf-dist: + echo config-dist-$(version) > .fname + rm -rf `cat .fname` + mkdir `cat .fname` + ln $(CONF_DISTFILES) `cat .fname` + for dir in $(CONF_DISTSUBDIRS); do \ + mkdir `cat .fname`/$$dir ; \ + cd $$dir ; \ + $(MAKE) conf-dist ; \ + cd .. ; \ + done + tar chf `cat .fname`.tar `cat .fname` + rm -rf `cat .fname` + gzip --best `cat .fname`.tar + rm -f .fname +.PHONY: conf-dist + # Rules for making a binary distribution. +bin-dist-type: + @if [ -z "$(DIST_TYPE)" ]; then \ + echo "***" ; \ + echo "*** Must specify a value for DIST_TYPE (static or dynamic)" ; \ + echo "***" ; \ + exit 1 ; \ + else \ + exit 0 ; \ + fi +.PHONY: bin-dist-type + VERSION: echo $(version) > VERSION .PHONY: VERSION @@ -176,23 +219,19 @@ echo $(target_host_type) > ARCH .PHONY: ARCH -links-for-bin-dist: VERSION ARCH octave-bug dist-info-files - echo octave-$(version)-$(target_host_type) > .fname +binary-dist: bin-dist-type VERSION ARCH octave-bug dist-info-files + echo octave-$(version)-$(target_host_type)-$(DIST_TYPE) > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(BINDISTFILES) `cat .fname` -# for dir in $(BINDISTDIRS); do ln -s ../$$dir `cat .fname`; done - for dir in $(BINDISTSUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) bin-dist; cd ..; done -.PHONY: links-for-bin-dist - -bin-dist-tar: links-for-bin-dist - echo octave-$(version)-$(target_host_type) > .fname + for dir in $(BINDISTSUBDIRS); do \ + mkdir `cat .fname`/$$dir ; \ + cd $$dir ; \ + $(MAKE) bin-dist ; \ + cd .. ; \ + done tar chf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` -.PHONY: bin-dist-tar - -binary-dist bin-dist: bin-dist-tar - echo octave-$(version)-$(target_host_type) > .fname tar xf `cat .fname`.tar find `cat .fname` \( \( -name RCS -a -type d \) \ -o \( -name OLD -a -type d \) -o -name "=*" \ @@ -204,39 +243,7 @@ rm -rf `cat .fname`/test/octave.test/qpsol chmod -R a+rwX `cat .fname` tar cf `cat .fname`.tar `cat .fname` - rm -rf `cat .fname` .fname -.PHONY: binary-dist bin-dist - -# Rules for making a dist of just the stuff needed to run configure. - -conf-dist: - echo config-dist-$(version) > .fname - rm -rf `cat .fname` - mkdir `cat .fname` - ln $(CONF_DISTFILES) `cat .fname` - for dir in $(CONF_DISTSUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) conf-dist; cd ..; done - tar chf `cat .fname`.tar `cat .fname` rm -rf `cat .fname` gzip --best `cat .fname`.tar rm -f .fname -.PHONY: conf-dist - -# Rules for making a snapshot. - -snapshot-z: snapshot-version - $(MAKE) dist - $(MAKE) dist-z -.PHONY: snapshot-z - -snapshot: snapshot-z -.PHONY: snapshot - -snapshot-version: - @echo "creating src/version.h" - @gawk '/#define OCTAVE_VERSION[ \t]*/ { \ - datestring = strftime("%y%m%d", systime()); \ - printf("#define OCTAVE_VERSION \"ss-%s\"\n", datestring); \ - next; \ - } { print $$0 }' src/version.h > src/version.h.new - @$(top_srcdir)/move-if-change src/version.h.new src/version.h -.PHONY: snapshot-version +.PHONY: binary-dist