Commit graph

76 commits

Author SHA1 Message Date
katjav
3e974fdf21 Update makefile comments related to paths 2018-01-31 13:19:21 +01:00
katjav
fe45bcb376 Avoid ls errors when default paths for Pd on Windows do not exist
Such error messages are confusing if you do not intend to use default
paths. Therefore the probes with ls are removed. Paths to m_pd.h and
pd.dll are probed later in the process when they are possibly
overriden by user definitions.
2018-01-28 20:58:12 +01:00
katjav
9240b64eba Evaluate 'PDBINDIR' before ld flags
So ld flags can be evaluated as immediate variables. Otherwise it
was too confusing, hard to understand why it worked at all.
2018-01-27 14:10:12 +01:00
katjav
f3887bbe7d Update Windows search path documentation in makefile 2018-01-27 12:40:46 +01:00
katjav
1bcf78f86e Define default paths for 32 bit build on 64 bit Windows 2018-01-27 00:07:21 +01:00
katjav
7740128257 Fix priority for user path variables 'PDDIR' & Co.
The order of variable expansion prevented this for the path
to binary 'pd.dll'.
2018-01-24 22:50:20 +01:00
katjav
1361dd3999 Remove unuseful variable 'PD_PATH'
The variable was introduced in commit 41e9743 for compatibility
with centralized build system as inherited from Pd-extended by
Pd-L2ork and Purr Data. But it doesn't work in that context because
$(PD_PATH)/bin is absent. Therefore better remove 'PD_PATH' and
focus on making variables 'PDDIR' & Co. work as expected.
2018-01-24 13:56:36 +01:00
katjav
80d7dc0a13 Bump version to 0.5.0, ready for Windows 64 bit
Update version number after merge commit 215bf3e. This is the first
version handling 64 bit builds for Windows.
2018-01-23 21:25:23 +01:00
katjav
215bf3edc8 Merge branch 'target-arch-mingw'
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.
2018-01-23 18:03:23 +01:00
katjav
a01ee169cd Revert 'uname --machine' to 'uname -m' (bug fix OSX)
Long option name '--machine' was introduced in commit fa3c2ca for
explicitness, however it is not supported by clang / OSX.
2018-01-22 23:19:24 +01:00
katjav
13796bfee2 Add option '-msse3' for Windows on x86_64 architecture 2018-01-21 22:52:19 +01:00
katjav
77ff876401 Fix conditional checks broken in commits e4d42f2 and f83d429 2018-01-21 22:42:47 +01:00
katjav
e4d42f2227 Assume system is "Windows" when uname says "MSYS"
Needed for building with pd-lib-builder on AppVeyor.
2018-01-21 14:59:38 +01:00
katjav
231e344b44 Use variables 'build.arch' and 'target.arch' consistently 2018-01-21 14:45:32 +01:00
katjav
867ad5e8e8 Introduce general remainder architecture category 2018-01-21 11:54:01 +01:00
katjav
f83d4293bd Introduce remainder architecture category for Windows
And explicitly specify Intel 32 bit architectures, where 'mingw32'
is included to support MSYS1.
2018-01-21 11:42:55 +01:00
katjav
37d23530c6 Leave out architecture 'ia64'
As per suggestion of Johannes Zmoelnig. It is not relevant and
also not compatible with x86_64.
2018-01-21 11:19:43 +01:00
katjav
ef21a16eb0 Introduce architecture dependent settings for Windows 2018-01-20 23:11:15 +01:00
katjav
fa3c2ca71d Introduce variable 'target.arch'
It stores the first field of <cpu>-<vendor>-<os> triplet
as retrieved from command '<compiler> -dumpmachine' where <compiler>
is g++ or gcc.
2018-01-20 17:45:31 +01:00
katjav
4be3e99acb Swap OS and machine detection so OS comes first
This is in preparation for target architecture detection through
gcc / g++.
2018-01-20 17:18:34 +01:00
katjav
872c34b1d3 Update CHANGELOG.txt for v0.4.4 2016-11-22 17:56:20 +01:00
katjav
2c14110947 Use variable 'system' when evaluating 'for{Linux,Darwin,Windows}
This evaluates correctly in the case where 'system' is defined for
the purpose of cross compiling. This commit addresses issue #31.
2016-11-22 17:40:13 +01:00
IOhannes m zmölnig
cb839ed470 note (within the pd-lib-builder Makefile) how to update the file. 2016-11-22 16:28:25 +01:00
IOhannes m zmölnig
cdd3b43978 removed trailing whitespace 2016-11-22 16:28:25 +01:00
katja
6120db18a5 Update CHANGELOG.txt 2016-11-02 01:44:26 +01:00
katja
426b38bb35 Replace flags '-fpic' with '-fPIC'
Reportedly '-fPIC' should work for all architectures while '-fpic'
does not.
2016-11-02 01:41:30 +01:00
katja
2e13d8f7a3 Fix bug where incorrect message about m_pd.h is given
And bump to version 0.4.2
2016-10-30 22:15:18 +01:00
katja
058ba82a47 Add section 'versioning' in README.md 2016-10-28 14:31:01 +02:00
katja
006d9575b5 Add CHANGELOG.txt to the project 2016-10-28 09:58:47 +02:00
katja
4c680bfe6f Add 'path' and 'documentation' sections in README.md 2016-10-27 01:10:53 +02:00
katja
48c4127297 Bump version to 0.4.1 after merging 'configurable-minimum-osxversion' 2016-10-27 00:44:56 +02:00
katja
ff9b40c451 Merge branch 'configurable-minimum-osxversion'
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.
2016-10-27 00:43:02 +02:00
katja
cf04da9b47 Rewrite variable descriptions after introduction of 'PDDIR' & Co.
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.
2016-10-14 11:50:34 +02:00
katja
b0dab729b9 Introduce variables PDDIR, PDINCLUDEDIR, PDBINDIR, PDLIBDIR
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.
2016-10-14 00:27:39 +02:00
katja
a0c87bea5e Defer expansion of $(pdbinpath) to correctly find pd.dll (bugfix)
The issue was introduced in version 0.3.0 from the previous commit
(41e9743).
2016-10-14 00:15:10 +02:00
katja
41e9743ed5 Introduce variable 'PD_PATH', bump version to 0.3.0
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.
2016-10-09 22:07:23 +02:00
katja
5b920b194d Set version to 0.2.8 after merging 'install-dollarfiles'
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.
2016-10-09 14:12:31 +02:00
katja
a7d309822d Respect flag '-mmacosx-version-min=*' from lib makefile
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.
2016-10-09 11:56:14 +02:00
katja
7b5e3599ce Merge branch 'install-dollarfiles' 2016-10-05 17:16:13 +02:00
katja
4815915ae2 Add more projects that use pd-lib-builder in README.md 2016-10-05 15:52:47 +02:00
katja
a6a89dc021 Scrap all default include / bin paths except vanilla's
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
2016-10-04 23:20:14 +02:00
Dan Wilcox
dc9a8df02a re-added cyclone link & added contextual info 2016-10-02 11:12:11 -06:00
Dan Wilcox
5c9fed1098 updated cyclone link 2016-09-30 11:40:21 -06:00
katja
2832db38fd Remove old dependency-check workaround for OSX <= 10.5 2016-09-20 13:01:10 +02:00
katja
9fd17957c7 Do not pass architecture flags for dependency checking
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.
2016-09-20 12:52:33 +02:00
IOhannes m zmölnig
49a0b2fa5e allow installed files to contain weirdo characters
...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
2016-06-28 11:33:25 +02:00
katja
f06e550a3a Fix dependency checking for object files in other directories
And bump version to 0.2.5
2016-06-26 11:31:33 +02:00
katja
b1a4c9b525 Print Makefile.pdlibbuilder version 2016-06-25 23:19:32 +02:00
katja
1d7bb5e154 Fix regression bug that disabled all dependency checking
The bug was probably introduced with version 0.2.3.
Bump version to 0.2.4.
2016-06-25 22:26:33 +02:00
katja
eb614fdf16 Disable dep. checking for fat builds on OSX <= 10.5. Version 0.2.3
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.
2016-03-29 11:26:52 +02:00