Fork 0
Commit Graph

104 Commits

Author SHA1 Message Date
Witold Filipczyk 79fdb363b3 [Makefile] compile libcss related code 2023-03-01 18:02:06 +01:00
Robert Scheck b8ae8297e8 Port ELinks to libidn2
Bug: https://bugzilla.redhat.com/1098789
2023-01-02 09:28:34 +01:00
Witold Filipczyk 46860128db [mujs] Added mujs to configure.ac and Makefiles 2022-08-21 21:33:13 +02:00
Witold Filipczyk 9ed288c717 [conifgure.ac] Try to link using CXX. Refs #184 2022-08-16 17:36:13 +02:00
Witold Filipczyk 24c5295a28 [dgi] compilation fixes. 2022-05-18 21:20:45 +02:00
Witold Filipczyk 2bec2984c4 [dos] Very experimental DOS port based on links-2.26 code
WATT-32 and openssl you must compile yourself.
You must tweak configure options, something like:
--disable-utf-8, etc.
Only checked on dosemu with LFN. Networking lags is a bit.
2022-05-09 18:53:36 +02:00
Witold Filipczyk e3992118c8 [configure.ac] Added --enable-reproducible and --with-source-date-epoch=TIME
Example of usage:
./configure ... \
--enable-reproducible \
--with-source-date-epoch=$(git log -1 --pretty=%ct)

make -C doc html
2022-03-28 21:06:54 +02:00
Witold Filipczyk 9a3be156a7 [configure.ac] Added --with-quickjs option
Note, that if you pass both:
--with-spidermonkey \

you'll get compilation error
2021-11-24 17:18:02 +01:00
Witold Filipczyk 7f6156f2c5 [gettext] autotools part 2021-08-08 22:04:52 +02:00
Witold Filipczyk d4f280d325 [configure.ac] Compile with libxml++-5.0
Note, disable CSS if do not want segfaults
2021-07-09 17:52:15 +02:00
Witold Filipczyk 0d76fc0f2a [gemini] optional, not enabled by default 2021-07-02 21:28:48 +02:00
Witold Filipczyk 9328fa261e [libdom] libdom also retired 2021-06-12 17:37:11 +02:00
Witold Filipczyk 908fa22878 [htmlcxx] htmlcxx retired 2021-06-12 13:29:05 +02:00
Witold Filipczyk c45c98438f [configure.ac] Added htmlcxx 2021-04-20 21:19:23 +02:00
Felix Janda 9e08ea995a docs: generate pdfs using dblatex 2020-09-03 12:44:43 -04:00
Witold Filipczyk 5967eb93b4 [python3] python3 for asciidoc 2020-01-04 20:12:34 +01:00
Witold Filipczyk 90086599da [encoding] Experimental zstd encoding 2019-07-14 18:54:39 +02:00
Witold Filipczyk 3d96b0d7d7 Revert "Compile with C++."
This reverts commit 4f4df33638.
2019-04-21 12:27:40 +02:00
Witold Filipczyk 4f4df33638 Compile with C++.
Weak points:
- alignof
- js problems

