Daniel Kochmański
03e934dd85
builder: normalize build target names
2016-12-05 14:16:52 +01:00
Daniel Kochmański
55685bc3b1
compiler: sanitize building static-libraries
...
static-library can't be build from another static-library or
shared-object. For that target we allow only `:object' and `:c' input
files.
2016-12-05 12:16:21 +01:00
Daniel Kochmański
5357c43ebf
cosmetic: indentation
2016-11-27 14:15:36 +01:00
Daniel Kochmański
72bb90dc5a
builder: don't call guess-kind twice
2016-11-27 14:14:17 +01:00
Daniel Kochmański
ca0859d710
builder: guess-kind never returns :dll or :lib
...
In case of this kind of files it's always :shared-library
or :static-library.
2016-11-27 14:11:03 +01:00
Daniel Kochmański
3f3af5275d
buildsystem: configpre (wip)
2016-10-08 12:00:07 +02:00
Fabrizio Fabbri
1c452a9f1d
MSVC - avoid name clash on export libraries for program link. fix #287
2016-09-08 12:45:30 -04:00
Fabrizio Fabbri
af72e2b293
does not delete pdb files on windows
2016-05-12 13:09:53 -04:00
Fabrizio Fabbri
ce828c4000
Win64 and Visual Studio compiler
...
* Fix compilation error.
* Fix feature discover on cl compiler.
2016-03-02 12:43:36 -05:00
B. Scott Michel
b69d0c6022
emit_cxx_source_if_cxx
...
Emit ".cxx" source files instead of ".c" source if configured
"--with-cxx". This noticeably reduces the amount of whining from the
Clang compiler, which considered compiling ".c" as C++ a significant
deprecation.
2015-10-21 14:14:19 -07:00
Daniel Kochmański
6e3b64e428
cmpmain: declare init wrapper as extern C
...
Fixes #182 .
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-17 09:48:22 +02:00
Daniel Kochmański
68fa3985c6
builder: provide wrapper for randomized function init name
...
Randomized init funciton name is used internally and prevents symbol
clashes which lead to bugs when loading systems of the same name
(bundles for instance).
On the other hand wrapper provides a way to initialize library from
the C code. In this case it is programmer responsibility to name his
system uniquely. It will initialize it's submodules fine.
Fixes #74 . Fixes #177 .
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-02 13:01:04 +02:00
Daniel Kochmański
03045d98ae
cmp: remove deprecated verbosity variables
...
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-01 11:03:46 +02:00
Daniel Kochmański
970ccb7c36
compiler: accept foreign object files
...
Sometimes we want to build with objects from CFFI (like
wrappers). These doesn't have entry point and initialization
function. If we'll encounter such an object just attach it without
adding it to the initialization queue. Fixes #174 .
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-23 09:03:51 +02:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
8bc260c377
cmp: embed unique tag with init function name in each exported module
...
This is necessary if we want to retrieve function name from compiled
binary, what is necessary if we want to use unique names for this
function. This is necessary for fix of issue #41 .
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 21:20:15 +02:00
Daniel Kochmański
8972fb38d3
cmp: remove redundant compute-main-name function
...
Same functionality is provided by compute-init-name
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 08:32:02 +02:00
Daniel Kochmański
d75552027a
compiler: bind lexically *readtable* when file is compiled
...
Both byte and C compilers didn't bind lexically *readtable*, what lead
to pollution of other compiled packages. Fixes #95 and #59 .
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-28 14:25:29 +02:00
Daniel Kochmański
4d19a27424
cosmetic: untabify
...
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Juan Jose Garcia Ripoll
63640b0a79
Added newlines to the C templates.
2013-06-08 22:04:06 -07:00
Juan Jose Garcia Ripoll
e92f8c418f
Added a 'machine' object that represents the features of a cross compilation target in the compiler. Inline forms now are created with one such machine on mind, and recreated if the machine changes.
2013-06-02 22:49:54 +02:00
Juan Jose Garcia Ripoll
b47b1869c6
New way of creating lisp data, using an array of string streams
2013-04-07 13:50:07 +02:00
Juan Jose Garcia Ripoll
fe85aebbc9
Removed the "-w" option from compiler-cc so that it works with clang.
2013-01-09 00:00:53 +01:00
Juan Jose Garcia Ripoll
825fc8cbd3
Cnil and Ct are now part of legacy
2012-06-30 23:01:40 +02:00
Juan Jose Garcia-Ripoll
efadef99dc
Prefix the block creation macros, ECL_BLOCK_*, etc
2012-06-30 12:01:44 +02:00
Juan Jose Garcia Ripoll
2c5b024036
Export both EXT:INSTALL-BYTECODES-COMPILER and EXT:INSTALL-C-COMPILER
2012-06-01 18:53:45 +02:00
Juanjo Garcia-Ripoll
f53d22e57d
New function C:INSTALL-C-COMPILER restores the C compiler once the bytecodes compiler has been activated
2012-05-31 10:50:24 +02:00
Juan Jose Garcia Ripoll
5743b5cbd4
Fixed circularities when printing comments in the compiler and when printing the TRACE
2012-01-02 23:12:17 +01:00
Juan Jose Garcia Ripoll
a25dfa49ac
Change assignements in COMPILE so that the function does not violate the type declaration of its argument.
2011-12-27 16:59:09 +01:00
Juan Jose Garcia Ripoll
c2e2171dc0
Avoid recursive invocation of C1EXPR by allowing the C1 processors to act like macros, returning new forms to be processed. Remove also the CATCH for compiler errors, since we now rely on conditions for signal handling.
2011-12-27 12:36:52 +01:00
Juan Jose Garcia Ripoll
24debdf161
Fix additional warnings about unused variables and variables which are assumed global in the compiler.
2011-12-26 17:59:16 +01:00
Juan Jose Garcia Ripoll
4b2eca745a
Replace more uses of DEFVAR with DEFPARAMETER
2011-12-10 20:12:14 +01:00
Juan Jose Garcia Ripoll
181c12947f
Remove /EXPORT option from ECL, to avoid duplicated exports in Windows64.
...
This is perfectly safe for ECL already uses ECL_DLLEXPORT to announce names.
2011-11-13 15:34:04 +01:00
Juan Jose Garcia Ripoll
ea0fdff007
Avoid further uses of make_simple_base_string.
2011-11-06 10:02:55 +01:00
Juan Jose Garcia Ripoll
7beedc12c8
Fixed list of compiled/library/executable file extensions in cmpmain.lsp
2011-10-29 20:30:46 +02:00
Juan Jose Garcia Ripoll
d8b042877e
Changed the entry point of compiled code, which now takes either a codeblock or OBJNULL.
2011-09-04 19:18:30 +02:00
Juan Jose Garcia Ripoll
599f8017e1
Function read_VV is renamed to ecl_init_module()
2011-08-01 15:39:46 +02:00
Juan Jose Garcia Ripoll
2b3c328777
DISASSEMBLE should not always try to dump the data file.
2011-07-27 21:56:10 +02:00
Juan Jose Garcia Ripoll
24ffd8065c
Remove :ecl-bytecmp from features when loading the C compiler
2011-07-16 21:56:43 +02:00
Juan Jose Garcia Ripoll
ac46c803c6
Remove debug statement.
2011-06-28 21:11:55 +02:00
Juan Jose Garcia Ripoll
0e2c3b363d
Minor changes in the function that translate lisp component names to compiler flags: they are now absolute pathnames.
2011-06-28 19:32:43 +02:00
Juan Jose Garcia Ripoll
bfb7b7f7f9
Warn when linking files that contain separate binary sections.
2011-06-26 10:59:48 +02:00
Juan Jose Garcia Ripoll
4c24b43755
Add an extra function to the shared and statically linked libraries to allow for initialization of ECL and loading of the library.
2011-06-25 23:07:33 +02:00
Juan Jose Garcia Ripoll
8638796be0
In BUILDER, the routine for adding cdata did not work when one of the arguments was a symbol.
2011-06-24 23:25:29 +02:00
Juan Jose Garcia Ripoll
e0d89daf02
Added the possibility of linking ECL's compiled data as binary data at the end of the compiled files, instead of C constants.
2011-06-23 21:28:58 +02:00
Juan Jose Garcia Ripoll
3bf2bda467
Separate dumping of data into a C file from creating the dumped array.
2011-06-21 22:04:19 +02:00
Juan Jose Garcia Ripoll
ec8c9527d5
Remove incomplete support for shared data files
2011-06-20 21:27:33 +02:00
Juan Jose Garcia Ripoll
84582d1e1d
Fixed typo in C::BUILDER (Fare)
2011-06-11 01:19:03 +02:00
Juan Jose Garcia Ripoll
2655b9b479
Remove another use of si:system
2011-05-23 00:02:59 +02:00
Juan Jose Garcia Ripoll
243a3bf233
Change the extension of compiled header files to avoid name clashes with the operating system and C library
2011-04-10 10:01:30 +02:00