Skip to content
Snippets Groups Projects
  1. May 18, 2020
    • Vladislav Shpilevoy's avatar
      cmake: remove dynamic-list linker option · 03790ac5
      Vladislav Shpilevoy authored
      dynamic-list (exported_symbols_list on Mac) was used to forbid
      export of all symbols of the tarantool executable except a given
      list. Motivation of that was to avoid hacking the linker with
      false usage of symbols needed to be exported. As a consequence,
      symbols not listed in these options became invisible.
      
      Before these options, when a symbol was defined, but not used in
      the final executable, the linker could throw it away, even though
      many symbols were used by Lua FFI, or should be visible for user's
      dynamic modules. Where the linker, obviously, can't see if they
      are needed.
      
      To make the linker believe the symbols are actually needed there
      was a hack with getting pointers at these functions and doing
      something with them.
      
      For example, assume we have 'test()' function in 'box' static
      library:
      
          int
          test(void);
      
      It is not used anywhere in the final executable. So to trick the
      linker there is a function 'export_syms()' declared, which takes a
      pointer at 'test()' and seemingly does something with it (or
      actually does - it does not matter):
      
          void
          export_syms()
          {
              void *syms[] = {test};
              if (time(NULL) == 0) {
                  syms[0]();
                  syms[1]();
                  ...
              }
          }
      
      Some users want to use not documented but visible symbols, so the
      patch removes the dynamic-list option, and returns the linker
      hack back. But with 0 dependencies in the export file.
      
      Closes #2971
      03790ac5
  2. Mar 26, 2020
    • Cyrill Gorcunov's avatar
      test: unit/popen -- provide a child process · 12086678
      Cyrill Gorcunov authored
      
      Testing via plain C interface with a shell is not stable,
      the shell might simply be misconfigured or not found and
      we will simply stuck forever (the signal handling in libev
      is tricky and requires at least idle cycles or similar to
      pass event processing). Thus lets rather run a program we
      know is presenting in the system (popen-child executable).
      
      Fixes #4811
      
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      12086678
  3. Dec 17, 2019
  4. Sep 10, 2019
    • Igor Munkin's avatar
      test: move luajit-tap suite to luajit repo · 43575303
      Igor Munkin authored
      * All test chunks related to luajit were moved from tarantool source
      tree to the luajit repo
      * Adjusted CMakeLists via creating a symlink to luajit test directory
      to fix out-of-source tests
      
      Closed #4478
      43575303
  5. Jun 16, 2019
  6. Mar 02, 2019
  7. Oct 12, 2018
  8. Apr 22, 2018
    • Alexander Turenko's avatar
      Remove autogenerated files · 1473e30e
      Alexander Turenko authored
      Rewrote TCL scripts as posix shell ones, enabled SQL_MAINTAINER_MODE
      commands unconditionally.
      
      Rewrote cmake targets to generate those files in a build directory
      instead of the source directory.
      
      Fixes #3183.
      1473e30e
  9. Jul 14, 2017
  10. May 05, 2017
    • Nick Zavaritsky's avatar
      Check in sqlite 3.16.2 · d0a9dfed
      Nick Zavaritsky authored
      * do not include autotools build files
      
      sql: [#2387] [#2267] Cleanup unused SQLite fines.
      
      sql: Checkin SQLite test coverage
      
      sql: Remove TCL-based tests
      
      Remove sqlite-tcl testsuite along with all TCL-relared libs.
      Clean up sqlite's CMakeLists and remove redundant TCL-related
      sources.
      
      	* src/lib/sqlite/CMakeLists.txt: Remove dependency on TCL library.
      	* src/lib/sqlite/src/CMakeLists.txt: Remove testfixture target.
      	* src/lib/sqlite/src/test.*: Remove.
      	* src/lib/sqlite/src/sqlite3.rc: Ditto.
      	* src/lib/sqlite/src/tclsqlite.c: Ditto.
      	* src/lib/sqlite/ext: Ditto.
      	* test/sqlite-tcl: Ditto.
      
      Add -o option in lemon (output file name)
      
      This is necessary for out-of-source CMake builds.
      
      Use dummy commit date and UUID in sqlite3.h
      
      Last commit date and UUID are included in generated sqlite3.h. We don't
      distribute standalone sqlite, and Tarantool itself is already
      version-stamped.
      
      sqlite: Add VERSION
      Implement CMake build rules for sqlite.
      d0a9dfed
  11. Mar 28, 2017
  12. Oct 06, 2016
  13. Sep 01, 2016
  14. Aug 30, 2016
  15. Aug 19, 2016
  16. Aug 03, 2016
  17. Jun 09, 2016
  18. May 16, 2016
  19. May 11, 2016
  20. Feb 18, 2016
  21. Feb 09, 2016
  22. Feb 01, 2016
  23. Jan 22, 2016
  24. Jan 19, 2016
  25. Jan 18, 2016
  26. Jan 09, 2016
    • Roman Tsisyk's avatar
      Update CMakeFiles to unify deb/rpm packaging · 728eaebd
      Roman Tsisyk authored
      * Add -DENABLE_DIST=ON option to enable init scripts on `make install`
      * Create directories for tarantoolctl on `make install`
      * Add logrotate script to `make install`
      * Fix example.lua to work out of the box
      * Use /etc/default instead of /etc/sysconfig on Debian
      * Fix directories permissions for tarantoolctl
      * Add support for systemd-tmpfiles (required by Fedora)
      728eaebd
  27. Dec 15, 2015
  28. Nov 13, 2015
  29. Sep 30, 2015
  30. Aug 28, 2015
  31. Jul 07, 2015
  32. Jul 06, 2015
    • Veniamin Gvozdikov's avatar
      Updated FreeBSD ports files · 82227773
      Veniamin Gvozdikov authored
      82227773
    • Konstantin Osipov's avatar
      gh-897: stored functions in C/C++ · fccb62ce
      Konstantin Osipov authored
      Implement basic support for stored functions in C/C++.
      
      - split away struct func from struct func_def (function
      object and function definition object).
      - extend box.schema.func.create() to accept 'language' argument.
      - move module API related cmake magic to its own file
      - add test/lib to gitignore
      - update to the new test-run
      - add a test
      fccb62ce
  33. Apr 22, 2015
    • Roman Tsisyk's avatar
    • Roman Tsisyk's avatar
      Rename module.h to tarantool.h · b53e4674
      Roman Tsisyk authored
      b53e4674
    • Roman Tsisyk's avatar
      Define public module API for Tarantool Lua/C modules · efe97b7b
      Roman Tsisyk authored
      This patch adds `src/module.h` header file with definition of all public
      API functions suitable to use in Lua/C modules for Tarantool. This header
      is automatically generated from src/*.h by CMake (`make generate_module_api`)
      by extracting code blocks between /** \cond public */ /* \endcond public */
      Doxygen-style comments.
      
      Definitions of functions in module.h are frozen and must not be changed by
      future commits/releases. A new test case `app/module_api` is added to check
      compilation, linkage and loading of Lua modules and functionality of
      provided API functions.
      
      Other changes:
      
       * Convert mysql and pg to use module.h and prepare to convert to .c
       * Fix includes in say.h, coeio.h
       * Rename luaL_pushnumber64 to luaL_pushuint64 and
                luaL_pushinumber64 to luaL_pushint64
       * Add LUA_API macros to public luaL_* functions (actually adds extern "C")
      efe97b7b
Loading