Commit graph

6282 commits

Author SHA1 Message Date
Daniel Kochmański
a61a0cb0a3 android/example: minor tweaks with the build
Add some menu stubs, icon, change application name, remove generated
file, some indentation fix.
2015-10-25 22:57:25 +01:00
Daniel Kochmański
5ccf29f697 android/example: add the build.xml file
`-post-compile' target is customized to copy necessary files to the assets
directory from the installed ecl-android/ directory.
2015-10-25 21:22:05 +01:00
Daniel Kochmański
ade07de762 android/example: adjust sdk versions
Set minimal API to 2 and the target API to 23. It covers virtually all
devices present on the market.
2015-10-24 09:29:17 +02:00
Daniel Kochmański
66f79450bc android/example: cosmetic ecl_boot tweaks
Unify comment style, change some LOGI messages and wrap the long lines.
2015-10-23 18:18:58 +02:00
Daniel Kochmański
899a88a727 android/example: clean up the init scripts
Move the ASDF cache initialization below it's inclusion and don't be so
noisy with swank.

Also add the function sysinit which downloads and installs the Quicklisp
and replaces it's interpreted gunzip with our precompiled deflate.
2015-10-23 18:18:58 +02:00
Daniel Kochmański
35a6e91488 android/example: use ecl shared library
Don't statically link with the ECL. Use libecl.so instead. Thanks to
that we don't have to link explicitly with each module we want to use
and the whole process is simpler.
2015-10-23 18:18:58 +02:00
Daniel Kochmański
7feed6c6f4 contrib: call provide uniformly
Various contrib modules called provide with varying syntax from "module"
through 'module to '#:module. The last one is picked:

(provide '#:module)
2015-10-23 18:18:58 +02:00
Daniel Kochmański
221c58b51b cosmetic: remove unndecessary message 2015-10-23 18:18:58 +02:00
Daniel Kochmański
b8edd5cda8 android: arrange resources directory
Separate different directories for the resources.
 #P"SYS:" -> #P"lisp/lib" - ECLDIR with the modules
 $HOME -> lisp/home       - user provided files, quicklisp, 3rd party contribs
           lisp/etc       - init scripts and the configuration
2015-10-23 18:17:09 +02:00
Daniel Kochmański
58ee224fe3 cosmetic: replace push' with pushnew'
When appending :wsock to *features*.
2015-10-23 18:16:50 +02:00
Daniel Kochmański
c103323cf6 c-streams: use `read' when FILE_CNT not available
`fread' may buffer some input and `listen' will return an incorrect
value. This is mainly the case when we cross-compile and user is too
lazy to check his `stdio.h' file. Fixes #185.
2015-10-23 18:16:50 +02:00
Daniel Kochmański
2e86acd398 mobile: fix initializing the required modules 2015-10-23 18:16:50 +02:00
Daniel Kochmański
7280f14f55 mobile: fix compilation of android app from examples/
Don't use C99 specific syntax for `for' loop and use functions
lib_init_* instead of main_lib_init_* which aren't exported.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:16:50 +02:00
Evrim Ulu
641a12b4e1 mobile: add sample android application (HelloECL)
Developed by Sylvain Agenau, added to the repository by Evrim Ulu with
a few minor fixes by Daniel Kochmański.
2015-10-23 18:16:38 +02:00
Daniel Kochmański
d7776157d6 makefile: bdwgc depends on libatomic_ops
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
db8190752b cosmetic: indentation tabs and columns number
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
048492ab56 build: fix include directory for bdwgc
It couldn't find atomic_ops.h which were in build/ecl directory

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
7c713d7dd0 build: fix tabs and don't overwrite gc dir
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Sylvain Ageneau
df019224f8 mobile: support Nacl and PNacl
This patch adds support for chrome's Native Client and Portable Native
Client
2015-10-23 18:12:54 +02:00
Daniel Kochmański
30e3184d08 buildscripts: use provided ${AR} instead of host ar
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
fe68809a34 mobile: add android platform to the build scripts
This allows enables building of ECL for android platform.
Based on work of Sylvain Ageneau.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Sylvain Ageneau
5b0a9fe6c5 mobile: fix socket implementation on android
getprotobyname is not implemented in bionic libc.
2015-10-23 18:12:54 +02: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
b57a4fff71 examples: fix bogus :move-here argument
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-02 13:02:00 +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
4548ed7c4c Merge branch 'random-64' into develop 2015-10-01 14:11:10 +02:00
Daniel Kochmański
251bf80461 Merge branch 'develop' into random-64 2015-10-01 14:10:41 +02:00
Daniel Kochmański
55bbfcfaeb cmpname: don't randomize init function names for libraries
Both shared and static libraries might be linked from C code and names
of the initialization functions has to be known without parsing the
file. Related to #177 and #74. FWIW it doesn't introduce regression on
ADSF bundles (#74) and solves initialization problem (#177).

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-01 13:29:53 +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
Attila Lendvai
15f3d7feab fix bootstrap error printing in universal_error_handler.
Signed-off-by: Attila Lendvai <attila@lendvai.name>
2015-09-29 17:41:28 +02:00
Daniel Kochmański
25caf88a74 changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-23 10:08:47 +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
Daniel Kochmański
0ddd169795 changelog: update wrt 64bit / C99 switch
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 23:26:09 +02:00
Daniel Kochmański
0d639873ff hash.d: compute hash_string properly
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 22:55:35 +02:00
Daniel Kochmański
61b30811c1 random: provide 64 bit implementation
This change pulls dependency on C99 types

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 22:37:48 +02:00
Daniel Kochmański
f1dda6384c random-state: use portable solution
This results in twice as big array as we could use if uint32_t was
granted with C99 - half of the bytes on 64 bit platforms are filled
with 0. Despite that it's clean and portable solution without
immediate imposing dependency on C99.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 20:36:20 +02:00
Daniel Kochmański
91e04ba339 tests: run random-states test on make check
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 18:36:00 +02:00
Daniel Kochmański
de322d9b0c cosmetic: use (void) instead of ()
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 18:07:21 +02:00
Daniel Kochmański
dd37dd2851 random-state: more informative message
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 16:32:50 +02:00
Daniel Kochmański
a8432f4f9c random-state: use 32 bit types for 32 bit implementation
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-22 16:16:40 +02:00
Daniel Kochmański
a85579c198 version: bump version to 16.1.0
We have API changes (#$ and with-rwlock) and various bugfixes. Note
that it's not the release yet, just version bump.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 19:42:38 +02:00
Daniel Kochmański
6a5f5d2de6 doc: update random-sates section
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 19:38:30 +02:00
Daniel Kochmański
ccafd2c54e random: add regression tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 19:14:20 +02:00
Daniel Kochmański
68e89cbf97 random: update changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 18:15:14 +02:00
Daniel Kochmański
82ef9aa318 random-state: allow initialization from the array
Array used for initialization is an array of the final values of
internal vector used to generate next randoms which should be a
product of initialization from a random seed.

This ability is required by CLHS to be able to read back the printed
random state. To print readable representation of random state
*print-readably* should be bound to T.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 18:08:50 +02:00
Daniel Kochmański
03efe83b99 random-state: use byte32 array for internal representation
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 17:09:39 +02:00
Daniel Kochmański
3e3423bce4 random: add comment for 64 rng
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:30:07 +02:00
Daniel Kochmański
07ad0fc2f2 init-random: fix #$ for fixnums (allow providing seed)
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:22:51 +02:00
Daniel Kochmański
783f4730a8 init-random: move array allocation to init_genrand
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:21:44 +02:00
Daniel Kochmański
fc7443732b init-random-state: factor out function taking seed argument
We want this to be able to initialize random state from the fixnum and
from the array (following commits). This also simplifies code a
little.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-20 18:37:18 +02:00