-
Notifications
You must be signed in to change notification settings - Fork 15
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
Install build rules #381
base: master
Are you sure you want to change the base?
Install build rules #381
Conversation
Add "jlm" prefix to a few library names to avoid name clashes with commonly used libraries. Support building shared libraries. Support setting install path, prefix etc. Add pkg-config files for util and rvsdg library (for now), so they can be installed and used more easily by external packages (via autotools, cmake, bazel, ...).
Add initial version of debian packaging rules. This allows to build the libraries as packaged artifacts, simplifying build distribution and management of dependencies.
@@ -70,6 +80,18 @@ while [[ "$#" -ge 1 ]] ; do | |||
usage >&2 | |||
exit 1 | |||
;; | |||
--prefix=*) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These flags are not mentioned in the help text, is that on purpose?
Also, the use of --flag=<value>
instead of --flag <value>
is different from the others, is this due to Debian standards for configure scripts or something?
Anyway, it might be a good argument for rewriting the configure-script in python with argparse
to get more general parsing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"--flag=X" vs. "--flag X": This is really annoying, I figured that meta-buildsystems kind of expect both to work with --flag=X being used more often (most standard packaging scripts). Ideally, both should work but TBH I don't want the feature creep of fully reimpleminting autoconf & friends.
Rewriting in python: opens a different of issues depending on it as build-time requirement. Depending on where and how things are built, it is "#!/usr/bin/python", "#!/usr/bin/python3" "#!/bin/env python" "#!/bin/env python3" and if things turn ugly it is "#!/bin/env python2.7".... posix sh sucks badly from ergonomic point of view, but at least is realible.
Documentation is missing, will fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As talked offline, we leave it as it is right now. I am not happy with the parameter syntax mix, but if that is what is needed right now, then let's go ahead. Just add the documentation and we can merge this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@haved mentioned it already in his comment. The only issue I have with this PR is the inconsistency of the flags.
@caleridas Do you still plan to merge this one or abandon it? |
Would like to get packaging scripts merged, but not in the next few days. |
This provides build rules and glue to build packaged binary and development libraries. It also adds pkg-config files to simplify integration with other build systems (be it cmake, bazel, autotools,... which basically all understand pkgconfig well). Avoid name clashes of "too non-descriptive names" like libutil by adding jlm prefix to a few library names.