| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
These are GCC-specific, so ensure they're only enabled when using
that compiler. Also, enable unwind table generation for gnueabi(hf)
hosts.
|
|
|
|
|
|
|
|
| |
all is the default target and must be the first one in the file.
The lib-shared component type violated this requirement by
declaring __postshared first. Move the __postshared target down
and declare it unconditionally (as it's safe to do so, and these
Makefiles are complex enough already).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PRE_TARGETS and POST_TARGETS are supposed to be built before and
after $(OBJECTS), respectively -- at least according to the comments
in Makefile.top:
# List of targets to run before building $(OBJECT)
PRE_TARGETS :=
# List of targets to run after building $(OBJECT)
POST_TARGETS :=
The default target however builds them at the same time as $(OUTPUT),
# Default target
all: $(PRE_TARGETS) $(OUTPUT) $(POST_TARGETS)
where $(OUTPUT) basically just builds $(OBJECTS):
$(OUTPUT): $(BUILDDIR)/stamp $(OBJECTS)
...
As a result, there is a race condition when $(OBJECTS) truly requires
$(PRE_TARGETS), because they may be built at the same time. The same
problem arises the other way around with $(POST_TARGETS). As a
demonstration, one can try to build the libsvgtiny shared library
directly (note: the details are platform-dependent),
$ BD=build-x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-release-lib-shared
$ make COMPONENT_TYPE=lib-shared "${BD}/libsvgtiny.so.0.1.7"
COMPILE: src/svgtiny.c
...
src/svgtiny.c:24:10: fatal error: autogenerated_colors.c: No such file or directory
24 | #include "autogenerated_colors.c"
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
This is because $(PRE_TARGETS) is not satisfied. In practice, this
condition seems hard to hit unintentionally, but it can happen if you
are building in parallel and extemely unlucky. A user discovered it in
Gentoo bug 711200.
The fix simply adds the stated dependencies on $(OBJECTS) and
$(POST_TARGETS) to guarantee the correct order.
|
|
|
|
|
|
|
|
|
| |
On Darwin (macOS), the flags needed to create a shared
library are different. Moreover, the extension is .dylib
and the version portion of the soname is inserted between
the library name and the libext, e.g. lifoo.1.2.3.dylib.
Signed-off-by: Caleb Xu <calebcenter@live.com>
|
|
|
|
|
| |
The former is soft-float ABI and Risc PC compatible ARMv4.
The latter is hard-float ABI and ARMv7.
|
|
|
|
|
| |
The new toolchain has a different machine triplet, so update the
things that care about it to work either way.
|
|
|
|
| |
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
|
|
| |
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
|
|
| |
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
| |
|
|
|
|
| |
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The recent buildsystem improvements now use BUILD and HOST to set the
ABI of the system doing the building and the ABI being
targeted. Unfortunately we got these the wrong way round, this fixes
that confusion.
|
|
|
|
|
|
|
|
| |
This adds REQUIRED_LIBS variable which is a space separated list of
libraries that will be macro expanded into LIBRARIES in pkg-config
install target. This is typically used in the "Libs:" stanza for
additional (possibly conditional) libraries necessary to link the
final program.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Linux distributions typically put 64-bit libraries into /usr/lib64 to
allow coexistence of 32-bit and 64-bit libraries on one system. The
build system should make allowance for this.
Signed-off-by: John-Mark Bell <jmb@netsurf-browser.org>
|
| |
|
|
|
|
| |
recent git tag
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
found
svn path=/trunk/tools/buildsystem/; revision=14000
|
|
|
|
|
|
| |
root of everything
svn path=/trunk/tools/buildsystem/; revision=13997
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13996
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13986
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13963
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13919
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13918
|
|
|
|
|
|
| |
distributor name as first word
svn path=/trunk/tools/buildsystem/; revision=13738
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13413
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13368
|
|
|
|
| |
svn path=/trunk/tools/buildsystem/; revision=13345
|