diff --git a/CMakeLists.txt b/CMakeLists.txt index 92a8fb620381506d59d133a90c336ac09cb74b8e..219f45a8c0cc2ea2f589b432b4b24671ecb481d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,10 +51,8 @@ if(NOT CMAKE_BUILD_TYPE) FORCE) endif() -if(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR lib) -endif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - +# Define GNU standard installation directories +include(GNUInstallDirs) include(cmake/utils.cmake) @@ -145,37 +143,20 @@ include_directories("${PROJECT_SOURCE_DIR}/third_party") # # Specify Tarantool modules prefixes # -set(MODULE_DIR "${CMAKE_INSTALL_LIBDIR}/tarantool/") -set(MODULE_DIR "${MODULE_DIR}${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") -# -# Specify prefixes -# -if (NOT DEFINED CMAKE_SYSCONF_DIR) - set (CMAKE_SYSCONF_DIR "etc") -endif() -if (NOT DEFINED CMAKE_LOCALSTATE_DIR) - set (CMAKE_LOCALSTATE_DIR "var") -endif() -if (NOT DEFINED CMAKE_MAN_DIR) - set (CMAKE_MAN_DIR "man") -endif() +set(MODULE_SUFFIX "tarantool/${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") +set(MODULE_LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}/${MODULE_SUFFIX}") +set(MODULE_LUADIR "${CMAKE_INSTALL_FULL_DATADIR}/${MODULE_SUFFIX}") +set(MODULE_INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/${MODULE_SUFFIX}") +message(STATUS "Module sources: ${MODULE_LUADIR}") +message(STATUS "Module libraries:${MODULE_LIBDIR}") +message(STATUS "Module includes: ${MODULE_INCLUDEDIR}") -# -# Specify system-specific Lua prefixes -# -if (NOT DEFINED LUA_SYSPATH) - set (LUA_SYSPATH "") -endif() -if (NOT DEFINED LUA_SYSCPATH) - set (LUA_SYSCPATH "") -endif() - -# -# Specify Tarantool modules Lua prefixes -# -set (LUA_LIBPATH "${LUA_LIBPATH};${MODULE_DIR}/?.lua") -set (LUA_LIBCPATH "${LUA_LIBCPATH};${MODULE_DIR}/?.so") +list(APPEND MODULE_LUAPATH "${MODULE_LUADIR}/?.lua") +list(APPEND MODULE_LUAPATH "${MODULE_LUADIR}/?/init.lua") +list(APPEND MODULE_LIBPATH "${MODULE_LIBDIR}/?${CMAKE_SHARED_MODULE_SUFFIX}") +message(STATUS "Module package.path: ${MODULE_LUAPATH}") +message(STATUS "Module package.cpath: ${MODULE_LIBPATH}") # # Now handle all configuration options. @@ -365,6 +346,8 @@ configure_file( "${PROJECT_SOURCE_DIR}/include/tarantool/config.h.cmake" "${PROJECT_BINARY_DIR}/include/tarantool/config.h" ) +install(FILES ${PROJECT_BINARY_DIR}/include/tarantool/config.h + DESTINATION ${MODULE_INCLUDEDIR}) message (STATUS "") message (STATUS "Tarantool configuration is complete:") message (STATUS "") diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake index a1a425f5aa3714fba030117a2cd91a69f65a8974..3874fbcfbbfae8028be6636edf7ef7d25c5c8e41 100644 --- a/cmake/luajit.cmake +++ b/cmake/luajit.cmake @@ -192,6 +192,10 @@ macro(luajit_build) ) add_dependencies(build_bundled_libs libluajit) unset (luajit_buildoptions) + set (inc ${PROJECT_SOURCE_DIR}/third_party/luajit/src) + install (FILES ${inc}/lua.h ${inc}/lualib.h ${inc}/lauxlib.h + ${inc}/luaconf.h ${inc}/lua.hpp ${inc}/luajit.h + DESTINATION ${MODULE_INCLUDEDIR}) endmacro() # diff --git a/connector/c/tnt/CMakeLists.txt b/connector/c/tnt/CMakeLists.txt index d641af1249c90e551cd3785c89088826e70aa85b..9b756303a9383e825e6b5bdc35507aad6072ae0a 100644 --- a/connector/c/tnt/CMakeLists.txt +++ b/connector/c/tnt/CMakeLists.txt @@ -74,5 +74,5 @@ set_target_properties(tnt_shared PROPERTIES OUTPUT_NAME "tarantool") # Install #----------------------------------------------------------------------------# -install (TARGETS tnt ARCHIVE DESTINATION lib) -install (TARGETS tnt_shared LIBRARY DESTINATION lib) +install (TARGETS tnt ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install (TARGETS tnt_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/connector/c/tntnet/CMakeLists.txt b/connector/c/tntnet/CMakeLists.txt index 9cc3242c10d04d881046710e77d96fe163ccee3b..a298c5b679b00c7aacce4a07743859f54160c20e 100644 --- a/connector/c/tntnet/CMakeLists.txt +++ b/connector/c/tntnet/CMakeLists.txt @@ -66,5 +66,5 @@ set_target_properties(tntnet_shared PROPERTIES OUTPUT_NAME "tarantoolnet") # Install #----------------------------------------------------------------------------# -install (TARGETS tntnet ARCHIVE DESTINATION lib) -install (TARGETS tntnet_shared LIBRARY DESTINATION lib) +install (TARGETS tntnet ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install (TARGETS tntnet_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/connector/c/tntrpl/CMakeLists.txt b/connector/c/tntrpl/CMakeLists.txt index 213f0445dad5fa88b450b5501c0b43276d55b55e..bb38ae1a731ddd22e544f42381c72d50d1799c6f 100644 --- a/connector/c/tntrpl/CMakeLists.txt +++ b/connector/c/tntrpl/CMakeLists.txt @@ -65,5 +65,5 @@ set_target_properties(tntrpl_shared PROPERTIES OUTPUT_NAME "tarantoolrpl") # Install #----------------------------------------------------------------------------# -install (TARGETS tntrpl ARCHIVE DESTINATION lib) -install (TARGETS tntrpl_shared LIBRARY DESTINATION lib) +install (TARGETS tntrpl ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install (TARGETS tntrpl_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/connector/c/tntsql/CMakeLists.txt b/connector/c/tntsql/CMakeLists.txt index fb23756f348d1bc01140f4402b811271e5659d2c..09da87d382bdc61ca7e02428df274580d6df8ca0 100644 --- a/connector/c/tntsql/CMakeLists.txt +++ b/connector/c/tntsql/CMakeLists.txt @@ -67,5 +67,5 @@ set_target_properties(tntsql_shared PROPERTIES OUTPUT_NAME "tarantoolsql") # Install #----------------------------------------------------------------------------# -install (TARGETS tntsql ARCHIVE DESTINATION lib) -install (TARGETS tntsql_shared LIBRARY DESTINATION lib) +install (TARGETS tntsql ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install (TARGETS tntsql_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/debian/control b/debian/control index 8cdd656698fe1c13d07c39ff33bbc89ae6f03fde..c4bb1f8245162377c75decb4287dd3038cfd34a7 100644 --- a/debian/control +++ b/debian/control @@ -47,6 +47,16 @@ Description: In-memory database with Lua application server . This package provides Tarantool server. +Package: tarantool-dev +Architecture: i386 amd64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 +Priority: optional +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, + tarantool (= ${binary:Version}), +Description: Tarantool in-memory database - development headers + Tarantool is an in-memory database and Lua application server. + This package provides server headers needed to build pluggable modules. + Package: tarantool-modules Conflicts: tarantool-plugins (<< 1.5.3) Replaces: tarantool-plugins (<< 1.5.3) diff --git a/debian/libtarantool-dev.install b/debian/libtarantool-dev.install index 421ba8d242f16f41eb703cb6e3ec2820a7babc27..2463980f44be970956258734cd2f7d773bc74155 100644 --- a/debian/libtarantool-dev.install +++ b/debian/libtarantool-dev.install @@ -1 +1 @@ -connector/c/include/tp.h /usr/include/tarantool/ +connector/c/include/tp.h /usr/include/tarantool/1.5/ diff --git a/debian/rules b/debian/rules index 43521a371209ce4ed96fa0b7ae05b4e90f138fac..2638d93c3cc00b7d4f0c62a6bd3c2a64776fd0fd 100755 --- a/debian/rules +++ b/debian/rules @@ -8,16 +8,19 @@ UVERSION := $(shell echo $(VERSION)|sed 's/-[[:digit:]]\+$$//') DEB_CMAKE_EXTRA_FLAGS := \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ - -DENABLE_CLIENT=true + -DENABLE_CLIENT=true \ + -DWITH_MYSQL=ON \ + -DWITH_POSTGRESQL=ON DEB_DH_INSTALLINIT_ARGS := --name=tarantool DEB_CMAKE_INSTALL_PREFIX := /usr DEB_CMAKE_NORMAL_ARGS := -DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_INSTALL_PREFIX)" \ - -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DCMAKE_SYSCONF_DIR=/etc/tarantool \ - -DCMAKE_LOCALSTATE_DIR=/var + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc/tarantool \ + -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib # -DCMAKE_C_FLAGS="$(CFLAGS)" \ # -DCMAKE_LD_FLAGS="$(LDFLAGS)" \ # -DENABLE_STATIC=ON @@ -26,7 +29,7 @@ DEB_CMAKE_NORMAL_ARGS := -DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_INSTALL_PREFIX)" \ # -DCMAKE_C_COMPILER:FILEPATH="$(CC)" \ # -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \ -DEB_SHLIBDEPS_INCLUDE := /usr/lib/tarantool/plugins +DEB_SHLIBDEPS_INCLUDE := /usr/lib/tarantool/1.5 DEB_INSTALL_DOCS_ALL := -XTODO -XAUTHORS DEB_DH_STRIP_ARGS_tarantool := -X/usr/bin/tarantool_box @@ -35,12 +38,15 @@ include /usr/share/cdbs/1/class/cmake.mk DEB_BUILDDIR := build-area +DIRNAME=$(shell basename $(CURDIR)) + tarball: clean git describe > VERSION cd .. && tar --exclude=.git --exclude=debian \ --exclude=rfc4627.txt \ --exclude=doc/www-data/ycsb \ - -czf tarantool_$(UVERSION).orig.tar.gz tarantool-$(UVERSION) + --transform='s,^$(DIRNAME),tarantool_$(UVERSION),' \ + -czf tarantool_$(UVERSION).orig.tar.gz $(DIRNAME) clean:: find -type f -name \*.pyc -delete diff --git a/debian/tarantool-dev.install b/debian/tarantool-dev.install new file mode 100644 index 0000000000000000000000000000000000000000..6664ce96eebfb35fea90cb3c4a3528bd355e844f --- /dev/null +++ b/debian/tarantool-dev.install @@ -0,0 +1,7 @@ +/usr/include/tarantool/1.5/config.h +/usr/include/tarantool/1.5/lauxlib.h +/usr/include/tarantool/1.5/luaconf.h +/usr/include/tarantool/1.5/lua.h +/usr/include/tarantool/1.5/lua.hpp +/usr/include/tarantool/1.5/luajit.h +/usr/include/tarantool/1.5/lualib.h diff --git a/debian/tarantool-sql-module.install b/debian/tarantool-sql-module.install index 19fb54d63806e67c4cffa9d2df568798c4494639..7c1ba5555de0d0785765e80abe5a6cc1355a9b7a 100644 --- a/debian/tarantool-sql-module.install +++ b/debian/tarantool-sql-module.install @@ -1 +1 @@ -usr/lib/tarantool/1.5/box/net/sql.lua +usr/share/tarantool/1.5/box/net/sql.lua diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt index da6ec21aa5a35ec7ee9194c4d924eccaf19df428..0c83ef706659c29d011bdf0751ad61166a398f3c 100644 --- a/doc/man/CMakeLists.txt +++ b/doc/man/CMakeLists.txt @@ -5,7 +5,7 @@ add_custom_target(man ALL ${CMAKE_SOURCE_DIR}/doc/man/tarantool.pod > ${PROJECT_BINARY_DIR}/doc/man/tarantool.1 ) -install(FILES ${PROJECT_BINARY_DIR}/doc/man/tarantool_box.1 DESTINATION ${CMAKE_MAN_DIR}/man1/) +install(FILES ${PROJECT_BINARY_DIR}/doc/man/tarantool_box.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/) if (ENABLE_CLIENT) - install(FILES ${PROJECT_BINARY_DIR}/doc/man/tarantool.1 DESTINATION ${CMAKE_MAN_DIR}/man1/) + install(FILES ${PROJECT_BINARY_DIR}/doc/man/tarantool.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/) endif() diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt index bed63b73277250d3998d65e764420f792dc5e136..2cc0fafc3e67a727bb86f7d396216080c6cc0372 100644 --- a/extra/CMakeLists.txt +++ b/extra/CMakeLists.txt @@ -4,7 +4,7 @@ # if (ENABLE_RPM) # chmod +x 655 - install (FILES tarantool_box DESTINATION ${CMAKE_SYSCONF_DIR}/init.d + install (FILES tarantool_box DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init.d PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_EXECUTE diff --git a/extra/rpm.spec.in b/extra/rpm.spec.in index 549d7dd4d94defd8e0064d845a587e734d07fce6..18f2e25a6b366c6c91b3799b16466ff54a9f1c05 100644 --- a/extra/rpm.spec.in +++ b/extra/rpm.spec.in @@ -123,7 +123,20 @@ This package provides Tarantool client libraries. %setup -n @RPM_SOURCE_DIRECTORY_NAME@ %build -cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DENABLE_CLIENT=ON -DENABLE_RPM=ON -DENABLE_BACKTRACE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SYSCONF_DIR=/etc -DCMAKE_MAN_DIR=/usr/share/man +# https://fedoraproject.org/wiki/Packaging:RPMMacros +cmake . -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DENABLE_CLIENT=ON -DENABLE_RPM=ON \ + -DENABLE_BACKTRACE=ON -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ + -DCMAKE_INSTALL_BINDIR=%{_bindir} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \ + -DCMAKE_INSTALL_SBINDIR=%{_sbindir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR=%{_sharedstatedir} \ + -DCMAKE_INSTALL_DATADIR=%{_datadir} \ + -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ + -DCMAKE_INSTALL_INFODIR=%{_infodir} \ + -DCMAKE_INSTALL_MANDIR=%{_mandir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} make %{?_smp_mflags} @@ -160,77 +173,85 @@ useradd -r -g tarantool tarantool > /dev/null 2>&1 %files sql-module %defattr(-,root,root,-) -%dir "/usr/lib/tarantool/1.5" -%dir "/usr/lib/tarantool/1.5/box" -%dir "/usr/lib/tarantool/1.5/box/net" -"/usr/lib/tarantool/1.5/box/net/sql.lua" +%dir "%{_datadir}/tarantool/1.5" +%dir "%{_datadir}/tarantool/1.5/box" +%dir "%{_datadir}/tarantool/1.5/box/net" +"%{_datadir}/tarantool/1.5/box/net/sql.lua" %files pg-module %defattr(-,root,root,-) -%dir "/usr/lib/tarantool/1.5" -%dir "/usr/lib/tarantool/1.5/box" -"/usr/lib/tarantool/1.5/box/net/pg.so" +%dir "%{_libdir}/tarantool/1.5" +%dir "%{_libdir}/tarantool/1.5/box" +"%{_libdir}/tarantool/1.5/box/net/pg.so" %files mysql-module %defattr(-,root,root,-) -%dir "/usr/lib/tarantool/1.5" -%dir "/usr/lib/tarantool/1.5/box" -"/usr/lib/tarantool/1.5/box/net/mysql.so" +%dir "%{_libdir}/tarantool/1.5" +%dir "%{_libdir}/tarantool/1.5/box" +"%{_libdir}/tarantool/1.5/box/net/mysql.so" %files sophia-module %defattr(-,root,root,-) -%dir "/usr/lib/tarantool/1.5" -%dir "/usr/lib/tarantool/1.5/box" -"/usr/lib/tarantool/1.5/box/sophia.so" +%dir "%{_libdir}/tarantool/1.5" +%dir "%{_libdir}/tarantool/1.5/box" +"%{_libdir}/tarantool/1.5/box/sophia.so" %files dev %defattr(-,root,root,-) -%dir "/usr/include/tarantool" -"/usr/include/tarantool/tnt.h" -"/usr/include/tarantool/tnt_buf.h" -"/usr/include/tarantool/tnt_call.h" -"/usr/include/tarantool/tnt_delete.h" -"/usr/include/tarantool/tnt_dir.h" -"/usr/include/tarantool/tnt_enc.h" -"/usr/include/tarantool/tnt_insert.h" -"/usr/include/tarantool/tnt_io.h" -"/usr/include/tarantool/tnt_iob.h" -"/usr/include/tarantool/tnt_iter.h" -"/usr/include/tarantool/tnt_lex.h" -"/usr/include/tarantool/tnt_log.h" -"/usr/include/tarantool/tnt_mem.h" -"/usr/include/tarantool/tnt_net.h" -"/usr/include/tarantool/tnt_opt.h" -"/usr/include/tarantool/tnt_ping.h" -"/usr/include/tarantool/tnt_proto.h" -"/usr/include/tarantool/tnt_queue.h" -"/usr/include/tarantool/tnt_reply.h" -"/usr/include/tarantool/tnt_request.h" -"/usr/include/tarantool/tnt_rpl.h" -"/usr/include/tarantool/tnt_select.h" -"/usr/include/tarantool/tnt_snapshot.h" -"/usr/include/tarantool/tnt_sql.h" -"/usr/include/tarantool/tnt_stream.h" -"/usr/include/tarantool/tnt_tuple.h" -"/usr/include/tarantool/tnt_update.h" -"/usr/include/tarantool/tnt_utf8.h" -"/usr/include/tarantool/tnt_xlog.h" -"/usr/lib/libtarantool.a" -"/usr/lib/libtarantool.so" -"/usr/lib/libtarantool.so.1" -"/usr/lib/libtarantool.so.1.1" -"/usr/lib/libtarantoolnet.a" -"/usr/lib/libtarantoolnet.so" -"/usr/lib/libtarantoolnet.so.1" -"/usr/lib/libtarantoolnet.so.1.1" -"/usr/lib/libtarantoolrpl.a" -"/usr/lib/libtarantoolrpl.so" -"/usr/lib/libtarantoolrpl.so.1" -"/usr/lib/libtarantoolrpl.so.1.1" -"/usr/lib/libtarantoolsql.a" -"/usr/lib/libtarantoolsql.so" -"/usr/lib/libtarantoolsql.so.1" -"/usr/lib/libtarantoolsql.so.1.1" +%dir "%{_includedir}/tarantool" +"%{_includedir}/tarantool/tnt.h" +"%{_includedir}/tarantool/tnt_buf.h" +"%{_includedir}/tarantool/tnt_call.h" +"%{_includedir}/tarantool/tnt_delete.h" +"%{_includedir}/tarantool/tnt_dir.h" +"%{_includedir}/tarantool/tnt_enc.h" +"%{_includedir}/tarantool/tnt_insert.h" +"%{_includedir}/tarantool/tnt_io.h" +"%{_includedir}/tarantool/tnt_iob.h" +"%{_includedir}/tarantool/tnt_iter.h" +"%{_includedir}/tarantool/tnt_lex.h" +"%{_includedir}/tarantool/tnt_log.h" +"%{_includedir}/tarantool/tnt_mem.h" +"%{_includedir}/tarantool/tnt_net.h" +"%{_includedir}/tarantool/tnt_opt.h" +"%{_includedir}/tarantool/tnt_ping.h" +"%{_includedir}/tarantool/tnt_proto.h" +"%{_includedir}/tarantool/tnt_queue.h" +"%{_includedir}/tarantool/tnt_reply.h" +"%{_includedir}/tarantool/tnt_request.h" +"%{_includedir}/tarantool/tnt_rpl.h" +"%{_includedir}/tarantool/tnt_select.h" +"%{_includedir}/tarantool/tnt_snapshot.h" +"%{_includedir}/tarantool/tnt_sql.h" +"%{_includedir}/tarantool/tnt_stream.h" +"%{_includedir}/tarantool/tnt_tuple.h" +"%{_includedir}/tarantool/tnt_update.h" +"%{_includedir}/tarantool/tnt_utf8.h" +"%{_includedir}/tarantool/tnt_xlog.h" +"%{_libdir}/libtarantool.a" +"%{_libdir}/libtarantool.so" +"%{_libdir}/libtarantool.so.1" +"%{_libdir}/libtarantool.so.1.1" +"%{_libdir}/libtarantoolnet.a" +"%{_libdir}/libtarantoolnet.so" +"%{_libdir}/libtarantoolnet.so.1" +"%{_libdir}/libtarantoolnet.so.1.1" +"%{_libdir}/libtarantoolrpl.a" +"%{_libdir}/libtarantoolrpl.so" +"%{_libdir}/libtarantoolrpl.so.1" +"%{_libdir}/libtarantoolrpl.so.1.1" +"%{_libdir}/libtarantoolsql.a" +"%{_libdir}/libtarantoolsql.so" +"%{_libdir}/libtarantoolsql.so.1" +"%{_libdir}/libtarantoolsql.so.1.1" +%dir "%{_includedir}/tarantool/1.5" +"%{_includedir}/tarantool/1.5/config.h" +"%{_includedir}/tarantool/1.5/lauxlib.h" +"%{_includedir}/tarantool/1.5/luaconf.h" +"%{_includedir}/tarantool/1.5/lua.h" +"%{_includedir}/tarantool/1.5/lua.hpp" +"%{_includedir}/tarantool/1.5/luajit.h" +"%{_includedir}/tarantool/1.5/lualib.h" %files client %defattr(-,root,root,-) diff --git a/include/tarantool/config.h.cmake b/include/tarantool/config.h.cmake index 2273fa7a28827e45b1e0e82454b90c52d074893d..245b95c1fc50db3d3195fa24dbccff3dd1dc6573 100644 --- a/include/tarantool/config.h.cmake +++ b/include/tarantool/config.h.cmake @@ -117,7 +117,7 @@ /* * predefined /etc directory prefix. */ -#define SYSCONF_DIR "@CMAKE_SYSCONF_DIR@" +#define SYSCONF_DIR "@CMAKE_INSTALL_SYSCONFDIR@" #define INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" #define BUILD_TYPE "@CMAKE_BUILD_TYPE@" #define BUILD_INFO "@TARANTOOL_BUILD@" @@ -125,12 +125,15 @@ #define COMPILER_INFO "@CMAKE_C_COMPILER@ @CMAKE_CXX_COMPILER@" #define TARANTOOL_C_FLAGS "@TARANTOOL_C_FLAGS@" #define TARANTOOL_CXX_FLAGS "@TARANTOOL_CXX_FLAGS@" -#define LUA_SYSPATH "@LUA_SYSPATH@" -#define LUA_SYSCPATH "@LUA_SYSCPATH@" -#define LUA_LIBPATH "@LUA_LIBPATH@" -#define LUA_LIBCPATH "@LUA_LIBCPATH@" -#define MODULE_DIR "@MODULE_DIR" +/* + * Modules + */ +#define MODULE_LIBDIR "@MODULE_LIBDIR@" +#define MODULE_LUADIR "@MODULE_LUADIR@" +#define MODULE_INCLUDEDIR "@MODULE_INCLUDEDIR@" +#define MODULE_LUAPATH "@MODULE_LUAPATH@" +#define MODULE_LIBPATH "@MODULE_LIBPATH@" /* * vim: syntax=c diff --git a/src/lua/init.cc b/src/lua/init.cc index be29aa67d7ea03f62fab6e17fc81afa2d782ddb0..d50d016c355d59cc4ea6a3c45da90d5796b5e058 100644 --- a/src/lua/init.cc +++ b/src/lua/init.cc @@ -1167,8 +1167,7 @@ tarantool_lua_setpath(struct lua_State *L, const char *type, ...) const char *p; while ((p = va_arg(args, const char*))) { /* - * If LUA_SYSPATH or LUA_SYSCPATH is an empty - * string, skip it. + * If MODULE_PATH is an empty string, skip it. */ if (*p == '\0') continue; @@ -1204,11 +1203,9 @@ tarantool_lua_init() char path[PATH_MAX]; snprintf(path, sizeof(path), "%s/?.lua", cfg.script_dir); - tarantool_lua_setpath(L, "path", path, LUA_LIBPATH, - LUA_SYSPATH, NULL); + tarantool_lua_setpath(L, "path", path, MODULE_LUAPATH, NULL); snprintf(path, sizeof(path), "%s/?.so", cfg.script_dir); - tarantool_lua_setpath(L, "cpath", path, LUA_LIBCPATH, - LUA_SYSCPATH, NULL); + tarantool_lua_setpath(L, "cpath", path, MODULE_LIBPATH, NULL); /* Loadi 'ffi' extension and make it inaccessible */ lua_getglobal(L, "require"); diff --git a/src/module/mysql/CMakeLists.txt b/src/module/mysql/CMakeLists.txt index 3851206dbaf36cc781fcbd440748274b1b346f25..3f5aa813540ed0f3799f01038befd1fd3290017a 100644 --- a/src/module/mysql/CMakeLists.txt +++ b/src/module/mysql/CMakeLists.txt @@ -5,7 +5,7 @@ if (MYSQL_FOUND) add_library(mysql SHARED mysql.cc) target_link_libraries(mysql ${MYSQL_LIBRARIES} -rdynamic) set_target_properties(mysql PROPERTIES PREFIX "") - install(TARGETS mysql LIBRARY DESTINATION ${MODULE_DIR}/box/net) + install(TARGETS mysql LIBRARY DESTINATION ${MODULE_LIBDIR}/box/net) else() message(STATUS "MySQL client not found, box.net.sql(mysql) disabled") endif() diff --git a/src/module/pg/CMakeLists.txt b/src/module/pg/CMakeLists.txt index e060f45294bc4956c19f4c2200b75c74a77f80c7..b7aad7145c7d34d9b4601ccfdad8d38aa33f52c0 100644 --- a/src/module/pg/CMakeLists.txt +++ b/src/module/pg/CMakeLists.txt @@ -5,7 +5,7 @@ if (PostgreSQL_FOUND) add_library(pg SHARED pg.cc) target_link_libraries(pg ${PostgreSQL_LIBRARIES} -rdynamic) set_target_properties(pg PROPERTIES PREFIX "") - install(TARGETS pg LIBRARY DESTINATION ${MODULE_DIR}/box/net) + install(TARGETS pg LIBRARY DESTINATION ${MODULE_LIBDIR}/box/net) else() message(STATUS "PostgreSQL client not found, box.net.sql(pg) disabled") endif() diff --git a/src/module/sophia/CMakeLists.txt b/src/module/sophia/CMakeLists.txt index 03a27dced0431e3c18b2a5853f25352fe1f2d1ec..7dca1e0879457b30b055643ae036646268f88a5e 100644 --- a/src/module/sophia/CMakeLists.txt +++ b/src/module/sophia/CMakeLists.txt @@ -9,4 +9,4 @@ add_dependencies(sophia libsophia) set_target_properties(sophia PROPERTIES PREFIX "") target_link_libraries(sophia ${sophia_lib} -rdynamic) -install(TARGETS sophia LIBRARY DESTINATION ${MODULE_DIR}/box) +install(TARGETS sophia LIBRARY DESTINATION ${MODULE_LIBDIR}/box) diff --git a/src/module/sql/CMakeLists.txt b/src/module/sql/CMakeLists.txt index 2a75cd5015537e773d0954dd2e9304e961479213..2c9f50160182d99bc9e6008492faba902744380b 100644 --- a/src/module/sql/CMakeLists.txt +++ b/src/module/sql/CMakeLists.txt @@ -1,3 +1,3 @@ install(FILES ${PROJECT_SOURCE_DIR}/src/module/sql/sql.lua - DESTINATION ${MODULE_DIR}/box/net) + DESTINATION ${MODULE_LUADIR}/box/net) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 023488a2bbc3fcc751694870df0ee6951475e45f..801402b75b626290e800b018e950b0e5991cf3d4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -20,16 +20,16 @@ macro(install_cfg type_cfg dest) endmacro(install_cfg) if (ENABLE_RPM) - install_cfg(rpm ${CMAKE_SYSCONF_DIR}/tarantool/) + install_cfg(rpm ${CMAKE_INSTALL_SYSCONFDIR}/tarantool/) install (FILES ${CMAKE_SOURCE_DIR}/test/box/00000000000000000001.snap DESTINATION share/tarantool) else() if (TARGET_OS_DARWIN) - install_cfg(dmg ${CMAKE_SYSCONF_DIR}) + install_cfg(dmg ${CMAKE_INSTALL_SYSCONFDIR}) else() - install_cfg(tgz ${CMAKE_SYSCONF_DIR}) + install_cfg(tgz ${CMAKE_INSTALL_SYSCONFDIR}) endif() install (FILES ${CMAKE_SOURCE_DIR}/test/box/00000000000000000001.snap - DESTINATION "${CMAKE_LOCALSTATE_DIR}/lib/tarantool") + DESTINATION "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/tarantool") endif()