Commit graph

45 commits

Author SHA1 Message Date
Charlie Gordon
3da74c964b Buffer/file: add diff-buffer-file
* add command to compare buffer with its file in a popup
* add [d] for diff when prompting for buffer/file synching
* add default behavior for buffer/file synching
* add CONFIG_LINUX, CONFIG_FREEBSD, CONFIG_OPENBSD, CONFIG_NETBSD
* add diff styles
2026-06-04 15:08:24 +02:00
Charlie Gordon
7391eb26c5 Configure: reorganize the configure script and Makefile
Clarify tiny build options:
* distinguish `tiny` which controls whether the tiny version should be built
* and `tiny_only` which restricts the build to just the tiny version
* add `--disable-tiny` to set `tiny=no`
* add `--tiny-only` to only build the tiny version
* add js, json and c2 modes in tiny version
2026-05-19 00:08:53 +02:00
François Revol
0935cb4894
Atari port fixes (#35)
* Do not use CFLAGS for host tools when cross-compiling.
* Add a missing $(EXE). Maybe we should have a HOST_EXE but at least we can build.
* set target OS & CPU
  Not really used, only for cosmetics.
  Also, m68k is big endian. (Do we use this anywhere yet?)
* Force GNU-C99 standard for LLONG_MIN
* work around missing d_type in dirent struct
2024-07-28 00:04:20 +02:00
Charlie Gordon
9e498ab933 remove unused target definitions 2024-07-28 00:00:03 +02:00
Charlie Gordon
ea6a70963e
Improve documentation, configure and CI(#31)
- update **scandoc** tool
- start manual framework in qe-manual.c
- build qe-manual.md as a default target
- add more targets: linux-32bits, linux-390x, NetBSD, OpenBSD
- fix FreeBSD target: define `host_cc` 
- test for `bwapxx` macros
- test for `clang` / `gcc` / `tcc` compiler presence
- handle non standard `which` utility
2024-05-20 19:43:01 +02:00
Charlie Gordon
bf0c938d19 Sundries
* bind `eval-region` to `M-C-z`
* fix configure and Makefile for arm64 target
* output selected target in configure

* bump version to 5.4.1f
2023-02-21 15:04:55 +01:00
Charlie Gordon
216b3ff8b7 Fix gcc 12.2 insane optimisation issues fixes issue #11
* use memcpy and other value casts to avoid strict aliasing violations.
  gcc 12.2 was wrongly assuming that utf8_decode(&p) did not modify p
  because *pp was never explicitly set, albeit *(const u8 **)pp = p; was
  storing te updated value of p into it and the code generated for that
  was produced.  The code generator was miscompiling strtokey1 because
  the compiler relied on bogus code analysis at the call site.

  The gcc team is wasting many hours of valuable debugging time.
  They should at least issue a warning about aliasing rules violations.

* fix compiler warning on missing Xvideo header

* fix compiler warning on missing fallthrough

* bump version to 5.4.1c
2022-11-11 17:49:50 +01:00
Charlie Gordon
8df349aeb3 Reduce tiny build
- remove command description strings in tiny build
- reorder clang submodes
- bumped version to 5.3.3c
2022-08-19 22:38:38 +02:00
Charlie Gordon
64d66e373a Remove CONFIG_INIT_CALLS hack
- use portable init_all_modules() on all architectures
- remove initcalls options in configure
- output Qemacs VERSION and CC version in configure
- remove qeend.c
- bumped version to 5.3.2a
2022-08-17 22:06:38 +02:00
Charlie Gordon
475b50458d Remove CONFIG_INIT_CALLS hack
- use portable init_all_modules() on all architectures
- remove initcalls options in configure
- output Qemacs VERSION and CC version in configure
- remove qeend.c
- bumped version to 5.3.2a
2022-08-17 22:04:02 +02:00
Charlie Gordon
213eba6ab7 use ptsname and posix_openpt for pseudo-ttys 2021-04-19 00:43:57 +02:00
Charlie Gordon
c554fe0ad9 defaut to clang on FreeBSD and Darwin 2021-04-19 00:34:30 +02:00
Charlie Gordon
da22ee7f3b Improve build process
- factorize target rules,
- use recursion for different targets
- make debug versions for all targets
- add help target
2021-02-01 20:38:29 +01:00
Charlie Gordon
a5a6b50bb3 build: fixed typo, remove cruft 2017-05-29 06:05:22 +00:00
Charlie Gordon
bd44951866 build: fix X11 directory lookup (F.Revol) 2017-05-07 06:17:11 +00:00
Charlie Gordon
2866a48b11 build: Cross-compile using the NetSurf SDK. (F.Revol) 2017-05-07 06:12:39 +00:00
Charlie Gordon
4bdbd8bd9e build: use target specific size utility via SIZE configuration variable (F.Revol) 2017-05-07 06:08:32 +00:00
Charlie Gordon
6c595c1f2c colors: extend color system
- add 8K color modes and 64-bit QETermStyle values
- add 64-bit buffer style support
- reduce colored character system used in syntax handlers to 8-bit style
  and 24-bit code point
- use QETermStyle type instead of int wherever a composite style is used
- force color system used by the terminal with environment variables:
  USE_16_COLORS=1, USE_256_COLORS=1 or USE_TRUE_COLORS=1
2017-04-12 07:33:20 +00:00
Charlie Gordon
b28a387889 build: fix X11 rules on OpenBSD
- applied patch by Han Boetes
- scan standard places for X11 includes and libraries
- do not link with -ld on OpenBSD
2016-12-28 07:39:45 +00:00
Charlie Gordon
7969fbb276 build: use separate object directory for x11 build
- configure no longer defines CONFIG_X11 in C
- generate modules.txt in each target directory
2016-12-25 23:32:48 +00:00
Charlie Gordon
afabce40f1 build: improve portability
- detect X11 configuration in configure script, no longer
  assume directories in Makefile
- added CONFIG_XSHM and check for XShm availability
- added TARGET_OS and TARGET_ARCH to make specific object dirs
- no longer redefine qe_module_init in qe.c
- added tqe.c: combined source version of tiny version
- added target xqe to build it, but it currently generates an
  executable significantly larger than tqe.
  This oddity is under investigation.
2015-10-14 09:31:20 +00:00
Charlie Gordon
d523408b57 fix configure for FreeBSD
* use cp instead of mv for tempfiles, because /tmp typically is on
  a different drive and triggers a warning
* set specific configuration flags for FreeBSD
2014-03-06 20:41:30 +00:00
Charlie Gordon
a178857b2b fix datadir and mandir redefinition via --prefix 2014-01-07 00:44:16 +00:00
Charlie Gordon
0a90a0e83f added configure variables for portability (Haiku from Francois Revel)
Added datadir and mandir for systems that use different directory trees
In Haiku we don't have share/ at the usual prefix, and man pages are in
documentation/man/... So we need to pass those to configure.
This patch adds --datadir and --mandir support, the autofools way.
2013-12-21 16:24:38 +00:00
Charlie Gordon
0d64bd2666 configure: fixed -h and -help command line options, added x86_64 arch 2013-12-19 00:13:49 +00:00
Charlie Gordon
94a0f56bb3 improved protability in configure, use /bin/sh 2013-12-17 23:17:09 +00:00
Charlie Gordon
0a8cebb693 work-in-progress Haiku port from Francois Revol
* Fix hardcoded -ldl and -lm in the Makefile
* BeOS does not have -lm (it's part of libroot)
* Add Haiku GUI driver haiku.cpp
* Add helper script haiku-pe2qe.sh to clone color settings from Pe to Qemacs
2013-12-17 16:08:55 +00:00
Charlie Gordon
ee1282ef91 - added test for texi2html install to control doc build
- added config variable CONFIG_HAS_TYPEOF
- improved qe_free type checking with typeof
- fixed gcc 4.4.5 warning on strict anti-aliasing breakage
2013-11-23 10:55:20 +00:00
Charlie Gordon
aa75747155 added darwin config variable 2013-11-22 20:45:09 +00:00
Charlie Gordon
9a03f70927 - force bash because of echo -n
- use shadow file for config.mak to prevent clobbering if identical
- added Darwin target support
- stricter tests on command line options
2013-11-22 20:03:11 +00:00
Charlie Gordon
f27f1df169 added INSTALL variable 2008-04-17 15:06:44 +00:00
Charlie Gordon
58b5872c52 fixed OpenBSD compile issues:
- check OpenBSD as uname output
- no longer use strcpy, strcat, sprintf
- added CONFIG_PTSNAME to disable Unix98 API under BSD
- fixed crash bug in tty.c on empty window
2008-04-15 23:24:03 +00:00
Charlie Gordon
08da1814c5 fixed some BSD build issues 2008-04-13 23:44:39 +00:00
Charlie Gordon
f4c0fc380a fixed mingw compile under linux 2008-04-05 23:30:31 +00:00
Charlie Gordon
d4d6f8a0f3 fixed some configure issues for mingw compile under cygwin
added CONFIG_MMAP to control availability of memory mapped files
added CONFIG_DOC to control doc rebuild
use state variables to control file mmapping and loading
default limit of 512MB for loading file
try and load the file upon mmap failure
do not use alloca in CONFIG_WIN32
use CONFIG_WIN32 instead of WIN32
update Makefile to enable win32 build under cygwin (dumps core)
renamed mouse_event to prevent compile warning
patched unix.c util.c win32.c to enable WIN32 compile
fixed kmap.c to load mapping files when mmap fails or is unavailable
2008-04-05 23:04:56 +00:00
Charlie Gordon
de952df347 changed Makefile and ifdefs to link tiny version as tqe at all times
moved kmap code from input.c to new file kmap.c
updated TODO
2008-01-10 12:21:05 +00:00
Charlie Gordon
f1b6c45623 moved more configuration control to configure script
cleaned Makefile a bit
2007-12-21 14:24:08 +00:00
Charlie Gordon
6754c5379d fixed configure and Makefile for tiny build
updated statistics in qe-doc (sadly, sizes have increased substantially)
2007-12-20 21:37:34 +00:00
Charlie Gordon
e306b6643b cosmetics, spacing, typos 2006-04-24 11:58:17 +00:00
Charlie Gordon
b4845e8db7 improved configure autodetection of png, ffmpeg and x11 support
added --disable-ffmpeg option
2006-04-20 15:58:06 +00:00
Charlie Gordon
c2c4061aa3 use simplistic test to disable png support 2005-05-11 12:16:59 +00:00
Charlie Gordon
6789e229c1 cosmetics 2005-05-11 09:04:12 +00:00
Charlie Gordon
d97c199ee7 added cygwin support 2005-05-04 19:40:26 +00:00
Charlie Gordon
c1c16d99e8 fixed multiple line version string bug 2004-11-30 10:16:15 +00:00
Charlie Gordon
3dd0f5660c Initial revision 2004-05-29 10:17:37 +00:00