Mihai Moldovan
315d242ebe
buildsys.mk.in: reorder ${{,FRAMEWORK_}LIBS} and ${LDFLAGS}.
...
${LDFLAGS} often contains additional (system) library directories that
also often contain old/already installed versions of the libraries to be
linked and are passed via ${{,FRAMEWORK_}LIBS}. While
${{,FRAMEWORK_}LIBS} pretty much always contains -Llocal_build_dir to
make the linker/compiler pick the newly built library for the later
referenced libraries, that location will be overridden and the build
system hence eventually tries to link against the old system library.
This issue is not seen often on Linux-based systems (since they don't
need to supply additional system library directories), but abundant on
others.
For instance, on macOS with MacPorts, LDFLAGS contains -L${prefix}/lib
(with /opt/local being the default prefix).
This leads to link calls such as these:
$LD ... -L${prefix}/lib ... -L../dependent_library -ldependent_library ...
which will, sadly, pick libdependent_library from ${prefix}/lib if the
software has been previously installed there.
Reordering both variables will lead to local library directories appear
earlier on the command line and hence have a higher priority, fixing the
issue.
2020-03-10 06:35:51 +01:00
59839af13c
Make use of -include again
...
OpenBSD make supports it now, so there's no need anymore to touch empty
deps files.
2020-02-19 00:52:12 +01:00
8a66174c54
Eliminate dependency generation step entirely
...
Instead, create an empty .dep file that is replaced with the actual
dependencies once the file is compiled.
2020-02-18 22:57:45 +01:00
c0b3a8bd35
Keep .dep files to avoid unnecessary regeneration
...
This prevents regenerating all dependencies even when only a single file
was changed, which can be prohibitively expensive.
2020-02-18 02:47:54 +01:00
966a80e855
Do not use - prefix to suppress errors
...
While this suppresses the errors, OpenBSD make still emits an error.
2018-11-10 11:55:29 +01:00
4a595a025e
Allow specifying start files for Amiga libraries
...
This has already been in ObjFW for a while.
2018-11-10 11:54:28 +01:00
4736b3c162
Install Amiga libraries
2018-05-06 04:15:51 +02:00
77f95cc9d8
Improve Amiga library support
2018-04-29 20:38:31 +02:00
3c3a971059
Replace MORPHOS_LIB with more generic AMIGA_LIB
2018-04-29 01:39:09 +02:00
a44616d977
Use OBJCXXFLAGS to generate deps for .mm
2018-03-11 00:06:17 +01:00
43a9c14622
Fall back to using no colors if tput is missing
2018-02-11 16:17:32 +01:00
517f3ac632
Unbreak building without shared
2018-02-10 12:41:00 +01:00
ec57014019
Make building .frameworks less noisy
2018-02-09 00:35:57 +01:00
3c08b8b64a
Copy Info.plist into .bundle, if it exists
2018-02-09 00:13:45 +01:00
9462fbe785
Remove deprecated -undefined dynamic_lookup
...
Instead, use ${PLUGIN_LDFLAGS_BUNDLE_LOADER} when building a .bundle,
which can then be set to -bundle_loader path_to_executable.
2018-02-07 23:38:16 +01:00
f4f8be325a
Build plugins as proper .bundles
2018-02-07 22:05:21 +01:00
4c0591c56f
Small cleanup
2018-02-07 21:14:57 +01:00
6b639af512
Use FRAMEWORK_LIBS instead of LIBS for .frameworks
...
This allows linking the framework against other frameworks rather than
other shared libs.
2018-01-21 22:45:44 +01:00
639eb974c9
Allow BUILDSYS_FRAMEWORK to take a code block
2018-01-21 20:00:25 +01:00
1ae4553a83
Update copyright
2018-01-21 19:39:34 +01:00
60c40342c4
Delete existing .framework before installing it
2018-01-20 20:11:26 +01:00
863de1adea
Automatically build and (un)install .frameworks
2018-01-20 17:47:44 +01:00
7add4e1c99
Fix using wrong .o files with Apple libtool
2018-01-20 00:16:11 +01:00
408f3121a3
Use Apple libtool if build and host are Darwin
...
This allows combining fat .a files.
2018-01-19 01:17:05 +01:00
d49633ffc4
Fix make install running several times
2017-10-29 03:25:24 +01:00
2f5e82f4a5
Do not extract .a files to link them in
...
This is only required to combine multiple .a files into one.
2017-10-25 00:07:16 +02:00
78aa912fc1
Check for codesign
2017-10-24 23:48:38 +02:00
d35a7f1bb8
Allow flags per source in addition to per object
2017-10-20 22:19:36 +02:00
16e662fb88
Sign framework after copying Info.plist
...
Otherwise the signature is wrong.
2017-10-20 00:21:09 +02:00
687567e857
Codesign frameworks
2017-10-19 23:44:18 +02:00
297bc60f00
Add support for building iOS frameworks
...
Those use a different install name than macOS frameworks.
2017-10-19 22:54:02 +02:00
d7a5ac12cd
Fix copying .framework headers into wrong dir
2017-10-17 00:48:01 +02:00
fcd2b51d19
Use module.modulemap instead of module.map
2017-10-15 22:50:28 +02:00
b7dfe42375
Do not use LIB_LDFLAGS for .frameworks
...
Instead, use FRAMEWORK_LDFLAGS.
2017-10-15 22:22:10 +02:00
77cbe02256
Include Info.plist in .framework
2017-10-15 21:32:24 +02:00
a14e5d7e93
Improve building .frameworks
...
* Recursively install framework headers, by adding and using a new
install-includes target.
* Install module.map if it exists.
* Don't include .framework in all target.
* Remove .frameworks with make clean.
2017-10-15 21:05:47 +02:00
b2a58d571d
Add support for building .frameworks
2017-10-15 19:50:58 +02:00
ed15fe408b
OpenBSD wants setaf * 0 0 on *-256color terms
2017-09-10 22:56:12 +02:00
1a884a9510
Properly clean for MorphOS libraries
2017-07-16 20:28:20 +02:00
1884d1beab
Add support for building MorphOS libraries
2017-07-08 22:10:28 +02:00
060bcd3202
Only use OBJCXXFLAGS and CPPFLAGS with OBJCXX
2017-04-18 01:50:21 +02:00
932a1fc478
Make sure we never end up with "for i in ;"
...
DJGPP's bash.exe bails out on this.
2017-01-16 03:53:23 +01:00
a4288737c4
Always use -Wl,--export-all-symbols for libs
...
While this should be the default, it seems it's not the default when
using Clang.
2017-01-08 00:07:32 +01:00
15b9bf12c6
Update copyright
2016-07-09 22:09:53 +02:00
61097f9d19
Don't match against androideabi*, but android*
...
On AArch64, it's just -android and not -androideabi.
2016-07-09 21:58:56 +02:00
953b1d1e78
Don't use ${MFLAGS} with ${MAKE}
...
gmake starts complaining about this starting with 4.2.
2016-07-03 21:03:27 +02:00
d9cf426fe1
Disable rpath for Android EABI
...
Android's dynamic linker does not support rpath and issues a warning
when starting a binary linked with rpath.
2016-06-27 18:07:09 +02:00
0b0ece0849
Add support for per-object flags
2015-03-24 23:31:03 +01:00
9407b955af
Move install name to new variable
2014-12-24 16:30:02 +01:00
8d95b6e820
Add print-hierarchy and print-var
2014-08-01 22:59:48 +02:00