- make js work with C++ and mozjs-17
- then mozjs-24
- then mozjs-52
- then mozjs-60
- decrease number of warnings
2019-02-17 20:46:16 +01:00
Felix Janda 06832623ad Rename configure.in to configure.ac
Avoids aclocal warning
2017-11-22 17:01:48 -05:00
Witold Filipczyk c4cb7ed8e5 Beginnings of terminfo support.
--with-terminfo must be added for configure
and --terminfo to command line.
terminfo is only used for output and not all sequences are changed.
2017-11-19 18:29:38 +01:00
Witold Filipczyk be94fb4b1d In far, far future libdom will be used by ELinks 2016-12-03 19:06:03 +01:00
Witold Filipczyk 6eba447e8a Experimental brotli encoding support.
2015-10-12 23:18:23 +02:00
witekfl 91515990c8 Removed --with-gc and CONFIG_GC related code.
CONFIG_GC was added with SEE, but SEE support was removed, so
I don't see the reason to keep gc.
2013-05-14 15:36:32 +02:00
witekfl c656c5c929 Pass -Wno-uninitialized for the gettext compilation.
The compilation --with-debug failed on the plural.c.
2011-10-08 12:07:02 +02:00
witekfl fe83703714 Deleted remainders of SEE. 2011-05-14 13:45:08 +02:00
witekfl 5a99cca30b gcry_create_nounce is part of libgcrypt.
Lack of -lgcrypt caused linking error when compiled --with-gnutls.
2011-04-28 18:02:00 +02:00
Sergey Kvachonok d65ca4a7fe Use autoconf to detect LD reliably.
Target LD is different from ld when cross-compiling, change it together with CC.

Signed-off-by: Sergey Kvachonok <ravenexp@gmail.com>
2010-12-13 18:37:13 +01:00
Witold Filipczyk d2513cdfbb Added $(EXEEXT) for executables. 2010-03-22 09:35:15 +01:00
Kalle Olavi Niemitalo 73b115d889 Bug 1088: Fix CONFIG_ECMASCRIPT_SMJS_HEARTBEAT
Makefile.config.in ignored the value of
CONFIG_ECMASCRIPT_SMJS_HEARTBEAT chosen by configure and instead used
the value of CONFIG_ECMASCRIPT_SMJS for it too.  This broke building
on SpiderMonkey versions where JS_TriggerOperationCallback is not

No NEWS entry because this bug was not in any ELinks release.
2009-11-28 10:48:36 +02:00
Miciah Dashiel Butler Masters f31cf6f9fe Heartbeat code using JS_TriggerOperationCallback
Implement new heartbeat code to catch runaway execution of document
ECMAScript code.  The old code uses JS_SetBranchCallback which is
deprecated in new versions of SpiderMonkey.  The new code uses setitimer(2)
and the JS_SetOperationCallback and JS_TriggerOperationCallback interfaces,
introduced in SpiderMonkey 1.8.1.  Compatibility with both the old
JS_SetBranchCallback and the new interfaces is maintained.
2009-11-26 00:57:21 +00:00
Kalle Olavi Niemitalo 180ddcddb0 Merge branch 'elinks-0.12' into elinks-0.13
	src/session/session.c: Kept the elinks-0.13 version.
		Bug 1077 did not occur in elinks-0.13 because
		setup_session here calls render_document_frames
		directly and that sets ses->doc_view->vs.
2009-05-10 11:49:41 +03:00
Kalle Olavi Niemitalo 8e20417bdb Debian bug 526349: Bundle asciidoc.py with ELinks.
The AsciiDoc 7.1.2 configuration files included in the ELinks
source tree apparently aren't compatible with AsciiDoc 8.4.4:

 [ASCIIDOC]   doc/elinks.1.xml
FAILED: [listdef-bulleted] missing section: [listtags-None]
make[1]: *** [elinks.1.xml] Error 1

Fix this by including asciidoc.py from AsciiDoc 7.1.2 as well.
The build system now doesn't care at all whether the user has
installed some version of AsciiDoc or not.
2009-05-01 20:40:25 +03:00
Kalle Olavi Niemitalo d2854dca8d Merge branch 'elinks-0.12' into elinks-0.13
2009-02-08 22:02:57 +02:00
Witold Filipczyk c5a7f87c43 Bug 1060: Use libtre for regexp searches.
When the user tells ELinks to search for a regexp, ELinks 0.11.0
passes the regexp to regcomp() and the formatted document to
regexec(), both in the terminal charset.  This works OK for unibyte
ASCII-compatible charsets because the regexp metacharacters are all in
the ASCII range.  And ELinks 0.11.0 doesn't support multibyte or
ASCII-incompatible (e.g. EBCDIC) charsets in terminals, so it is no
big deal if regexp searches fail in such locales.

