Commit graph

90 commits

Author SHA1 Message Date
katjav
f334dd4e47 Revert "Introduce target 'install-strip' in the battle against Mingw-w64 bloat"
This reverts commit 6bfaba6. Target 'install-strip' wasn't a good idea. A
library makefile may want to define a post install target.
Makefile.pdlibbuilder should define only one installation target, that
can be defined as prerequisite for other targets. A stripping method is
still needed, but not this one.
2018-03-12 08:47:08 +01:00
katjav
6bfaba6df0 Introduce target 'install-strip' in the battle against Mingw-w64 bloat
It seems that externals built with Mingw-w64 are ~10 times larger than
equivalent builds on other platforms (including original Mingw). Stripping
is therefore desirable. As suggested by IOhannes Zmoelnig stripping is not
done by default, instead this alternative installation target is provided
(like in autotools).
2018-02-18 14:33:11 +01:00
IOhannes m zmölnig
44a32fd009 fixed small typo 2018-02-08 13:05:07 +01:00
IOhannes m zmölnig
1b9f3d8895 Do wildcard-search for MSYS when checking Windows platform 2018-02-08 12:17:05 +01:00
IOhannes m zmölnig
b715b0e2ca sed -e's| sed | set |' 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
7e47b9878b how to build double/W64/double+W64 externals 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
fa7f798c54 drop "pd-lib-builder" from headings when there's only general advise 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
e90da163ac Moved git-submodule down the page 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
e9a67fd0d6 use ~~ for strikethrough 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
07c5e784f3 document git subtree
and `git submodule` with heavy WARNING signs
2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
b2ce500709 sections and TODOs 2018-02-07 16:21:01 +01:00
IOhannes m zmölnig
0493d4a1e8 Started a small tips&tricks page
with handy commands to achieve specific goals
2018-02-07 16:21:01 +01:00
katjav
f1b0e3c7b6 Add linker option '-static-libgcc' for C++ code on Windows
It seems that standard C libs are needed for C++ externals because
of 'extern "C"' functions (setup, Pd API).
2018-02-01 21:45:54 +01:00
katjav
a1ad2e9c88 Merge branch 'windows-paths'
This merges a series of commits that solve a few issues with paths
for Windows builds.

Variables 'PDDIR' and 'PDBINDIR' now have precedence over 'pdbinpath' as they
should.

Default paths for 32 bit builds on 64 bit Windows are now implemented (thanks
to Lucas Cordiviola).

Probing of 'pdincludepath' and 'pdbinpath' through 'ls' is removed to avoid
confusing error messages.
2018-01-31 13:20:42 +01:00
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