emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master f3e494d 3/5: Go over travis testing.


From: Rocky Bernstein
Subject: [elpa] master f3e494d 3/5: Go over travis testing.
Date: Fri, 27 Feb 2015 23:29:33 +0000

branch: master
commit f3e494dd8a72558341b2d23cd6eee85a527e02a6
Author: rocky <address@hidden>
Commit: rocky <address@hidden>

    Go over travis testing.
---
 INSTALL          |  226 +++++++++++++++++++++++++++++++++++++++++------------
 test/Makefile.am |   39 ++++++++-
 2 files changed, 209 insertions(+), 56 deletions(-)

diff --git a/INSTALL b/INSTALL
index aaa3bf8..2099840 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -12,27 +12,29 @@ without warranty of any kind.
 Basic Installation
 ==================
 
-   Briefly, the shell commands `./configure && make' should configure,
-and build this package.  If that succeeds `make install' will install
-the package. However on some systems you may need root privileges, you 
-may have use `sudo make install' or perhaps `su root' beforehand.
-
-Generic Information
-===================
+   Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.  Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below.  The lack of an optional feature in a given package is not
+necessarily a bug.  More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
 
    The `configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
 those values to create a `Makefile' in each directory of the package.
-It also creates a shell script `config.status' that you can run in
-the future to recreate the current configuration, and a file
-`config.log' containing compiler output (useful mainly for debugging
-`configure').
-
-   The configure script can also use an optional file (typically
-called `config.cache' and enabled with `--cache-file=config.cache' or
-simply `-C') that saves the results of its tests to speed up
-reconfiguring.  Caching is disabled by default to prevent problems
-with accidental use of stale cache files.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
 
    If you need to do unusual things to compile the package, please try
 to figure out how `configure' could check whether to do them, and mail
@@ -41,9 +43,10 @@ be considered for the next release.  If you are using the 
cache, and at
 some point `config.cache' contains results you don't want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' is used to create `configure' by a program
-called `autoconf'.  You need `configure.ac' if you want to change it
-or regenerate `configure' using a newer version of `autoconf'.
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
 
    The simplest way to compile this package is:
 
@@ -64,45 +67,99 @@ or regenerate `configure' using a newer version of 
`autoconf'.
      user, and only the `make install' phase executed with root
      privileges.
 
-  5. You can remove the compiled Emacs Lisp files and other derived
-     files from the source code directory by typing `make clean'.  To
-     also remove the files that `configure' created (so you can
-     compile the package for a different kind of computer), type `make
-     distclean'.  There is also a `make maintainer-clean' target, but
-     that is intended mainly for the package's developers.  If you use
-     it, you may have to get all sorts of other programs in order to
-     regenerate files that came with the distribution.
-
-  6. You can also type `make uninstall' to remove the installed files
-     again.  
-
-  7. We don't provide `make distcheck' right now, but perhaps someday
-     we will. This is by used by developers to test that all other
+  5. Optionally, type `make installcheck' to repeat any self-tests, but
+     this time using the binaries in their final installed location.
+     This target does not install anything.  Running this target as a
+     regular user, particularly if the prior `make install' required
+     root privileges, verifies that the installation completed
+     correctly.
+
+  6. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+  7. Often, you can also type `make uninstall' to remove the installed
+     files again.  In practice, not all packages have tested that
+     uninstallation works correctly, even though it is required by the
+     GNU Coding Standards.
+
+  8. Some packages, particularly those that use Automake, provide `make
+     distcheck', which can by used by developers to test that all other
      targets like `make install' and `make uninstall' work correctly.
      This target is generally not run by end users.
 
-Options
+Compilers and Options
 =====================
 
-   Run `./configure --help' for details on the pertinent
-environment variables.
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
 
    You can give `configure' initial values for configuration parameters
 by setting variables in the command line or in the environment.  Here
 is an example:
 