ELinks 0.12pre1 attempts to support UTF-8 as the terminal charset if
CONFIG_UTF8 is defined.  Then, struct search contains unicode_val_T c
rather than unsigned char c, and get_srch() and add_srch_chr()
together save UTF-32 values there if the terminal charset is UTF-8.
In plain-text searches, is_in_range_plain() compares those values
directly if the search is case sensitive, or folds them to lower case
if the search is case insensitive: with towlower() if the terminal
charset is UTF-8, or with tolower() otherwise.  In regexp searches
however, get_search_region_from_search_nodes() still truncates all
values to 8 bits in order to generate the string that
search_for_pattern() then passes to regexec().  In UTF-8 locales,
regexec() expects this string to be in UTF-8 and can't make sense of
the truncated characters.  There is also a possible conflict in
regcomp() if the locale is UTF-8 but the terminal charset is not, or
vice versa.

Rejected ways of fixing the charset mismatches:

* When the terminal charset is UTF-8, recode the formatted document
  from UTF-32 to UTF-8 for regexp searching.  This would work if the
  terminal and the locale both use UTF-8, or if both use unibyte
  ASCII-compatible charsets, but not if only one of them uses UTF-8.

* Convert both the regexp and the formatted document to the charset of
  the locale, as that is what regcomp() and regexec() expect.  ELinks
  would have to somehow keep track of which bytes in the converted
  string correspond to which characters in the document; not entirely
  trivial because convert_string() can replace a single unconvertible
  character with a string of ASCII characters.  If ELinks were
  eventually changed to use iconv() for unrecognized charsets, such
  tracking would become even harder.

* Temporarily switch to a locale that uses the charset of the
  terminal.  Unfortunately, it seems there is no portable way to
  construct a name for such a locale.  It is also possible that no
  suitable locale is available; especially on Windows, whose C library
  defines MB_LEN_MAX as 2 and thus cannot support UTF-8 locales.

Instead, this commit makes ELinks do the regexp matching with regwcomp
and regwexec from the TRE library.  This way, ELinks can losslessly
recode both the pattern and the document to Unicode and rely on the
regexp code in TRE decoding them properly, regardless of locale.

There are some possible problems though:

1. ELinks stores strings as UTF-32 in arrays of unicode_val_T, but TRE
   uses wchar_t instead.  If wchar_t is UTF-16, as it is on Microsoft
   Windows, then TRE will misdecode the strings.  It wouldn't be too
   hard to make ELinks convert to UTF-16 in this case, but (a) TRE
   doesn't currently support UTF-16 either, and it seems possible that
   wchar_t-independent UTF-32 interfaces will be added to TRE; and (b)
   there seems to be little interest on using ELinks on Windows anyway.

2. The Citrus Project apparently wanted BSD to use a locale-dependent
   wchar_t: e.g. UTF-32 in some locales and an ISO 2022 derivative in
   others.  Regexp searches in ELinks now do not support the latter.

[ Adapted to elinks-0.12 from bug 1060 attachment 506.
  Commit message by me.  --KON ]
