This merges a series of commits implementing target
architecture detection for Windows builds, and the
setting of appropriate options for 32 and 64 bit builds.
This merges commit a7d3098 which responded to issue #22. With this commit,
cflag '-mmacosx-version-min=*' from a lib makefile is respected, not
overridden by a default minimum version.
Variables PDDIR, PDINCLUDEDIR, PDBINDIR and PDLIBDIR were introduced in
the previous commit as API replacement for a less coherent set of path
variable names, and made these paths settable in the environment.
This commit (re)writes variable descriptions accordingly and reorganizes
descriptions with the intention to give a more comprehensible overview of
the API structure.
These new path variables are aliases of existing ones that didn't have
coherent names. The new variables are all defined such that they are
overridable from the environment, as indicated by the upper case syntax.
This variable is useful when building against a 'portable' pd install.
Makefile.pdlibbuilder should now be compatible with centralized build
systems when PD_PATH is passed as make argument, or set in environment.
Update version number because of previous (merge) commit. The
merge was done with github's 'Merge' button. Never again. The merged
commit was 49a0b2f from 2016-06-28 allowing installed files to
contain weirdo characters, and closing issue #19.
Makefile.pdlibbuilder sets a default minimum OSX version for optimal
support of older OSX versions. With this commit, '-mmacosx-version-min=*'
in variable 'cflags' from the lib makefile is respected, not overridden.
A lib makefile can now determine the minimum OSX version (for example to
support C++11, which was the direct motivation for this change).
This is a response to pull request #22 'Making minimum Mac OS X version
configurable', but note that it is implemented in a different way.
Multiple defaults cause confusion and after discussion vanilla is preferred
default because:
1. vanilla is actively maintained
2. currently most pd lib authors develop against vanilla
3. unlike other pd flavors, vanilla is not part of a centralized build system
with internal include path
Only pass flags categories which can be expected to hold -I flags
to the preprocessor for dependency checking. Omit categories which
may contain architecture and tuning flags. This is a small and
hopefully reasonable limitation of dependency-checking functionality.
The preprocessor will still see predefined macros, amongst which
architecture definition. Thus, eventual architecture-dependent include
statements in the source code are considered for native architecture
during dependency checking.
This commit should resolve the rebuild issue on OSX, where some compiler
versions can not handle multiple architecture flags during dependency
checking.
...like '$' (e.g. "$arg-help.pd")
by installing them one-by-one and using single-quotes
(so the shell doesn't expand the dollargs)
NOTE: this does not fix compiling such weirdo filenames
Closes: https://github.com/pure-data/pd-lib-builder/issues/19