| Age | Commit message (Collapse) | Author | Files | Lines |
|
* makes sense since it already extracted information from ./configure
that is usually substituted.
* it already had to be run from a configured build directory
* it required the source tree directory, which had to be overwritten
on the Make command line when using an out-of-source build dir.
This is no longer necessary.
* It is still a stand-alone Makefile to keep it isolated from the main
build system, although it could certainly be translated to Automake.
* the generated file will now be called distribute.mk to signify
that it is a Makefile.
|
|
|
|
* Usually, Scintilla will now be built with -O2
* this can improve performance significantly over the standard Scintilla -Os
(up to 10%).
* this also allows link-time-optimizing both Scintilla and SciTECO
(which are linked statically) by adding -flto to CFLAGS, CXXFLAGS and LDFLAGS.
Link-time-optimization will both reduce the total binary size
and improve performance slightly since scintilla_send_message() can be
inlined.
An -O3 optimized Scintilla when linked with LTO results in an only 300kb
larger SciTECO binary.
* the highest possible optimization thus requires the following maintainer
flags on the ./configure command line:
CFLAGS="-O3 -mtune=native -march=native -flto"
CXXFLAGS="-O3 -mtune=native -march=native -flto"
LDFLAGS="-flto"
* Windows and Debian builds use link-time-optimization now.
On Windows - where we link in everything statically - building
the dependant libraries with -flto could improve performance
even more.
* Debian builds respect the default hardening flags of the build
server now. This should ensure that SciTECO is built for the
correct architecture at the recommended optimization level etc.
|
|
package is built
* you no longer have to make an entire clean when e.g. uploading
for another Ubuntu release. Therefore, the source tar ball is
preserved (it must be the same for all packages with the same
upstream version).
* also try to extract the SciTECO version from the ./configure script
instead of hardcoding it in ./distribute
|
|
|
|
* allows us to link against PDCurses/win32a statically.
It requires additional Windows DLLs (gdi32 and comdlg32) and since
there's no PDCurses configuration mechanism, it is easiest to set
the PDCurses linker flags using a PDCURSES_LIBS env variable.
* This is only possible since Scintilla links statically, we do the
linking of the binary and can provide the linker flags.
It is still not possible to overwrite the CFLAGS used for PDCurses
without modifying the Scinterm Makefile.
* Using PDCURSES_LIBS we can get rid of --with-interface=emcurses since
if library checks fail with EMscripten, we can simply define
PDCURSES_LIBS="-lpdcurses"
|
|
Unfortunately, I cannot really test this curses port
since it is not supported by Windows 2000 (missing AttachConsole() API)
and it does not run very well in Wine.
Under Wine, it does not require the LINES and COLS variable to be set.
However, endwin() and the refresh later on result in a very unusable
state of operation. I cannot currently check whether this is true on
Windows XP or later.
|
|
|
|
$SCITECOPATH on Windows
* $SCITECOCONFIG has been introduced, so have a macro-accessible location
for the profile, buffer session etc.
This is set to the program dir on Windows. That way, the config files
will be found, regardless of the current working dir, but it may also
be set up for Unix-like environments on Windows.
* $SCITECOPATH defaults to the program dir + "/lib" now on Windows.
* The default profile is now always called ".teco_ini". Also on Windows.
Platform differences like this would need to be documented.
* The sample teco.ini has been renamed to "sample.teco_ini" for clarity
|
|
this should simplify building SciTECO for new users
* compiler and archiver are passed down from Autoconf,
so cross-compiling should work transparently
* `make clean` will also clean the Scintilla source tree
* there is no longer any need for "source bundles" as
tar balls also contain Scintilla/Scinterm now
* building from Git is not much more difficult than building
from a tar ball
* The versions of Scintilla/Scinterm embedded as submodules
already contain all the patches necessary (currently none are
necessary), so there's no need to have patch files in the
repository
* INSTALL instructions have been rewritten
* the --with-scintilla and --with-scinterm site-config options
have been kept. But they should be rarely necessary now.
|
|
* this allows us to remove the last patch to the Scintilla/Scinterm code
base (for the time being at least)
|
|
|
|
* allows us to remove most patches. One however is still necessary
(Scinterm Makefile bug!)
* TECO-style control code echoing is now set up using the SCI_SETREPRESENTATION message
* updated copyrights
* updated TODO
|
|
* useful when uploading into PPA for different series
|
|
|
|
|
|
|
|
|
|
* distributed binary packages are standard debian packages
* ./distribute might fix up the package version and branch for Ubuntu/PPA
|
|
so no additional --with-scintilla is necessary when building from
a source bundle
|
|
|
|
|
|
* MinGW binaries are built from source bundles
* patches are applied to the source bundle
* so all necessary patches must be in the repository and distributed
* use a leading number in patch names to ensure proper application order
|
|
* can build source bundles
* debian source and binary packages
* Zipped Windows binary
|