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

Install build rules #381

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

Install build rules #381

wants to merge 2 commits into from

Conversation

caleridas
Copy link
Collaborator

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.

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=*)
Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Owner

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.

Copy link
Owner

@phate phate left a 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.

@phate
Copy link
Owner

phate commented Jun 15, 2024

@caleridas Do you still plan to merge this one or abandon it?

@caleridas
Copy link
Collaborator Author

@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.

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.

3 participants