sxemacs
3 years agoTake care of fallout from updating/fixing #'eval-after-load
Steve Youngs [Sat, 18 Jun 2016 12:08:28 +0000 (22:08 +1000)]
Take care of fallout from updating/fixing #'eval-after-load

* lisp/info.el (Info-file-list-for-emacs): New, just to keep some
FSF/pkgs happy.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoLet #'eval-after-load accept symbol for FILE arg
Steve Youngs [Sat, 18 Jun 2016 09:53:23 +0000 (19:53 +1000)]
Let #'eval-after-load accept symbol for FILE arg

While looking into bug 183 I noticed that FSF's #'eval-after-load also
accepts a feature (i.e, a symbol) for the FILE arg.  I personally don't
think that's a wonderful idea, but I did see that a few things in
GNU/Emacs are using it (Tramp, for example).  This change adds rudimentary
support in our #'eval-after-load.  Basically, if FILE is a symbol, look up
a filename from #'feature-file, or use #'symbol-name if that fails.

The doc string was amended accordingly, and a note about the futility of
using #'eval-after-load with dumped lisp was also added.

* lisp/subr.el (eval-after-load): Also accept symbols for FILE
arg.
Add a note to doc string about the futility of using this on
dumped lisp.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoMake #'eval-after-load DTRT for dumped lisp (Closes bug 183)
Steve Youngs [Sat, 18 Jun 2016 07:59:37 +0000 (17:59 +1000)]
Make #'eval-after-load DTRT for dumped lisp (Closes bug 183)

* lisp/subr.el (eval-after-load): Make sure FORM is eval'd
immediately if FILE is a dumped lib.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoLet's not do "Pre-Release" packages.
Steve Youngs [Sun, 5 Jun 2016 12:13:11 +0000 (22:13 +1000)]
Let's not do "Pre-Release" packages.

Having "Pre-Release" packages and "Official Release" packages was a good
idea back in the early part of 2003 when I added that to XEmacs.  There
was an incredible amount of activity happening in the packages in those
days and bugs were frequently slipping into the packages releases.  Today,
things are different.  The amount of activity in packages, and the number
of users/devs we have it should be easily possible to keep everything in
check without the need for a separate "testing" package hierarchy.

We can always reimplement something along the lines of pre-release
packages at a later date if things get out of hand.

* lisp/menubar-items.el (default-menubar): Remove "Pre-Release"
package menu.

* lisp/package-ui.el (package-ui-pre-release-download-menu):
Remove.

* lisp/package-get.el (package-get-download-sites): Add our FTP,
remove everyone else.
(package-get-pre-release-download-sites): Remove.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoAutomake/Libtool warning fix/suppression
Steve Youngs [Wed, 1 Jun 2016 03:18:10 +0000 (13:18 +1000)]
Automake/Libtool warning fix/suppression

This changeset cleans up all of the warnings that our autogen.sh spits
out.  At least on my system with automake 1.15, and libtool 2.4.6.

A possibly controversial change here (read: ugly as hell) is that I've
symlinked a couple of files from `src' into `lib-src'.  The
lib-src/Makefile.am referenced regex.c, regex.h, and alloca.c in 'src'.
That caused automake to freak out and warn that we were using source files
in subdirectories which would become incompatible in the future.  Automake
does have a "subdir-objects" option for this type of thing, but it causes
problems elsewhere in our build chain.

The symlink "fix" is quick, dirty, and easy, however I'm happy to have it
reverted if a neater solution can be found.

* m4/sxe-libtool.m4 (_SXE_CHECK_LT2): Pull in `_LT_COMPILER_PIC'
to fix a swag of warnings about macros being expanded before being
required.

* lib-src/Makefile.am (REGEX_C, ALLOCA_C): Point to files in the
current directory which are symlinks to the originals in `src'.
This prevents a scary warning from automake about files in
subdirectories and future incompatibities.  Automake does have a
"subdir-objects" option, but because we have a specialised build
that causes more problems than it fixes.

* configure.ac (AM_INIT_AUTOMAKE): Use `-Wno-override' and
`-Wno-portability' to suppress harmless and irrelevant, at least
to us, warnings.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoDisplay a better version of the truth in the configure summary.
Steve Youngs [Tue, 31 May 2016 04:58:27 +0000 (14:58 +1000)]
Display a better version of the truth in the configure summary.

* configure.ac: Set $with_module_path to something closer to the
truth.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoImprove the configure summary output.
Steve Youngs [Mon, 30 May 2016 23:31:51 +0000 (09:31 +1000)]
Improve the configure summary output.

* m4/sxe-summary.m4 (SXE_SUMMARY): Add short caveat about package
paths may be different at runtime.

* configure.ac: Set $with_package_path to something closer to the
truth.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoFIX: missing paren
Steve Youngs [Sun, 29 May 2016 01:38:48 +0000 (11:38 +1000)]
FIX: missing paren

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoDon't use 'make-temp-file', fixes FFI/PUI.
Steve Youngs [Sun, 29 May 2016 01:03:24 +0000 (11:03 +1000)]
Don't use 'make-temp-file', fixes FFI/PUI.

* lisp/ffi/ffi-curl.el (curl:file-exists-p): Use 'make-temp-name'
instead of 'make-temp-file' which may not be available.
(curl:insert-file-contents-literally): Ditto.
(curl:download): #'expand-file-name on the PREFIX arg of
'make-temp-name' so it attempts to avoid name collision.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoSeemless integration of ffi-curl based packages install.
Steve Youngs [Sat, 28 May 2016 23:50:59 +0000 (09:50 +1000)]
Seemless integration of ffi-curl based packages install.

With this changeset, PUI uses the same code for retrieving remote package
files for both EFS backed PUI and ffi-curl backed PUI.  As a bonus
to this, the following forms are now available for use when ffi-curl is
loaded...

  (file-exists-p "http://example.com/filename")
  (file-readable-p "http://example.com/filename")
  (insert-file-contents-literally "http://example.com/filename")
  (copy-file "http://example.com/filename" "/local/file")
  (expand-file-name "http://example.com/filename")
  (file-name-directory "http://example.com/filename")
  (file-name-nondirectory "http://example.com/filename")