2009-02-08 18:26:22 +02:00
Kalle Olavi Niemitalo af9ed54c0f Merge branch 'elinks-0.12' into elinks-0.13 2008-03-01 17:28:37 +02:00
Jonas Fonseca 705acfa05a Use git tools instead of cogito for getting the build ID
The build ID now includes both last tagged version, commit generation
since last tagged version, as well as the leading characters of the
commit ID and a flag for dirty working tree.
(cherry picked from commit c2a0d3b969)
2008-03-01 13:55:16 +02:00
Laurent MONIN b389d1b20e Revert "Use the new OBJS-unless$(CONFIG_FOO) instead of $(call not,...)"
This reverts commit e07354f5d5.
2007-09-14 17:43:36 +02:00
Jonas Fonseca e07354f5d5 Use the new OBJS-unless$(CONFIG_FOO) instead of $(call not,...) 2007-09-14 16:48:26 +02:00
Jonas Fonseca af4b7bed84 Use the new OBJS-unless$(CONFIG_FOO) instead of $(call not,...) 2007-08-29 01:57:01 +02:00
Jonas Fonseca 1079c95b9d Integrate Doxygen better in the build system
This change:

 - Adds a check for the doxygen program to configure.
 - Moves the Doxyfile from src/Doxyfile to doc/Doxyfile.in.
 - Generates a doc/Doxyfile from doc/Doxyfile.in inserting
   an absolute path to the source directory, so that it
   also works when builddir != srcdir.
 - Adds `make api` rule for running doxygen; it depends on
   api/doxygen file which is never created to force the rule
   to always run.
2007-08-08 14:23:21 +02:00
Jonas Fonseca 8bfab2242e Fix 'make test' dependency when building test utility programs
Problems was caused by undefined symbols:

	src/util/conv.c:308: undefined reference to `is_cp_utf8'
	src/util/conv.c:320: undefined reference to `cp2u'
2007-05-26 13:46:12 +02:00
Witold Filipczyk 8688e623d4 Used the builtin macro RM in place of defined UNINSTALL. 2007-02-24 11:09:55 +02:00
Witold Filipczyk cf86e2e72f Added SEE_CFLAGS to the Makefile.config. Use SEE_CFLAGS only when necessary. 2007-02-18 17:09:32 +02:00
Kalle Olavi Niemitalo 388b1b0efd Define datarootdir in Makefile.config.in, for better Autoconf compatibility.
With Autoconf 2.60a, the default values of datadir, infodir, and
mandir refer to ${datarootdir}.  If Makefile.config.in does not define
datarootdir, Autoconf detects this and expands ${datarootdir} when it
substitutes expressions like @datadir@, but it also outputs the
following warning:

config.status: creating Makefile.config
config.status: WARNING:  /home/Kalle/src/elinks/Makefile.config.in seems to ignore the --datarootdir setting

According to a comment in config.status, "This hack should be removed
a few years after 2.60."  So it seems best to prepare for that now by
defining datarootdir = @datarootdir@ in Makefile.config.in.  Earlier
versions of Autoconf may leave that line unexpanded; but because the
makefiles do not directly refer to ${datarootdir}, there's no harm.
2006-09-17 17:55:53 +03:00
Kalle Olavi Niemitalo 92cb452a9e Rename CONFIG_UTF_8 to CONFIG_UTF8.
The configure script no longer recognizes "CONFIG_UTF_8=yes" lines
in custom features.conf files.  They will have to be changed to
"CONFIG_UTF8=yes".  This incompatibility was deemed acceptable
because no released version of ELinks supports CONFIG_UTF_8.

The --enable-utf-8 option was not renamed.
2006-09-17 16:12:47 +03:00
Kalle Olavi Niemitalo 57a9871ea1 Prepend $(top_builddir) to @INSTALL@ if it is relative.
Reported to elinks-users on 2006-08-23.
2006-09-10 08:57:55 +03:00
Witold Filipczyk fcc00bcfd9 Added uninstall target to the Makefile. 2006-09-03 09:27:21 +02:00
Witold Filipczyk 4f78b0dda1 True color mode. See new konsole.
TODO: dump
2006-08-19 23:39:40 +02:00
Kalle Olavi Niemitalo 40e257bedd build: Don't use $(AM_CFLAGS) anymore. Use $(CPPFLAGS) instead.
$(AM_CFLAGS) is one of the variables set by Automake, which ELinks no
longer uses.  $(CPPFLAGS) should be used whenever the C preprocessor
is run, according to the GNU Coding Standards.  (My build environment
does have an important -I option there.)
2006-08-05 12:36:20 +02:00