Commit Graph

67 Commits (ed663cf0e5ad6ef621d822c1860dc86feb3e47c9)

Author SHA1 Message Date
Ariadne Conill f593205e95 build: disable ARM hard float support by default
ci/woodpecker/push/woodpecker Pipeline was successful Details
It appears to be broken.
2024-08-07 20:06:26 -07:00
Ariadne Conill 1a2dff93e7 build: migrate to _DEFAULT_SOURCE
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-07 17:54:35 -07:00
L. Pereira 7badd2d5b2 Set _XOPEN_SOURCE when building on Darwin
ci/woodpecker/push/woodpecker Pipeline was successful Details
On non-freestanding builds, including <ucontext.h> on an ARM Darwin
system will produce the following error:

  In file included from include/libucontext/bits.h:6:
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/
	usr/include/ucontext.h:51:2: error: The deprecated
	ucontext routines require _XOPEN_SOURCE to be defined

Defining this macro on Darwin systems will make the building pass.
2024-08-07 17:49:36 -07:00
Jim Hauxwell 4975ba9051 fix file copy
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-08-07 17:48:29 -07:00
Jim Hauxwell b3cbfd9c1a fix parallel build for makefile
The copy for bits.h ran in parallel with the initial CC.  sometimes on
CI the build would fail as the file had not arrived by the time
needed.  Fix matches meson build process.
2024-08-07 17:48:29 -07:00
L. Pereira 0f625a86ee Fix FREESTANDING install target
When installing a FREESTANDING build, the check for an empty variable
was not being honored because the empty string would evaluate to
nothing.  Put the variable expansion in quotes so that we have an empty
string instead.
2023-05-18 18:10:01 -07:00
Ismael Luceno 8e1397f5a2 Makefile: Make variables Automake-compatible
Also split libdir into shared and static variants to enable installing to
different locations.

Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
2023-05-18 18:08:07 -07:00
Richard Campbell 9abcd8afe0 Added passthrough of FORCE_SOFT_FLOAT and FORCE_HARD_FLOAT Makefile options 2022-03-04 10:40:30 -08:00
Ariadne Conill e26a93806e build: allow check_libucontext program to be run on its own like the other check steps
continuous-integration/woodpecker the build was successful Details
2022-02-13 08:54:34 +00:00
Ariadne Conill 5d2f30f96a build: check_libucontext_posix must depend on ${LIBUCONTEXT_SONAME} 2022-02-13 08:53:45 +00:00
Ariadne Conill a5ed584aa8 build: ensure libucontext_posix.so.1 is cleaned up
continuous-integration/woodpecker the build was successful Details
2022-02-13 07:18:19 +00:00
Ariadne Conill 9403b481bc build: use CPPFLAGS instead of CFLAGS for FREESTANDING/EXPORT_UNPREFIXED 2022-02-13 06:25:47 +00:00
Ariadne Conill 2c0c0e5d29 build: only set default CFLAGS if there are none already set 2022-02-13 06:25:11 +00:00
Ariadne Conill c8fe721e69 build: fix linking of libucontext_posix against libucontext 2022-02-13 06:19:47 +00:00
Ariadne Conill c50182d98c build: disable executable stacks 2022-02-13 06:11:37 +00:00
Ariadne Conill 55c91428ba build: use -shared correctly instead of as linker flag
continuous-integration/woodpecker the build was successful Details
2021-12-18 16:54:17 +00:00
Torrekie Gen 6ddefbbbb4
Allow building on Darwin/arm64
Changes:
1. `-soname` should be `-install_name` on Darwin
2. Version suffix should placed before extension suffix (libucontext.so.1 -> libucontext.1.dylib)
3. Check for architecture specific include directory, and include it while building
4. `EXPORT_UNPREFIXED` macro shouldn't be set since Darwin don't support aliases
5. Choose correct subdir for arm64
6. Use `-dynamiclib` instead of `-shared` on Darwin for adding version info (`-current_version` and `-compatibility_version`)
2021-11-13 19:10:25 +08:00
osy f3e1b876c7 project: move freestanding include headers
This is needed because in libucontext.h we include "libucontext/bits.h".
We therefore need to have bits.h in somepath/libucontext/bits.h. In the
Makefile, somepath/freestanding/bits.h was copied to the right path but
in the meson build system, the include copy happens at the end.
2021-03-08 13:02:27 -08:00
Leandro Pereira 7823593b6f Fix ARCH deduction on armv7l when using Makefiles
The Makefile on ARMv7l devices (e.g. Raspberry Pi 400 running the
stock Raspbian distro) was failing to deduct the architecture and
empty libraries were being built as a result.  Building with Meson
works fine; only building with make generated empty libraries.

