-- Rockspec data -- Variables to be interpolated: -- -- flavour: regex library -- version local flavours = {"PCRE", "PCRE2", "POSIX", "oniguruma", "TRE", "GNU"} local version_dashed = version:gsub ("%.", "-") -- FIXME: PCRE2 define should be only in PCRE2 rockspec local defines = {"VERSION=\""..version.."\"", "PCRE2_CODE_UNIT_WIDTH=8"} -- FIXME: When Lua 5.1 support is dropped, use an env argument with -- loadfile instead of wrapping in a table return { default = { package = "Lrexlib-"..flavour, version = version.."-1", source = { url = "git+https://github.com/rrthomas/lrexlib.git", tag = "rel-"..version_dashed, }, description = { summary = "Regular expression library binding ("..flavour.." flavour).", detailed = [[ Lrexlib is a regular expression library for Lua 5.1-5.4, which provides bindings for several regular expression libraries. This rock provides the ]]..flavour..[[ bindings.]], homepage = "https://github.com/rrthomas/lrexlib", license = "MIT/X11" }, dependencies = { "lua >= 5.1" }, }, PCRE = { external_dependencies = { PCRE = { header = "pcre.h", library = "pcre" } }, build = { type = "builtin", modules = { rex_pcre = { defines = defines, sources = {"src/common.c", "src/pcre/lpcre.c", "src/pcre/lpcre_f.c"}, libraries = {"pcre"}, incdirs = {"$(PCRE_INCDIR)"}, libdirs = {"$(PCRE_LIBDIR)"} } } } }, PCRE2 = { external_dependencies = { PCRE2 = { header = "pcre2.h", library = "pcre2-8" } }, build = { type = "builtin", modules = { rex_pcre2 = { defines = defines, sources = {"src/common.c", "src/pcre2/lpcre2.c", "src/pcre2/lpcre2_f.c"}, libraries = {"pcre2-8"}, incdirs = {"$(PCRE2_INCDIR)"}, libdirs = {"$(PCRE2_LIBDIR)"} } } } }, POSIX = { external_dependencies = { POSIX = { header = "regex.h", } }, build = { type = "builtin", modules = { rex_posix = { defines = defines, sources = {"src/common.c", "src/posix/lposix.c"} } } } }, oniguruma = { external_dependencies = { ONIG = { header = "oniguruma.h", library = "onig" } }, build = { type = "builtin", modules = { rex_onig = { defines = defines, sources = {"src/common.c", "src/oniguruma/lonig.c", "src/oniguruma/lonig_f.c"}, libraries = {"onig"}, incdirs = {"$(ONIG_INCDIR)"}, libdirs = {"$(ONIG_LIBDIR)"} } } } }, TRE = { external_dependencies = { TRE = { header = "tre/tre.h", library = "tre" } }, build = { type = "builtin", modules = { rex_tre = { defines = defines, sources = {"src/common.c", "src/tre/ltre.c" --[[, "src/tre/tre_w.c"]]}, libraries = {"tre"}, incdirs = {"$(TRE_INCDIR)"}, libdirs = {"$(TRE_LIBDIR)"} } } } }, GNU = { external_dependencies = { GNU = { header = "regex.h", } }, build = { type = "builtin", modules = { rex_gnu = { defines = defines, sources = {"src/common.c", "src/gnu/lgnu.c"} } } } }, } -- close wrapper table