* lisp/package-get.el (package-get-update-base): Set the
MUST-MATCH arg in the call to #'read-file-name to nil when dealing
with URI style package sites so it more or less does a
#'read-string in those cases.
Maybe save index from URI style package sites as well.
(package-get): Remove the #'curl:download retrieval.  Package
downloading is now seemless regardless of the transport used.
(package-get-remote-filename): Immediately return FILENAME when
that is a URI style path as well.

* lisp/ffi/ffi-curl.el (curl:file-exists-p): New
(curl:file-readable-p): New
(curl:insert-file-contents-literally): New
(curl:copy-file): New
(curl:expand-file-name): New
(curl:file-name-directory): New
(curl:file-name-nondirectory): New
(curl:file-handler-regexp): New
(curl:file-handler): New

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoSupport http package mirror sites
Steve Youngs [Sat, 21 May 2016 12:22:43 +0000 (22:22 +1000)]
Support http package mirror sites

* curlpui:
  Fix an autoloads problem.
  Update PUI to use #'curl:download when available.

3 years agoFix an autoloads problem.
Steve Youngs [Sat, 21 May 2016 11:37:43 +0000 (21:37 +1000)]
Fix an autoloads problem.

* lisp/package-get.el (package-get-have-curl): Autoload it and set
its value via requiring ffi-curl instead of a featurep test.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoUpdate PUI to use ffi-curl
Steve Youngs [Sat, 21 May 2016 03:04:36 +0000 (13:04 +1000)]
Update PUI to use ffi-curl

* pui:
  Update PUI to use #'curl:download when available.

3 years agoImplement a blacklist for problem OpenSSL ciphers.
Steve Youngs [Mon, 16 May 2016 00:08:44 +0000 (10:08 +1000)]
Implement a blacklist for problem OpenSSL ciphers.

Since OpenSSL v1.0.0 was released, a number of ciphers have caused
problems for SXEmacs' ossl, up to and including data corruption.  This
changeset prevents these ciphers from being used.

See: `ossl-cipher-blacklist'

The blacklisted ciphers can still be used if they are first removed from
`ossl-cipher-blacklist', but obviously this is not recommended.

* src/openssl.c (ossl_check_cipher): New. Returns 0 if cipher is
NOT on our blacklist.
(Fossl_available_ciphers): Check cipher with ossl_check_cipher().
(ossl_cipher_fun): Ditto.
(Fossl_bytes_to_key): Ditto.
(Fossl_encrypt): Ditto.
(Fossl_encrypt_file): Ditto.
(Fossl_decrypt): Ditto.
(Fossl_decrypt_file): Ditto.
(Fossl_seal): Ditto.
(Fossl_open): Ditto.
(Fossl_pem_write_key): Ditto.
(Fossl_pem_key): Ditto.
(Fossl_digest_size): Typo fix "cipher" -> "digest".
(vars_of_openssl): New var, Vossl_cipher_blacklist. A list of
ciphers we don't want to use.
(syms_of_openssl): Define all of the blacklisted cipher names.

* tests/automated/openssl-tests.el: Run tests on all available
ciphers and digests.
Make sure use of blacklisted ciphers results in an error.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoPrevent Unexpected errors in OpenSSL Testsuite.
Steve Youngs [Tue, 10 May 2016 06:15:17 +0000 (16:15 +1000)]
Prevent Unexpected errors in OpenSSL Testsuite.

For some years now we've been seeing a couple of unexpected errors
cropping up in the OpenSSL tests.  It turns out that certain ciphers
disagree with how we do things, or perhaps OpenSSL itself is buggy.
Either way, what this changeset does is stop those ciphers being used in
the testsuite.

Yes, this is very much a case of sticking our fingers in our ears and
screaming "LA LA LA I'm NOT LISTENING!!".  Expect a real fix in openssl.c
to come in the future.  Hopefully sooner, rather than later.

* tests/automated/openssl-tests.el: Prevent known-bad ciphers from
ruining our testsuite.
Open up the tests to also include ciphers smaller than 128bits,
and all digests. This effectively increases the number of tests
run to more than 200,000.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoLast release's ChangeLog
Steve Youngs [Fri, 6 May 2016 11:01:30 +0000 (21:01 +1000)]
Last release's ChangeLog

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoSXEmacs v22.1.16 is released! v22.1.16
Steve Youngs [Fri, 6 May 2016 08:30:51 +0000 (18:30 +1000)]
SXEmacs v22.1.16 is released!

What can I say, I got tired of waiting and just, well, released.

* info/sxemacs/sxemacs.texi (Top): Update version.

* info/sppm.texi: Update versioning macros.

* autogen.sh (EXPECTED_TREE_VERSION): 22.1.16
(sxemacs_codename): "Hillman Hunter"

* etc/NEWS: Add the news for v22.1.16

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoFix the fix to really close 181
Steve Youngs [Tue, 15 Mar 2016 00:41:53 +0000 (10:41 +1000)]
Fix the fix to really close 181

* merges:
  Fix MPFR Flog implementation

3 years agoFix MPFR Flog implementation
Nelson Ferreira [Mon, 14 Mar 2016 23:05:46 +0000 (19:05 -0400)]
Fix MPFR Flog implementation

* src/ent/floatfns.c (Flog10): Use RETURN_WHEN_INDEF to check
before dividing by log 10.
(Flog2): Use RETURN_WHEN_INDEF to check before dividing by log 2.
(Flog): Properly add parameters to Flog.  Use
the common RETURN_WHEN_INDEF when Flog return indefinite.
Plus some whitespace fixes.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoClose 181
Steve Youngs [Mon, 14 Mar 2016 07:58:53 +0000 (17:58 +1000)]
Close 181

* merges:
  Fix bug 181: log does not take base into account without mpfr

3 years agoFix bug 181: log does not take base into account without mpfr
Nelson Ferreira [Sat, 12 Mar 2016 17:33:46 +0000 (12:33 -0500)]
Fix bug 181: log does not take base into account without mpfr

* src/ent/floatfns.c (RETURN_WHEN_INDEF): New macro for the common
handling of indefinites in logarithmic functions.
(Flog10): Always define, but throw invalid operation if no
logarithmic primitive is available.
(Flog2): Ditto.
(Flog): Try to use Flog10 or Flog2 if the bases match.  In case of
float operation try to use Flog2 since it is usually more
efficient.

* configure.ac: Check for availability of all the logarithmic
functions.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoError instead of crashing on OGG/MP3 streams
Steve Youngs [Sat, 16 Jan 2016 23:16:54 +0000 (09:16 +1000)]
Error instead of crashing on OGG/MP3 streams