Add an override for armv7l -> arm in the Makefile to address this.
2021-02-05 08:46:38 -08:00
Ariadne Conill 7df60a2504 build: fix install of libucontext_posix.a 2021-01-09 01:00:05 -07:00
Ariadne Conill 63b15f130a set SOVERSION to 1 where appropriate 2021-01-09 00:55:58 -07:00
Ariadne Conill 3064ad6dbc build: use head -n1 when reading VERSION 2021-01-08 03:12:33 -07:00
osy 9983d136af build: move version number to file 2021-01-08 03:11:47 -07:00
osy d31c95a11a build: remove -DLIBUCONTEXT_ASSEMBLY
Meson does not support separate defines for .S compile.
2021-01-08 03:11:25 -07:00
Ariadne Conill 78e880a29f test POSIX ABI compatibility in libucontext itself, too 2021-01-08 02:37:47 -07:00
Daniel Kolesa 03927d4c4c build: depend on headers for the static target
this fixes static-only build, i.e. "make libucontext.a"
2021-01-08 03:01:32 +01:00
Ariadne Conill c986ba340e build: use ARCH=ppc64 by default on ppc64le 2020-12-12 06:46:08 +00:00
Ariadne Conill a6a64b0711 build: fix test_libucontext_posix linkage 2020-12-12 06:37:31 +00:00
Ariadne Conill da3c8d170f sh: add remaining port files 2020-12-11 23:18:04 +00:00
Ariadne Conill de399ebdbf build: override ARCH to sh on sh4 systems 2020-12-11 12:09:59 +00:00
Ariadne Conill 04b5520a61 build: build test_libucontext_posix program 2020-12-09 01:39:54 +00:00
Ariadne Conill 2688747f8a build: make and install libucontext_posix 2020-12-08 18:29:21 -07:00
Ariadne Conill 045e622971 libucontext 0.13.1. 2020-12-08 03:49:52 -07:00
Ömer Faruk IRMAK f2f46569e7 .pc file should be installed under PKGCONFIGDIR 2020-12-08 12:18:01 +03:00
Ariadne Conill f0b5c0f7e1 libucontext 0.13. 2020-12-07 18:29:54 -07:00
Ariadne Conill 5cf38aeae8 build: add dist/distcheck 2020-12-07 18:28:02 -07:00
Ariadne Conill d64931ad4f build: add install_docs target 2020-12-07 18:19:37 -07:00
Ariadne Conill cc2b4da24a add cooperative threading example 2020-12-07 18:15:18 -07:00
Ariadne Conill a52354e640 build: add docs target 2020-12-07 18:14:51 -07:00
Ariadne Conill da736b6add ppc64: chase API changes related to freestanding stuff
freestanding is however NOT supported here
2020-12-06 12:23:09 +00:00
Ariadne Conill 794b4f92aa build: generate libucontext pkg-config file 2020-12-06 04:10:14 -06:00
Ariadne Conill 74121dfe75 build: install generated headers 2020-12-06 04:01:26 -06:00
Ariadne Conill ef632da18f build: regenerate libucontext/bits.h as needed 2020-12-06 03:40:27 -06:00
Ariadne Conill 0953d71ed1 build: fill in more details for freestanding builds 2020-12-06 03:31:48 -06:00
Ariadne Conill 11468c3e54 build: assemble with -DLIBUCONTEXT_ASSEMBLY 2020-12-06 03:17:36 -06:00
Ariadne Conill d44eba0b22 build: add support for freestanding builds 2020-12-06 03:10:04 -06:00
Ariadne Conill fe19127c66 build: add support for EXPORT_UNPREFIXED=no
In an EXPORT_UNPREFIXED=no build, getcontext/makecontext/setcontext/swapcontext
symbols are not provided.
2020-12-06 02:54:01 -06:00
Ariadne Conill 02470ccdd8 build: split CFLAGS/CPPFLAGS correctly 2020-12-03 18:24:08 -07:00
Khem Raj e2178de76a Makefile: Add LIBDIR variable
This ensures that it can be installed into custom location and also

Upstream-Status: Submitted
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-30 08:21:52 +00:00
Ariadne Conill 8536f1fa3b makefile: add include path for arch/common 2020-03-29 13:46:19 +00:00