| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Some things this did:
* added missing [] around parameters
* removed obsolte macros, replaced with currently recommended macros
* fixed some whitespace issues in macro arguments
|
|
|
|
|
|
|
|
|
| |
From-state actions now execute on EOF, but we don't check for their presence
when deciding if we should test against EOF. This led to from-state actions
executing only if other conditions necessitating EOF-testing are present. Added
the check.
refs adrian-thurston/ragel#80
|
|
|
|
|
|
|
|
|
|
|
| |
The canonical identity of a file on Unix is the combination of device
and inode numbers. This code checks both possible paths for the
colm executable: directly in the build directory (when colm is linked
against libcolm statically) or in libtool's `objdir` subdirectory (when
colm is linked against libcolm dynamically).
This fails in two situations I can see: when /proc is not mounted or
doesn't exist, or when colm is installed using a hard link.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running from the build directory, if one forgets to give -B, and colm was
previously installed at the current prefix, colm programs will build against
the installed version, not the local source tree. This won't be immediately
obvious and could lead to confusion during development.
To prevent this, try to find the buildDir if one is not given. The tests can
continue to specify the buildDir with -B, which is the most safe way.
The buildDir is defaulted by testing the buildDir known at compile time against
LD_LIBRARY_PATH. Libtool on ubuntu 20.04 will place the buildDir at the head of
LD_LIBRARY_PATH. It seems likely that it would do this on all systems, making
it a seemingly good test.
|
|
|
|
| |
This installs it executable, as it should be.
|
| |
|
|
|
|
|
|
|
|
| |
While 7e3709188833f72ca7a0808942d3a9da6464675f deleted too much, the fix
in f9708db3960b95457c1efaf092efc65d3b486c9f actually deleted too little.
The cleaning is now guarded by the same condition as the initial linking
or copying.
|
|
|
|
| |
This causes complaints when building with LTO enabled.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Some build system fixes
|
| |
| |
| |
| |
| | |
They are usually direct subdirectories of the prefix, but they can be
different, for example in Debian's multiarch scheme.
|
| |
| |
| |
| | |
This makes it easier to use a cross-compiler, for example.
|
| |
| |
| |
| |
| | |
Everything built by make should be cleaned up by make clean,
according to the automake manual.
|
| |
| |
| |
| |
| | |
Change noinst_ targets to check_. Also move from BUILT_SOURCES to
explicit dependencies to prevent running colm when not running tests.
|
| |
| |
| |
| |
| |
| | |
Let libtool take care of the linking. Prefer linking to libcolm
statically, like before. Add explicit include paths for files included
from the corresponding source directory.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The list of linked headers comes from RUNTIME_HDR in src/Makefile.am.
Also don't delete it in clean, but do delete it in distclean, like any
file configured by config.status.
|
| |
| |
| |
| |
| | |
This header has been empty since 2010. It is not installed, so it
does not change the installation.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This means that automake makes sure it's remade when configure{,.ac} or
version.h.in change.
Also don't delete it in clean, but do delete it in distclean, like any
file configured by config.status.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This cannot work reliably when using a separate build dir.
Instead, add a new switch to specify the build directory
explicitly. Use libtool to build the output, defaulting
to statically linking libcolm.
|
|/
|
|
| |
Helps with adrian-thurston/ragel#3.
|
|\
| |
| | |
Fix out-of-bounds memcpy
|
| |
| |
| |
| |
| | |
memcpy in string_alloc_full was copying 32 bytes, while the string
is only 25 bytes including the terminating null byte.
|
|\ \
| |/
|/| |
Correct prototype for host call functions in tests
|
|/
|
|
|
|
|
|
|
|
|
| |
All parameters for host calls declared in Colm source files are
converted to value_t by Compiler::writeHostCall:
https://github.com/adrian-thurston/colm/blob/fc61ecb3a22b89864916ec538eaf04840e7dd6b5/src/compiler.cc#L1109-L1117
This led to warnings when compiling with LTO. Correcting the
prototypes and inserting the appropriate casts makes everything
compile without warnings. The test suite still passes the same on
my x86_64 machine.
|
|
|
|
|
|
| |
If --disable-static or --disable-shared is used, then pass this info to
compilation of main.cc and link with libcolm appropriately. Default to a static
as has been done for some time. refs adrian-thurston/ragel#70.
|
|
|
|
|
| |
Was using data_DATA, which lands in PREFIX/share. This is a nuisance for
packaging. refs #134
|
|
|
|
|
| |
If the manual is requested, then check for asciidoc and pygmentize. Fail
configuration if either are not present. refs #132
|
|
|
|
|
|
| |
In most build scenarios I now find myself in, the depenencies required for
building the manual are not available. There are many uncommon packages to
grab. It seems better to build the manual only when asked for explicitly.
|
| |
|
|
|
|
| |
This includes output filter, file name functions, and line directive generation
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Write statement belongs in ragel, but can't yet move out CodeGenData. It's at
the base of many codegen classes that will live in colm. The functionality here
needs to be lifted up out of the base.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Decide signedness of "char" on at runtime (probably compile time) using a check
on CHAR_MIN. This should work with cross compiling setups.
With this approach, if you plan to use "char" on ARM you cannot literally
specify outside the range 0-127 using decimal/hex. If you need that you can use
"signed char" or "unsigned char".
|
| |
|
|
|
|
|
|
| |
Previously allowed only identifier as the base. This is necessary to use the
generated DATA() as the base in these expressions, which can be modified by
access and therefore must be an expression.
|
| |
|
|
|
|
| |
fixes #127
|
| |
|
| |
|
|
|
|
|
| |
Still running into issues on gentoo with BUILT_SOURCES. Instead make all the
necessary dependencies explicit, using the source code files.
|
|\
| |
| | |
Correct for cross-compiling
|