-
Notifications
You must be signed in to change notification settings - Fork 11
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
Use subtree, not submodule, to include pd-lib-builder #6
Open
aaaaalbert
wants to merge
140
commits into
pure-data:master
Choose a base branch
from
aaaaalbert:use-git-subtree
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lib.version is only expanded if the file named by $(metafile) exists, but then it uses a hardcoded filename to do the actual expansion. this patch uses $(metafile) to do the expansion instead.
use $(metafile) instead of hardcoded filename in lib.version expansion
This commit reorganizes the accumulation of build flags in such a way that non-obligatory build flags can be overriden or added by specifying CPPFLAGS, CFLAGS and LDFLAGS as arguments from command line or environment.
I've also tried to make printed info a bit more helpful.
Targets pre and post can be defined in the including (library) makefile. They are added to provide extra flexibility. Target all will build pre, $(executable) and post in deterministic order. Built-in documentation is modified to reflect the new situation.
This merge introduces the evaluation of optional multiline defines 'forLinux', 'forDarwin' and 'forWindows', which can be used as a flexible replacement for system-specific variables as in Pd-extended's Makefile template. Example code is added to Makefile.pdlibbuilder's built-in documentation.
Command line variable CFLAGS now work according to conventions (overriding all non-essential C flags). CPPFLAGS and LDFLAGS are also implemented. Built-in documentation updated.
Phony target 'pre' forces rebuilds. This should not be default behavior of Makefile.pdlibbuilder. If one needs a pre-build target (phony or real file), declare it as prerequisite of $(all.objects) in the library makefile after inclusion of Makefile.pdlibbuilder. A pre-build target can have any name that isn't a target in Makefile.pdlibbuilder.
Also remove associated documentation comments.
Multiple arch flags are incompatible with option -MM for preprocessor on (at least) OSX <= 10.5. Non clean builds would stall on this. This commit disables dependency checking for fat builds (current default for OSX) on ppc and i386. Assuming that development is done on newer systems / machines it should rarely hurt.
The bug was probably introduced with version 0.2.3. Bump version to 0.2.4.
And bump version to 0.2.5
Title and text must be more general, but still be specific about cases which we know to work.
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.
This resolves issue #58 and replaces pull request #59.
Fixes issue #64 ("shared.ldflags broken when building with helper-library"), a regression introduced with commit a6975e9 ("Reorder makefile sections"). Name of shared.lib was no longer expanded after reordering sections.
We'll add it back as a Git subtree soon, as recommended by pd-lib-builder's tips-and-tricks doc, https://github.com/pure-data/pd-lib-builder/blob/master/tips-tricks.md#keeping-pd-lib-builder-up-to-date
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
pd-lib-builder
tips-and-tricks document suggests that repositories should includepd-lib-builder
by declaring it a git-subtree rather than a git-submodule.This PR does that: It removes the previous submodule-type of inclusion, and implements the subtree-type inclusion instead. This PR pulls in the full commit history of the subtree. I can do a squashed-history version as well, if that's preferred.
Note: I don't actually suggest that using subtree is the way to go. At least for me it has been almost a decade since I last pondered the subtree-vs-submodule question. However, I think that the "helloworld" example linked from
pd-lib-builder
's README should followbestannounced practices.