summaryrefslogtreecommitdiff
path: root/makefiles
Commit message (Collapse)AuthorAgeFilesLines
* RISC OS: push backtrace extensions into Makefile.gccJohn-Mark Bell2023-12-182-4/+17
| | | | | | These are GCC-specific, so ensure they're only enabled when using that compiler. Also, enable unwind table generation for gnueabi(hf) hosts.
* makefiles: move __postshared after allJohn-Mark Bell2023-09-171-4/+4
| | | | | | | | 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).
* makefiles/Makefile.top: dependencies for PRE_ and POST_TARGETSMichael Orlitzky2023-09-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* makefiles: support building shared libs on DarwinCaleb Xu2023-09-164-6/+27
| | | | | | | | | 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>
* RISC OS: support gnueabi as well as gnueabihfJohn-Mark Bell2022-11-031-2/+5
| | | | | The former is soft-float ABI and Risc PC compatible ARMv4. The latter is hard-float ABI and ARMv7.
* Tweak RISC OS host detection for new tooling.John-Mark Bell2022-06-021-4/+11
| | | | | The new toolchain has a different machine triplet, so update the things that care about it to work either way.
* makefiles: Use install -C by defaultDaniel Silverstone2020-10-021-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* makefiles: Detect NS_ENV_CC and use that if setDaniel Silverstone2020-05-221-6/+11
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Makefiles: Add -DSTMTEXPR=1 for gcc compatible toolchainsDaniel Silverstone2020-03-263-3/+3
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Fix extracting the toolchain prefix for non netsurf toolchainsVincent Sanders2019-10-031-1/+1
|
* Makefile.tools: Notice `lcc` and pretend it's `gcc`Daniel Silverstone2019-08-011-0/+5
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Set extra CFLAGS for Amiga m68k build to improve performanceChris Young2019-07-281-0/+4
|
* ensure fedora gcc gives us all the version infoVincent Sanders2018-10-042-2/+2
|
* Enable sanitize target for new gccs and clangDaniel Silverstone2018-07-284-0/+47
|
* Update tooling to use MACPorts library pathsVincent Sanders2016-02-081-0/+7
|
* cope with Apple clang versionVincent Sanders2016-02-061-0/+4
|
* Update documentation generationVincent Sanders2015-06-242-4/+8
|
* Add support for INCLUDEDIR in pkg-config files.Adrien Destugues2015-03-212-0/+6
|
* add freebsd to buildsystem toolingVincent Sanders2014-12-211-0/+8
|
* Fix BUILD/HOST confusionVincent Sanders2014-12-195-39/+44
| | | | | | | 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.
* Update the pkg-config installation macro for library substitutionVincent Sanders2014-11-271-1/+5
| | | | | | | | 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.
* Only set CC__ if we're cross compilingJohn-Mark Bell2014-11-161-3/+2
|
* Do not guess identity of CC for native buildsJohn-Mark Bell2014-11-161-5/+10
|
* Migrate to target tripletsJohn-Mark Bell2014-11-165-283/+114
|
* spell bison correctlyVincent Sanders2014-05-021-1/+1
|
* add tooling support for OpenBSDVincent Sanders2014-05-011-0/+15
|
* add support for multilibrelease/1.1David Tardon2014-01-132-0/+6
| | | | | | | | 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>
* fix tag pattern to release/* so we can match by git refspecrelease/1.0Vincent Sanders2013-04-191-2/+2
|
* Add a dist target to generate source distribution tarballs from the most ↵Vincent Sanders2013-04-191-0/+17
| | | | recent git tag
* Add backslashJohn-Mark Bell2012-10-241-1/+1
|
* Install binaries with correct permissions.John-Mark Bell2012-10-241-4/+20
|
* add coldfire atariVincent Sanders2012-10-131-0/+22
|
* use more portable ccache detectionVincent Sanders2012-08-201-1/+1
|
* add ccache supportVincent Sanders2012-08-201-3/+12
|
* stop amiga target referring to mingw install environmentVincent Sanders2012-07-231-1/+1
|
* update windows buildtools to use our mingw toolchain buildVincent Sanders2012-07-231-9/+29
|
* Add env to Atari GCCSDK_INSTALL_ENV.John-Mark Bell2012-07-091-1/+1
|
* Addiditons by John-Mark-Bellmono/atari-supportOle Loots2012-07-091-16/+12
|
* Added atari TARGET and m68k-atari-mint cross-compiler support.Ole Loots2012-07-031-0/+45
|
* Use patsubst to ensure trailing / get removed from dirs, so testtools can be ↵Daniel Silverstone2012-06-291-2/+2
| | | | | | found svn path=/trunk/tools/buildsystem/; revision=14000
* Allow Makefile.tools to find the test tools etc, and use NSSHARED as the ↵Daniel Silverstone2012-06-291-1/+3
| | | | | | root of everything svn path=/trunk/tools/buildsystem/; revision=13997
* Initial rework to have Makefile.tools find itself and set NSBUILDDaniel Silverstone2012-06-291-2/+8
| | | | svn path=/trunk/tools/buildsystem/; revision=13996
* clang supports gcc's __attribute__((aligned))Rob Kendrick2012-06-251-1/+1
| | | | svn path=/trunk/tools/buildsystem/; revision=13986
* Add experimental support for building with Open64Rob Kendrick2012-06-132-0/+72
| | | | svn path=/trunk/tools/buildsystem/; revision=13963
* Add accessor for pkg-config variablesJohn Mark Bell2012-05-121-0/+12
| | | | svn path=/trunk/tools/buildsystem/; revision=13919
* Fix package version extraction. Nothing appears to use this right now.John Mark Bell2012-05-121-1/+1
| | | | svn path=/trunk/tools/buildsystem/; revision=13918
* Make compatible with newer clang version output which can include ↵Rob Kendrick2012-03-271-5/+4
| | | | | | distributor name as first word svn path=/trunk/tools/buildsystem/; revision=13738
* Remove -N from AmigaOS ldflagsJohn Mark Bell2012-01-291-3/+0
| | | | svn path=/trunk/tools/buildsystem/; revision=13413
* Add -N to LDFLAGS for AmigaOS native and cross compilationJohn Mark Bell2012-01-021-1/+4
| | | | svn path=/trunk/tools/buildsystem/; revision=13368
* Add -N to amiga LDFLAGSJohn Mark Bell2011-12-241-1/+1
| | | | svn path=/trunk/tools/buildsystem/; revision=13345