-     ./configure CC=c99 EMACS=/usr/bin/emacs23-x
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 
    *Note Defining Variables::, for more details.
 
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you can use GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.  This
+is known as a "VPATH" build.
+
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+   On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor.  Like
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
 Installation Names
 ==================
 
-   By default, `make install' installs the package's emacs files under
-`/usr/local/share/emacs/site-lisp', You can specify an installation
-prefix other than `/usr/local/emacs/site-lisp' by giving `configure'
-the option `--with-site-lisp=PREFIX', where PREFIX must be an absolute
-file name.
+   By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
 correct locations to `configure'; however, many packages provide one or
@@ -158,6 +215,73 @@ overridden with `make V=1'; while running `./configure
 --disable-silent-rules' sets the default to verbose, which can be
 overridden with `make V=0'.
 
+Particular systems
+==================
+
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
+a workaround.  If GNU CC is not installed, it is therefore recommended
+to try
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
+   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+   On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'.  It is recommended to use the following options:
+
+     ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS
+     KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
 
 Sharing Defaults
 ================
@@ -179,15 +303,16 @@ configure again during the build, and the customized 
values of these
 variables may be lost.  In order to avoid this problem, you should set
 them in the `configure' command line, using `VAR=value'.  For example:
 
-     ./configure EMACS=/usr/bin/emacs23-x
+     ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `/usr/bin/emacs23-x' to be used as the Emacs program
-to use.
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -243,4 +368,3 @@ operates.
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
-
diff --git a/test/Makefile.am b/test/Makefile.am
index 8df6424..48f7f72 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,13 +1,41 @@
 include $(top_srcdir)/common.mk
 
-PHONY=check test all
-EXTRA_DIST=sample.txt
+PHONY=check test all check-elget test-elget help
 
-all:
+all: check
 
 #: same thing as "check"
 test: check
 
+#: overall help on running the make targets
+help:
+       @echo "The main function of this Makefile is to facilitate running 
tests."
+       @echo
+       @echo "To run all of the tests, use targets \"test\", \"check\" or 
\"check-short\"."
+       @echo "For example:"
+       @echo
+       @echo "    make check"
+       @echo "or:"
+       @echo "    make check-short"
+       @echo
+       @echo "The -short target uses a filter written in Ruby to remove 
extreanous output."
+       @echo
+       @echo "To run a specific test like test-srcbuf.el, change \".el\" to"
+       @echo "\".run\". For example:"
+       @echo
+       @echo "    make test-srcbuf.run"
+       @echo
+       @echo "Tests can also be run via the Emacs el-get package and this 
loads dependent emacs "
+       @echo "package, like load-relative. To do this, use targets, 
\"check-elget\","
+       @echo "\"test-elget\", or \"check-short-elget\"."
+       @echo
+       @echo  "To run a specific test like test-srcbuf.el via el-get change 
\".el\""
+       @echo "to \".elrun\" For example:"
+       @echo
+       @echo "    make test-srcbuf.elrun"
+
+EXTRA_DIST=sample.txt
+
 #: same thing as "check-elget"
 test-elget: check-elget
 
@@ -20,7 +48,8 @@ EL_GET_CHECK_FILES = $(notdir $(test_files:.el=.elrun))
 check: $(CHECK_FILES)
 
 #: Run all tests via el-get
-check-elget: $(EL_GET_CHECK_FILES)
+check-elget:
+       (cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash 
--load ./install-pkgs.el --load test-basic.el)
 
 #: Run all tests with minimum verbosity
 check-short:
@@ -28,7 +57,7 @@ check-short:
 
 #: Run all tests with minimum verbosity via el-get
 check-short-elget:
-       $(MAKE) check-elget 2>&1  | ruby ../make-check-filter.rb
+       $(MAKE) check-elget 2>&1  | ruby ./make-check-filter.rb
 
 test-%.run:
        (cd $(top_srcdir)/test && $(EMACS) --batch --no-site-file --no-splash 
--load $(@:.run=.el))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]