* merges:
  Debug message fix
  Fix crash when using ffmpeg to play mp3 and ogg

3 years agoDebug message fix
Nelson Ferreira [Sat, 16 Jan 2016 22:18:36 +0000 (17:18 -0500)]
Debug message fix

* src/media/media.c (sxe_msf_DBL_down): Minor fix on debug
message, it is DBL not FLT.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoFix crash when using ffmpeg to play mp3 and ogg
Nelson Ferreira [Sat, 16 Jan 2016 22:14:03 +0000 (17:14 -0500)]
Fix crash when using ffmpeg to play mp3 and ogg

* src/media/media-ffmpeg.c (media_ffmpeg_analyse_audio): Refactor
detection of sample size using av_get_bytes_per_sample. Error when
format is not supported instead of silently go ahead and possibly
crash later.

* src/media/media.c (sxe_msf_DBL_up): Implement conversion to
internal format from double.
(sxe_msf_DBL_down): Implement from internal format to double.

* src/media/media.h: Declare double encoded samples.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Detect
av_get_bytes_per_sample and av_get_sample_fmt_string.
(SXE_MM_CHECK_FFMPEG): Enforce presenc of av_get_bytes_per_sample
and av_get_sample_fmt_string.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoFfile_basename(), Ffile_dirname() updates, POSIX compliance
Steve Youngs [Sun, 10 Jan 2016 06:57:31 +0000 (16:57 +1000)]
Ffile_basename(), Ffile_dirname() updates, POSIX compliance

* merges:
  Properly determine the name of preceeding directory
  Expand file name before dirname
  Use xrealpath
  Make basename and dirname POSIX compliant
  Add tests for file-name-directory, etc
  Add file name joiner
  Improve documentation

3 years agoProperly determine the name of preceeding directory
Nelson Ferreira [Sat, 9 Jan 2016 22:54:36 +0000 (17:54 -0500)]
Properly determine the name of preceeding directory

* lisp/build-autoloads.el (find-emod-directories): Use basename of
dirname to determine name of preceeding directory.  Now that
basename and dirname are POSIX compliant this works and is much
more bullet proof than the split of dirname by /.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoExpand file name before dirname
Nelson Ferreira [Sat, 9 Jan 2016 22:52:44 +0000 (17:52 -0500)]
Expand file name before dirname

* lisp/packages.el (package-suppress): Expand file name before
call to file-dirname

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoUse xrealpath
Nelson Ferreira [Sat, 9 Jan 2016 22:51:27 +0000 (17:51 -0500)]
Use xrealpath

* src/dired.c (dired_realpath): Use xrealpath for safety

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoMake basename and dirname POSIX compliant
Nelson Ferreira [Sat, 9 Jan 2016 22:49:05 +0000 (17:49 -0500)]
Make basename and dirname POSIX compliant

* src/fileio.c (Ffile_basename): Improve documentation and make
POSIX compliant by returning full string when there is no slashes.

* src/fileio.c (Ffile_dirname): Improve documentation and make
POSIX compliant by using xdirname.

3 years agoAdd tests for file-name-directory, etc
Nelson Ferreira [Sat, 9 Jan 2016 20:18:26 +0000 (15:18 -0500)]
Add tests for file-name-directory, etc

* tests/automated/lisp-tests.el: Add tests for
file-name-directory, file-name-nondirectory, file-dirname,
file-basename, file-name-join.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoAdd file name joiner
Nelson Ferreira [Sat, 9 Jan 2016 20:16:59 +0000 (15:16 -0500)]
Add file name joiner

* lisp/files.el (file-name-join): Add file-name-join to safely
join directory and filename components.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoImprove documentation
Nelson Ferreira [Sun, 3 Jan 2016 22:19:34 +0000 (17:19 -0500)]
Improve documentation

* src/fileio.c (Ffile_name_directory): Add samples to
documentation, so it is clearer what the outcome would be.
(Ffile_name_nondirectory): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoDocument text corruption issue with Xorg ATI driver
Nelson Ferreira [Sun, 3 Jan 2016 21:02:01 +0000 (16:02 -0500)]
Document text corruption issue with Xorg ATI driver

* PROBLEMS: Document text corruption issue with Xorg ATI driver

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoLadies and Gentlement, FFmpeg is back!
Steve Youngs [Fri, 1 Jan 2016 00:19:46 +0000 (10:19 +1000)]
Ladies and Gentlement, FFmpeg is back!

* merges:
  Final set of changes for a working ffmpeg.
  More update to newer ffmpeg API
  Use new virtual IO api
  Cleanup global video state.
  Additional usage of the new api
  Update ffmpeg codec and media constants
  Fix metadata usage
  Sync up FFmpeg -- autoconf

3 years agoFinal set of changes for a working ffmpeg.
Nelson Ferreira [Thu, 31 Dec 2015 19:39:54 +0000 (14:39 -0500)]
Final set of changes for a working ffmpeg.

There are a couple of edges to polish but "works for me" now.

* src/media/media-ffmpeg.c (media_ffmpeg_read): Use
avcodec_decode_audio3 if available. More work is needed to use
avcodec_decod_audio4 because it uses frames which would need to
then be copied to the output buffer.
(my_get_buffer): Use avcodec_default_get_buffer2.
(my_release_buffer): No longer needed.
(stream_component_open): Properly set the thread count and use
avcodec_open2. Set get_buffer2 to my_get_buffer since we
are using the new interface.
(media_ffmpeg_available_formats): Use av_iformat_next.
(stream_open): Defer setting codec options to a later better
understanding of ffmpeg (keep #if 0 the old).
(new_media_ffmpeg_open): Use only the most recent AVIOContext access
method to set eof_reached. If we get issues reported we'll
revisit.
(new_media_ffmpeg_read): Use avio_eof and the most error field of
AVIOContext instead of furl_feof.  Do not unset the interrupt
callback for now.  We may need to revisit the reset of the
callback later.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Properly check for the
avcodec_decode_audio* and define corresponding
HAVE_AVCODEC_AUDIO*.  Also check for av_iformat_next.
(SXE_MM_CHECK_FFMPEG): Check at least one avcodec_decode_audio is
available and av_iformat_next.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoMore update to newer ffmpeg API
Nelson Ferreira [Thu, 31 Dec 2015 19:15:14 +0000 (14:15 -0500)]
More update to newer ffmpeg API

* src/media/media-ffmpeg.h: Add include of avutil/time.h

* src/media/media-ffmpeg.c (AVCODEC_MAX_AUDIO_FRAME_SIZE): Add
define if missing to last known legacy value.
(media_ffmpeg_open): Properly use avcodec_open2
(media_ffmpeg_read): Fix warnings.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_HEADERS): Check also avutil/time.h.
(SXE_CHECK_FFMPEG_LIBS): Check for avformat_free_context and avio_feof.
(SXE_MM_CHECK_FFMPEG): Refactor header check for ease of adding
additional ones.  Verify avformat_free_context and avio_feof are
available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoUse new virtual IO api
Nelson Ferreira [Thu, 31 Dec 2015 16:58:19 +0000 (11:58 -0500)]
Use new virtual IO api

