Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensions support #66

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open

Extensions support #66

wants to merge 17 commits into from

Conversation

zilder
Copy link
Contributor

@zilder zilder commented May 27, 2019

Add support for extensions implemented as shared libraries. External modules must implement the interface provided by modules.h and register themselves with register_module() function. A single library can register multiple modules.

Some of existing modules (those that depend on other libraries) were moved to contrib directory and were provided with its own Makefiles. Contrib modules and extensions should include contrib.mk which incorporates all necessary targets for building and installing modules.

Top level Makefile has been splitted into to parts: Makefile itself and Makefile.global. The latter contains common variables useful for both Makefile and contrib.mk. After installation the Makefile.global and contrib.mk file are located in schaufel's libraries path.

Added -L (library path) and -I (include path) options to schaufel executable. Those are needed by contrib.mk to provide correct include path to a compiler and to install modules.

Also autoconf script has been added. It checks for compiler options, shared libraries needed by schaufel to build, generates makefiles and build.h header file.

zilder added 17 commits May 14, 2019 10:47
* Add `load_module` function that dynamically opens shared object and
calls special `schaufel_module_init` func;
* Create `contrib` directory for modules and a Makefile to build modules
in the directory;
* Extracted postgres module to `contrib` directory and added a Makefile to
build it as a shared library.
… that

print include path and library path and make use of those to build contribs
and extensions
@zilder zilder requested a review from 65278 May 27, 2019 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant