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

re-ordering makefile caused lib.version to not be included in c.flags #66

Open
sebshader opened this issue Mar 30, 2020 · 1 comment
Open

Comments

@sebshader
Copy link

sebshader commented Mar 30, 2020

because lib.version is now (as of commit a6975e9 I think) evaluated after cflags are passed to c.flags, it doesn't make it into c.flags that rely on it (such as -DVERSION in zexy)
(I wrote a comment in the commit but not sure if anyone would see it)

@umlaeute
Copy link
Contributor

good catch.

it seems that a fix is to move the variables: library name and version section to the top of the Makefile (i put it right after Makefile.pdlibbuilder = true and the target platform detection.

this is probably a safe place, as i think that these variables are "static" (as in: not hacked upon by pd-lib-builder users), and they are expanded simply (as in non-recursively) anyhow.

there's probably an even better place, i haven't looked far.

@katjav i guess the "nice structure" of the Makefile.pdlibbuilder needs to be re-evaluated.
probably it is enough to split into a first part that only deals with simply expanded variables, and a 2nd part to deal with recursively expanded vars.

that is, instead of:

# general foo
# target platform detection
# per-platform vars
# files
# checks
# ...

we probably need something like:

# simply expanded vars
## general foo
## target platform detection
## per-platform vars
## files
## checks
## ...
# recursively expanded vars
## general foo
## target platform detection
## per-platform vars
## files
## checks
## ...

umlaeute referenced this issue Mar 30, 2020
This solves the issue where platform-dependent class inclusion
could not work (#61). Also it seems a more logical order of
evaluation in general because binary file extensions are platform-
dependent.
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

No branches or pull requests

2 participants