* src/media/media-ffmpeg.c: Remove the no-longer used
media_ffmpeg_vio_open, media_ffmpeg_vio_close,
media_ffmpeg_vio_write.
(media_ffmpeg_vio_read): Use the new opaque pointer interface of
AVIOContext, which points to our media_data struct directly.
(media_ffmpeg_vio_seek): Ditto.
(media_ffmpeg_open_data): Use the new AVIOContext and allocate one
pointing to media_ffmpeg_vio_read, media_ffmpeg_vio_seek and with
opaque data as our media_data.  Use the context to open the input.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoCleanup global video state.
Nelson Ferreira [Thu, 31 Dec 2015 16:39:44 +0000 (11:39 -0500)]
Cleanup global video state.

* src/media/media-ffmpeg.c: Remove global video state since it is
not used, except to set to NULL.
 (new_media_ffmpeg_read): No need to reset global_video_state, as it is not used.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoAdditional usage of the new api
Nelson Ferreira [Thu, 31 Dec 2015 16:37:06 +0000 (11:37 -0500)]
Additional usage of the new api

* src/media/media-ffmpeg.c (media_ffmpeg_open_file): Use
avformat_open_input and avformat_find_stream_info,
avformat_close_input.
(stream_open): Use avformat_open_input.
(media_ffmpeg_close): Use avformat_close_input.
(media_ffmpeg_open): Use avio_size, avformat_find_stream_info,
av_dump_format and avoid warning.
(new_media_ffmpeg_read): Use avformat_close_input.

* src/media/media-ffmpeg.h: Include avcodec.h

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG): Verify availability of all
the included ffmpeg headers. And additional functions,
avio_alloc_context, avio_size, av_dump_format.
(SXE_CHECK_FFMPEG_HEADERS): Check also for avcodec.h
(SXE_CHECK_FFMPEG_LIBS): Check for av_dump_format,
avio_alloc_context, avio_size.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoUpdate ffmpeg codec and media constants
Nelson Ferreira [Sun, 27 Dec 2015 22:44:04 +0000 (17:44 -0500)]
Update ffmpeg codec and media constants

* src/media/media-ffmpeg.c (media_ffmpeg_analyse_audio): Use
AV_SAMPLE_* instead of SAMPLE_*.
(media_ffmpeg_open): Use AVMEDIA_TYPE_* instead of CODEC_TYPE_*.
(stream_component_open): Ditto.
(stream_component_close): Ditto.
(new_media_ffmpeg_open): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoFix metadata usage
Nelson Ferreira [Sun, 27 Dec 2015 22:33:42 +0000 (17:33 -0500)]
Fix metadata usage

* src/media/media-ffmpeg.h: Add include for dict.h

* src/media/media-ffmpeg.c (media_ffmpeg_streaminfo): Use
AVDictionary.
(dump_stream_info): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoSync up FFmpeg -- autoconf
Steve Youngs [Mon, 2 Jul 2012 14:05:57 +0000 (00:05 +1000)]
Sync up FFmpeg -- autoconf

This changeset is the first in a series to sync up our FFmpeg code with a
much more modern and up to date FFmpeg.  This one takes care of the
autoconf side of things.  It is cherry-picked from an earlier ffmpeg-fix
branch, squashing all the configuration related changes.

This changeset also introduces new minimum versions of libavformat and
libavcodec required by SXEmacs:

  libavformat -- 55.12.100
  libavcodec  -- 55.18.102

* configure.ac: Need libs for avcodec as well as avformat. Add
          in libavutil libs.

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG): Rework it for modern
ffmpeg. Check for av_dict_get() in libavutil.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_HEADERS): Check for avcodec.h
and dict.h as well.

* m4/sxe-mm.m4 (SXE_CHECK_FFMPEG_LIBS): Check for libavutil.

* m4/sxe-mm.m4 (SXE_MM_CHECK_FFMPEG):

3 years agoA place to keep aliases to built-in constants when needed
Steve Youngs [Sat, 26 Dec 2015 02:12:26 +0000 (12:12 +1000)]
A place to keep aliases to built-in constants when needed

* merges:
  Add logged, but missing change from previous commit.
  Segregate aliases to DEFVAR_CONST
  Revert "Fix the fix, make pi a normal lisp var (Closes bug #176)"

3 years agoAdd logged, but missing change from previous commit.
Steve Youngs [Sat, 26 Dec 2015 02:04:53 +0000 (12:04 +1000)]
Add logged, but missing change from previous commit.

* lisp/Makefile.am (corelispels): Add const-aliases.el.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoSegregate aliases to DEFVAR_CONST
Nelson Ferreira [Fri, 25 Dec 2015 21:40:24 +0000 (16:40 -0500)]
Segregate aliases to DEFVAR_CONST

* lisp/float-sup.el: Remove alias for pi and e when bigfr is
available. These should now be defined in const-aliases, loaded
by startup.

* lisp/const-aliases.el (pi): Define const as bigfr-pi when bigfr
is available.
(e): Define as euler when bigfr is available.

* lisp/Makefile.am (corelispels): Add const-aliases.el to list of
files.

* lisp/startup.el (load-init-file): Require new const-aliases to
load the consts that cannot be dumped.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoRevert "Fix the fix, make pi a normal lisp var (Closes bug #176)"
Nelson Ferreira [Fri, 25 Dec 2015 21:34:17 +0000 (16:34 -0500)]
Revert "Fix the fix, make pi a normal lisp var (Closes bug #176)"

This reverts commit 528ced5b22b7681234d5228d0a2a02d9a2305312.

3 years agoFix the fix, make pi a normal lisp var (Closes bug #176)
Steve Youngs [Wed, 23 Dec 2015 08:20:22 +0000 (18:20 +1000)]
Fix the fix, make pi a normal lisp var (Closes bug #176)

This change reverts the previous one, and then goes about closing bug 176
in a different way.  Namely, by changing Vpi from being a
DEFVAR_CONST_LISP to a DEFVAR_LISP. IOW, a plain ordinary variable.

* src/ent/ent-mpfr.c (vars_of_ent_mpfr): Set Vpi to be a normal
lisp variable instead of a constant so packages like Calc can
let-bind them for their own evil and misguided purposes. :-)
Vbigfr_pi -> Vpi

* src/ent/ent-mpfr.h: Vbigfr_pi -> Vpi

* lisp/float-sup.el: Revert previous change.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoDefine `pi' in elisp, even with bigfr. (Closes bug #176)
Steve Youngs [Mon, 21 Dec 2015 23:35:21 +0000 (09:35 +1000)]
Define `pi' in elisp, even with bigfr. (Closes bug #176)

An elisp constant defined with #'defconst can be let-bound, or otherwise
altered.  But one that is defined in C cannot be.  SXEmacs' pi is
sometimes defined in elisp, and sometimes in C, depending on whether it
has bigfr or not.  The Calc XEmacs package let-binds pi in a couple of
places, resulting in errors when (featurep 'bigfr) => t.

With this change, pi is defined in elisp regardless of bigfr.  But it will
still use bigfr to obtain the value if it is available.

* lisp/float-sup.el: Define pi in elisp, even if we have bigfr,
and in that case set it to what mpfr gives us.
Same for e.

* src/ent/ent-mpfr.c (init_ent_mpfr): Vpi -> Vbigfr_pi
(vars_of_ent_mpfr): Vpi -> Vbigfr_pi, pi -> bigfr-pi

* src/ent/ent-mpfr.h: Vpi -> Vbigfr_pi

Signed-off-by: Steve Youngs <steve@sxemacs.org>
3 years agoMore warning fixes from Nelson
Steve Youngs [Mon, 21 Dec 2015 07:04:30 +0000 (17:04 +1000)]
More warning fixes from Nelson

* merges:
  Fixing more TTY/term warning/prototype craziness.
  More term crazyness warnings fixing.

3 years agoFixing more TTY/term warning/prototype craziness.
Nelson Ferreira [Sun, 20 Dec 2015 21:56:10 +0000 (16:56 -0500)]
Fixing more TTY/term warning/prototype craziness.

* src/ui/TTY/redisplay-tty.c: Include term.h if available.
Define prototypes for tgetent, tgetflag, tgetnum, tgetstr, tputs
if not available.

* configure.ac (CURSES_H_FILE): No default in variable expansion.
(TERMCAP_H_FILE): Ditto.
(TERM_H_FILE): Ditto.
(HAVE_TPARM_PROTOTYPE): Add 'checking' message.
(HAVE_TGETENT_PROTOTYPE): Check if tgetent prototype is available.
(HAVE_TGETFLAG_PROTOTYPE): Check if tgetflag prototype is available.
(HAVE_TGETNUM_PROTOTYPE): Check if tgetnum prototype is available.
(HAVE_TGETSTR_PROTOTYPE): Check if tgetstr prototype is available.
(HAVE_TPUTS_PROTOTYPE): Check if tputs prototype is available

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoMerge branch 'master' into for-steve
Nelson Ferreira [Sun, 20 Dec 2015 20:06:32 +0000 (15:06 -0500)]
Merge branch 'master' into for-steve

3 years agoMore term crazyness warnings fixing.
Nelson Ferreira [Sun, 20 Dec 2015 20:04:34 +0000 (15:04 -0500)]
More term crazyness warnings fixing.

* configure.ac (CURSES_H_FILE): Only define if we have one.
(TERMCAP_H_FILE): Ditto.
(TERM_H_FILE): Ditto.
(HAVE_TPARM_PROTOTYPE): Detect we tparm prototype is available.

* src/ui/TTY/terminfo.c: Only include TERM_H_FILE is we have it.
Properly decide when to define a tparm prototype, based on when
configure detected it.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
3 years agoEgo Patch -- Tweak my info a little.
Steve Youngs [Tue, 15 Dec 2015 12:08:00 +0000 (22:08 +1000)]
Ego Patch -- Tweak my info a little.

* lisp/about.el (sxemacs-hackers): Add Aidan from XEmacs'
about.el.
(about-current-release-maintainers): Sort.
(about-url-alist): Add a couple of my URLs
(about-personal-info): Update me a little, use updated URLs

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoCompiler warning fixes from Nelson
Steve Youngs [Sun, 13 Dec 2015 04:58:01 +0000 (14:58 +1000)]
Compiler warning fixes from Nelson

* merges:
  Add missing declaration for make_bigz
  More eliminate silly warnings
  Eliminate silly warnings

4 years agoAdd missing declaration for make_bigz
Nelson Ferreira [Sat, 12 Dec 2015 22:29:30 +0000 (17:29 -0500)]
Add missing declaration for make_bigz

* src/ent/ent-int.h: Add prototype for make_bigz

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoMore eliminate silly warnings
Nelson Ferreira [Sat, 12 Dec 2015 21:45:27 +0000 (16:45 -0500)]
More eliminate silly warnings

* src/search.c (fast_string_match): Use a temporary to avoid
warning about constness.

* src/openssl.c (Fossl_digest_file): Mark set unused but unused
variable.
(Fossl_pem_write_public_key): Ditto.
(Fossl_pem_write_key): Ditto.
(Fossl_ssl_read): Ditto.
(Fossl_ssl_write): Ditto.
(ossl_ssl_prepare_cmeth): Ignore drop of const qualifier. The
alternative of using const for SSL methods everywhere is not
workable if we are to support older OpenSSL versions.
(ossl_ssl_prepare_smeth): Ditto.

* src/alloc.c (make_string_nocopy): Remove unnecessary cast.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoEliminate silly warnings
Nelson Ferreira [Sat, 12 Dec 2015 20:56:06 +0000 (15:56 -0500)]
Eliminate silly warnings

* src/ui/TTY/terminfo.c (emacs_tparam): We don't control tparm
prototype where some have const qualifiers others don't. Turning
the warning off is the sensible choice.

* src/ui/glyphs-eimage.c (gif_instantiate): Small cosmetic change.

* src/ui/X11/event-Xt.c (init_event_Xt_late): We don't control the
prototype for XtAppSetTypeConverter where some have const others don't
so turning the warning off is the sensible option...

* src/ui/X11/device-x.c (Fx_get_font_path): Const all around keeps
compilers happy.

* src/events/event-stream.c (asyneq_handle_non_command_event): Use
a void* temporary to sidestep warning.

* src/regex.c (POP_FAILURE_POINT): Don't cast unnecessarily.
(re_match_2_internal): Turn off const cast warning since the code
will always need it one macro expansion or another. Can't win here
without cheating :)

* src/buffer.c (directory_is_current_directory): Cast
to target type, when conversion fails.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFix openssl support
Nelson Ferreira [Sat, 12 Dec 2015 18:32:24 +0000 (13:32 -0500)]
Fix openssl support

Let's detect needed features in configure instead of relying on
defines coming from openssl headers since they have proven not
to be reliable

* m4/sxe-crypto.m4 (SXE_OPENSSL_VERSION): Update versions of
openssl supported.
(SXE_TRY_OPENSSL_BIN_PREFIX): Update headers checked.
(SXE_CHECK_OPENSSL_LOCS): Ditto.
(SXE_CHECK_OPENSSL_FEATURES): Check for types and make openssl not
available if missing.

* src/openssl.h: Update guards on includes
(Lisp_SSL_CONN): Assume types are available as
configure should not include openssl for compilation if they
are not available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoCompiler & warning related updates/fixes from Nelson
Steve Youngs [Sun, 6 Dec 2015 23:26:44 +0000 (09:26 +1000)]
Compiler & warning related updates/fixes from Nelson

* merges:
  Typo fix, 'max_align_t' -> 'sxe_max_align_t'
  Silence warnings about usage of deprecated function when existing alternative is not available.
  Use proper assert in lwlib
  Fix typo on include guard for term.h
  Use proper max in lwlib
  Add some prototype to silence silly warnings.
  Turn off warning about deprecated usage of __free_hook.
  Use min/max from sxe-utils
  Properly handle return from getcwd.
  Shut set but unused warnings.
  Rename our max_align_t to sxe_max_align_t
  Mark variables set but unused.
  Fixup assert definitions.
  Add SXE_SET_UNUSED to shut unused warnings.
  Cleanup utilities. Introduce sxe-memory.h
  Address static inline warning in ase.
  Prevent movemail from proceeding when setuid fails

4 years agoTypo fix, 'max_align_t' -> 'sxe_max_align_t'
Steve Youngs [Sun, 6 Dec 2015 23:23:24 +0000 (09:23 +1000)]
Typo fix, 'max_align_t' -> 'sxe_max_align_t'

* src/ui/specifier.c (aligned_sizeof_specifier): 'max_align_t' ->
`sxe_max_align_t'

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoSilence warnings about usage of deprecated function when existing alternative is...
Nelson Ferreira [Sun, 6 Dec 2015 22:24:36 +0000 (17:24 -0500)]
Silence warnings about usage of deprecated function when existing alternative is not available.

* src/ui/X11/event-Xt.c (whatever): Add pragma to ignore warning.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoUse proper assert in lwlib
Nelson Ferreira [Sun, 6 Dec 2015 21:54:49 +0000 (16:54 -0500)]
Use proper assert in lwlib

* src/ui/lwlib/lwlib-internal.h: Include sxe-utils instead of
defining assert.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFix typo on include guard for term.h
Nelson Ferreira [Sun, 6 Dec 2015 21:53:42 +0000 (16:53 -0500)]
Fix typo on include guard for term.h

* src/ui/TTY/terminfo.c: Fix typo

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoUse proper max in lwlib
Nelson Ferreira [Sun, 6 Dec 2015 21:52:42 +0000 (16:52 -0500)]
Use proper max in lwlib

* src/ui/lwlib/lwlib.c: Undefine max macro to use this type safe
alternative.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAdd some prototype to silence silly warnings.
Nelson Ferreira [Sun, 6 Dec 2015 21:50:21 +0000 (16:50 -0500)]
Add some prototype to silence silly warnings.

* src/effi.c(ffi_make_callback_x86): Add  prototype.
* src/media/sound-jack.c (demux_internal): Ditto.
* src/mule/file-coding.c (autodetect_real_coding_system): Ditto.
* src/print.c (float_to_string): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoTurn off warning about deprecated usage of __free_hook.
Nelson Ferreira [Sun, 6 Dec 2015 21:46:36 +0000 (16:46 -0500)]
Turn off warning about deprecated usage of __free_hook.

Since this is to try and avoid crashes on shutdown, it will either
be available and work, or linking will fail, which will be detected
by configure, and thus we will not use it.

* configure.ac: Add HAVE_FREE_HOOK when __free_hook is available.
Also fix detection of __after_morecore_hook.
* src/emacs.c (voodoo_free_hook): Ignore the warning about
deprecated variable.
* src/emacs.c (Fkill_emacs): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoUse min/max from sxe-utils
Nelson Ferreira [Sun, 6 Dec 2015 21:10:33 +0000 (16:10 -0500)]
Use min/max from sxe-utils

* src/ui/lwlib/xlwmenu.c: Include sxe-utils and remove the current
max macro.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoProperly handle return from getcwd.
Nelson Ferreira [Sun, 6 Dec 2015 21:05:30 +0000 (16:05 -0500)]
Properly handle return from getcwd.

* src/realpath.c (xrealpath): Is getcwd returns NULL, also return
NULL.  If we can't determine the cwd, then any relative path
processing fails.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoShut set but unused warnings.
Nelson Ferreira [Sun, 6 Dec 2015 21:02:46 +0000 (16:02 -0500)]
Shut set but unused warnings.

These are in the code for debug/inspection purposes.

* src/ui/lwlib/xlwgauge.c (GaugeExpose): Use SXE_SET_UNUSED.

* src/ui/lwlib/xlwcheckbox.c (DrawCheck):Ditto.

* src/sysdep.c (tty_init_sys_modes_on_device)
(tty_reset_sys_modes_on_device): Ditto.

* src/regex.c (re_match_2_internal): Ditto.

* src/mule/file-coding.c (Fdefine_coding_system_alias): Ditto.

* src/media/sound-oss.c (sound_oss_handle_aj_events): Ditto.

* src/media/sound-jack.c (sound_jack_handle_aj_events)
(sound_jack_process): Ditto.

* src/media/sound-ao.c (sound_ao_handle_aj_events): Ditto.

* src/media/sound-alsa.c (sound_alsa_handle_aj_events): Ditto.

* src/media/media-sndfile.c (media_sndfile_open): Ditto.

* src/media/media-mad.c (media_mad_read): Ditto.

* src/media/media-internal.c (media_internal_analyse_stream): Ditto.

* src/emacs.c (Fdump_emacs): Ditto.

* src/bytecode.c (execute_optimized_program): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoRename our max_align_t to sxe_max_align_t
Nelson Ferreira [Sun, 6 Dec 2015 18:03:28 +0000 (13:03 -0500)]
Rename our max_align_t to sxe_max_align_t

This is needed because newer compilers now ship with this
symbol.

* src/sxe-utils.h: Rename max_align_t to sxe_max_align_t
* src/dumper.c (pdump_get_entry_list): Use sxe_max_align_t
(pdump_scan_by_alignment): Ditto.
(pdump): Ditto.
* src/opaque.c (aligned_sizeof_opaque): Ditto.
* src/opaque.h (Lisp_Opaque): Ditto.
* src/specifier.h (Lisp_Specifier): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoMark variables set but unused.
Nelson Ferreira [Sun, 27 Sep 2015 21:35:16 +0000 (17:35 -0400)]
Mark variables set but unused.

* src/lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): Mark elt as unused.
(PRIVATE_EXTERNAL_ALIST_LOOP_8): Set elt_car and elt_cdr as unused.
* src/mule/mule-ccl.c (CCL_WRITE_STRING): Set bytes as unused.
* src/ui/X11/dialog-x.c (dbox_descriptor_to_widget_value): Set
title as unused.
* src/ui/X11/glyphs-x.c (x_widget_instantiate): Set nm as unused.
* src/ui/X11/gui-x.c (button_item_to_widget_value): Set intlen as
unused.
* src/ui/X11/objects-x.c (x_font_instance_properties): Set
name_len as unused.
* src/ui/lwlib/lwlib-Xlw.c (xlw_update_one_widget): Set mw as
unused.
* src/ui/lwlib/xlwtabs.c (TabsResize): Set tab as unused.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFixup assert definitions.
Nelson Ferreira [Sun, 27 Sep 2015 21:28:23 +0000 (17:28 -0400)]
Fixup assert definitions.

* src/sxe-utils.h: Use assert_failed only when compiling emacs
itself.  Also make assert a proper no-op expression, i.e.,
(void)0.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAdd SXE_SET_UNUSED to shut unused warnings.
Nelson Ferreira [Sun, 27 Sep 2015 21:26:39 +0000 (17:26 -0400)]
Add SXE_SET_UNUSED to shut unused warnings.

* src/sxe-utils.h (SXE_SET_UNUSED): Define macro to mark variables
set but unused, aka, dummy vars.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoCleanup utilities. Introduce sxe-memory.h
Nelson Ferreira [Sun, 27 Sep 2015 21:24:04 +0000 (17:24 -0400)]
Cleanup utilities. Introduce sxe-memory.h

Move all the memory related utilities to sxe-memory.h so that
sxe-utils.h can be included in contexts where the memory utils
are not welcome.

* src/sxemacs.h: Remove include for sxe-utils.h, lisp.h already
does it.
* src/lisp.h: Include new sxe-memory.h
* src/sxe-utils.h: Remove xnew, xnew_atomic, xnew_array,
xnew_atomic_array, xnew_and_zero, xzero, xnew_array_and_zero,
xrealloc_array, alloca_array, xstrdup
* src/sxe-memory.h: Add definitions removed from sxe-utils.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAddress static inline warning in ase.
Nelson Ferreira [Sun, 27 Sep 2015 21:14:52 +0000 (17:14 -0400)]
Address static inline warning in ase.

* modules/ase/ase-neighbourhood.h: Use extern_inline.
(ase_neighbourhood_point): Move definition to header.
(ase_neighbourhood_radius): Ditto.
(ase_neighbourhood_rational_measure): Ditto.
(ase_neighbourhood_lebesgue_measure): Ditto.
(_ase_neighbourhood_lebesgue): Inline dependency hoisted.
(_ase_neighbourhood_update_lebesgue): Ditto.
(_ase_neighbourhood_rational): Ditto.
(_ase_neighbourhood_update_rational): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoPrevent movemail from proceeding when setuid fails
Nelson Ferreira [Sun, 27 Sep 2015 21:10:45 +0000 (17:10 -0400)]
Prevent movemail from proceeding when setuid fails

* lib-src/movemail.c (main): Exit is setuid fails

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoMerge branch 'master' into for-steve
Nelson Ferreira [Sat, 26 Sep 2015 15:41:17 +0000 (11:41 -0400)]
Merge branch 'master' into for-steve

4 years agoMinor package-get cleanup + bldchain tweak
Steve Youngs [Sun, 20 Sep 2015 23:21:31 +0000 (09:21 +1000)]
Minor package-get cleanup + bldchain tweak

* merges:
  Cleanup invalid mirrors
  Cleanup mirrors
  Improve missing header message
  Improve detection libtool version detection

4 years agoCleanup invalid mirrors
Nelson Ferreira [Sun, 20 Sep 2015 16:57:43 +0000 (12:57 -0400)]
Cleanup invalid mirrors

* lisp/package-get.el (package-get-pre-release-download-sites):
Remove commented out entries from previous commit.
(package-get-download-sites): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoCleanup mirrors
Nelson Ferreira [Sun, 20 Sep 2015 16:54:31 +0000 (12:54 -0400)]
Cleanup mirrors

* lisp/package-get.el (package-get-download-sites): Annotate
mirrors with connectivity difficulties or outdated contents.
Comment out mirrors which do not resolve or do not carry XEmacs
packages anymore.
(package-get-pre-release-download-sites): Ditto.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove missing header message
Nelson Ferreira [Sun, 20 Sep 2015 14:52:44 +0000 (10:52 -0400)]
Improve missing header message

* configure.ac: Note that we also need Xt headers as newer distros
tend to package Xt headers separately from core X11.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove detection libtool version detection
Nelson Ferreira [Sun, 20 Sep 2015 14:51:00 +0000 (10:51 -0400)]
Improve detection libtool version detection

* autogen.sh: Use libtoolize for version if libtool is not to be
found.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoTTY + General build chain related updates
Steve Youngs [Mon, 14 Sep 2015 03:43:56 +0000 (13:43 +1000)]
TTY + General build chain related updates

* merges:
  Conditional automake init
  Small configure.ac fix
  Fix info/Makefile.am for old automake
  Allow m4 and autostuff to be customized
  Enforce makeinfo version
  Improve TTY library detection
  Improve TTY section of summary
  Add builtin tty support option
  Forward compatible info in builddir (when CLEANFILES becomes obsolete)
  Attempt to provide speed_t
  Improve term initialization output
  Provide helper defines
  Allow for ncurses tinfo as TTY option

4 years agoConditional automake init
Nelson Ferreira [Sun, 13 Sep 2015 22:10:27 +0000 (18:10 -0400)]
Conditional automake init

* configure.ac: Hugly hack to add info-in-buildir for automake >=
1.14

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoSmall configure.ac fix
Nelson Ferreira [Sun, 13 Sep 2015 22:09:30 +0000 (18:09 -0400)]
Small configure.ac fix

* configure.ac: Fix typo, and determine SED and AWK early.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoFix info/Makefile.am for old automake
Nelson Ferreira [Sun, 13 Sep 2015 22:08:24 +0000 (18:08 -0400)]
Fix info/Makefile.am for old automake

* info/Makefile.am: Turns out automake does not deal well with
unknown options. Horrible hack forthcoming in configure.ac.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAllow m4 and autostuff to be customized
Nelson Ferreira [Sun, 13 Sep 2015 22:06:21 +0000 (18:06 -0400)]
Allow m4 and autostuff to be customized

* autogen.sh: allow for environment variables to control which
git/m4/autoconf/automake binaries are used.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoEnforce makeinfo version
Nelson Ferreira [Sun, 13 Sep 2015 19:15:37 +0000 (15:15 -0400)]
Enforce makeinfo version

* m4/sxe-bldchain-progs.m4: Verify that makeinfo version is at
least 5.x

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove TTY library detection
Nelson Ferreira [Tue, 8 Sep 2015 22:12:21 +0000 (18:12 -0400)]
Improve TTY library detection

* configure.ac: Iterate over all "auto" libraries by order of
preference to find out which are linkable.  Add libraries
requested on command line by adding --with-<lib>=yes before the
auto ones.  Then find which libraries are needed to get all of the
required terminal functions.  Check if combination still allows
for all functions to build.  When all else fails if
--with-builtin-tty=yes is passed, use that.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove TTY section of summary
Nelson Ferreira [Tue, 8 Sep 2015 22:09:15 +0000 (18:09 -0400)]
Improve TTY section of summary

* m4/sxe-summary.m4 (SXE_SUMMARY): Provide additional warning on
some of the tty options, and support for --with-tinfo and
--with-builtin-tty

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAdd builtin tty support option
Nelson Ferreira [Tue, 8 Sep 2015 22:08:12 +0000 (18:08 -0400)]
Add builtin tty support option

* configure.ac: Add disabled by default --with-builtin-tty as last
resort to get a workable build with no other libraries.  A
workable terminal spec will be needed at runtime.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoForward compatible info in builddir (when CLEANFILES becomes obsolete)
Nelson Ferreira [Tue, 8 Sep 2015 18:05:29 +0000 (14:05 -0400)]
Forward compatible info in builddir (when CLEANFILES becomes obsolete)

* info/Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir
          automake option for forward compatibility.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAttempt to provide speed_t
Nelson Ferreira [Tue, 8 Sep 2015 18:02:47 +0000 (14:02 -0400)]
Attempt to provide speed_t

* ui/TTY/termcap.c: In our termcap-like implementation make sure
we provide speed_t if available.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoImprove term initialization output
Nelson Ferreira [Tue, 8 Sep 2015 18:01:32 +0000 (14:01 -0400)]
Improve term initialization output

* src/cmdloop.c (initial_command_loop): Provide better output when
terminal initialization fails. Now it does not look like a corrupt
message.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoProvide helper defines
Nelson Ferreira [Tue, 8 Sep 2015 17:59:22 +0000 (13:59 -0400)]
Provide helper defines

* configure.ac: Make sure to define SED and ECHO as some system
autoconf macros use them without defining them (tsk tsk
libtool...)

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoAllow for ncurses tinfo as TTY option
Nelson Ferreira [Tue, 8 Sep 2015 17:57:40 +0000 (13:57 -0400)]
Allow for ncurses tinfo as TTY option

* configure.ac: Add --with-tinfo option

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoDisable "in-tree" builds.
Steve Youngs [Mon, 24 Aug 2015 08:14:59 +0000 (18:14 +1000)]
Disable "in-tree" builds.

* m4/sxe-srctree.m4 (SXE_CHECK_SRCDIR_HEALTH): Error if $blddir =
$srcdir.

* INSTALL: Add some blurb about in-tree builds no longer being
supported.
Minimum texinfo version is now 5.2.

Signed-off-by: Steve Youngs <steve@sxemacs.org>
4 years agoMake .info files be generated in builddir
Nelson Ferreira [Sun, 23 Aug 2015 21:40:02 +0000 (17:40 -0400)]
Make .info files be generated in builddir

* info/Makefile.am (CLEANFILES): According to automake, info files
are generated in builddir only if marked as user cleaned.

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
4 years agoMisc build tweaks/updates from Nelson
Steve Youngs [Sun, 23 Aug 2015 01:13:16 +0000 (11:13 +1000)]
Misc build tweaks/updates from Nelson

* merges:
  Document why the duplicate traversal is needed
  Revert "Remove duplicate subdirs"
  Make info be generated in buildidr
  Remove duplicate subdirs
  Improve liblzma pkg-config detection
  Improve FFI pkg-config detection
  Add new pkg-config macro SXE_PC_CHECK_EXISTS
  Fix pkg-config autoconf macros
  Automatically paths in site prefix to PKG_CONFIG_PATH

4 years agoDocument why the duplicate traversal is needed
Nelson Ferreira [Sat, 22 Aug 2015 15:39:11 +0000 (11:39 -0400)]
Document why the duplicate traversal is needed